프록시 서버 구축(Proxy Server)

CODEDRAGON Security/Linux

반응형


 

LAB 1: squid 패키지 설치

TODO : 패키지 설치 확인하기

[root@localhost ~]# rpm -qa | grep squid

[root@localhost ~]#

현재 squid가 설치되어 있지 않습니다.

 

 

TODO : 패키지 설치하기

yum install squid or dnf install squid

[root@localhost ~]# yum install squid

Yum command has been deprecated, redirecting to '/usr/bin/dnf install squid'.

See 'man dnf' and 'man yum2dnf' for more information.

To transfer transaction metadata from yum to DNF, run:

'dnf install python-dnf-plugins-extras-migrate && dnf-2 migrate'

 

Fedora 23 - x86_64                              3.3 MB/s |  43 MB     00:12   

Fedora 23 - x86_64 - Updates                    2.3 MB/s |  22 MB     00:09   

Last metadata expiration check performed 0:00:08 ago on Thu May 12 19:53:06 2016.

Dependencies resolved.

================================================================================

 Package                     Arch       Version               Repository   Size

================================================================================

Installing:

 libecap                     x86_64     1.0.0-3.fc23          fedora       25 k

 perl-Crypt-OpenSSL-X509     x86_64     1.806-3.fc23          fedora       40 k

 perl-DBI                    x86_64     1.633-6.fc23          fedora      727 k

 perl-Digest                 noarch     1.17-346.fc23         fedora       26 k

 perl-Digest-MD5             x86_64     2.54-346.fc23         fedora       35 k

 perl-IO-Socket-IP           noarch     0.37-347.fc23         fedora       45 k

 perl-Math-BigInt            noarch     1.9997-349.fc23       fedora      188 k

 perl-libnet                 noarch     3.07-1.fc23           fedora      126 k

 squid                       x86_64     7:3.5.9-7.fc23        updates     3.2 M

 

Transaction Summary

================================================================================

Install  9 Packages

 

Total download size: 4.4 M

Installed size: 13 M

Is this ok [y/N]: y

Downloading Packages:

(1/9): perl-Crypt-OpenSSL-X509-1.806-3.fc23.x86 8.5 kB/s |  40 kB     00:04   

(2/9): perl-DBI-1.633-6.fc23.x86_64.rpm         883 kB/s | 727 kB     00:00   

(3/9): perl-libnet-3.07-1.fc23.noarch.rpm       172 kB/s | 126 kB     00:00   

(4/9): squid-3.5.9-7.fc23.x86_64.rpm            476 kB/s | 3.2 MB     00:06   

(5/9): perl-Math-BigInt-1.9997-349.fc23.noarch. 256 kB/s | 188 kB     00:00   

(6/9): perl-IO-Socket-IP-0.37-347.fc23.noarch.r  86 kB/s |  45 kB     00:00   

(7/9): libecap-1.0.0-3.fc23.x86_64.rpm          3.3 kB/s |  25 kB     00:07   

(8/9): perl-Digest-1.17-346.fc23.noarch.rpm      34 kB/s |  26 kB     00:00   

(9/9): perl-Digest-MD5-2.54-346.fc23.x86_64.rpm  25 kB/s |  35 kB     00:01   

--------------------------------------------------------------------------------

Total                                           413 kB/s | 4.4 MB     00:10    

Running transaction check

Transaction check succeeded.

Running transaction test

Transaction test succeeded.

Running transaction

  Installing  : perl-Digest-1.17-346.fc23.noarch                            1/9

  Installing  : perl-Digest-MD5-2.54-346.fc23.x86_64                        2/9

  Installing  : perl-IO-Socket-IP-0.37-347.fc23.noarch                      3/9

  Installing  : perl-libnet-3.07-1.fc23.noarch                              4/9

  Installing  : perl-Math-BigInt-1.9997-349.fc23.noarch                     5/9

  Installing  : perl-DBI-1.633-6.fc23.x86_64                                6/9

  Installing  : perl-Crypt-OpenSSL-X509-1.806-3.fc23.x86_64                 7/9

  Installing  : libecap-1.0.0-3.fc23.x86_64                                 8/9

  Installing  : squid-7:3.5.9-7.fc23.x86_64                                 9/9

  Verifying   : squid-7:3.5.9-7.fc23.x86_64                                 1/9

  Verifying   : libecap-1.0.0-3.fc23.x86_64                                 2/9

  Verifying   : perl-Crypt-OpenSSL-X509-1.806-3.fc23.x86_64                 3/9

  Verifying   : perl-DBI-1.633-6.fc23.x86_64                                4/9

  Verifying   : perl-libnet-3.07-1.fc23.noarch                              5/9

  Verifying   : perl-Math-BigInt-1.9997-349.fc23.noarch                     6/9

  Verifying   : perl-Digest-MD5-2.54-346.fc23.x86_64                        7/9

  Verifying   : perl-IO-Socket-IP-0.37-347.fc23.noarch                      8/9

  Verifying   : perl-Digest-1.17-346.fc23.noarch                            9/9

 

Installed:

  libecap.x86_64 1.0.0-3.fc23                                                  

  perl-Crypt-OpenSSL-X509.x86_64 1.806-3.fc23                                   

  perl-DBI.x86_64 1.633-6.fc23                                                 

  perl-Digest.noarch 1.17-346.fc23                                             

  perl-Digest-MD5.x86_64 2.54-346.fc23                                          

  perl-IO-Socket-IP.noarch 0.37-347.fc23                                       

  perl-Math-BigInt.noarch 1.9997-349.fc23                                      

  perl-libnet.noarch 3.07-1.fc23                                                

  squid.x86_64 7:3.5.9-7.fc23                                                  

 

Complete!

[root@localhost ~]#

 

TODO : 패키지 설치 확인하기

[root@localhost ~]# rpm -qa | grep squid

squid-3.5.9-7.fc23.x86_64

[root@localhost ~]#

 

 

LAB 2 : 프록시 서버 설정 파일 수정

squid 설치가 완료되면 설정 파일을 수정해야 합니다.

 

TODO : 설정 파일을 수정

[root@localhost ~]# vi /etc/squid/squid.conf

[root@localhost ~]#


 

http, ftp등등 여러가지 서비승의 캐싱역할을 수행할 수 있습니다.

 

TODO : 26번 라인에 한 라인을 추가합니다.

acl fedoranet src 192.168.22.0/255.255.255.0


fedoranet이라는 이름으로 192.168.122.0네트워크에 대해 프록시 서버를 사용할 수 있게 설정하는 구문입니다.

 

TODO : 55번 라인에 한 라인 추가

 http_access allow fedoranet


fedoranet이 설정된 네트워크가 http접근이 허용되도록 설정하는 구문입니다.

 

TODO : 61번 라인에서 포트 번호 확인

http_port 3128


3128 포트 번호를 다른 번호로도 변경가능합니다.

 

 

TODO : 가장 마지막라인에 한 라인 추가

 visible_hostname fedoranet


fedoranet네트워크가 외부에 보일 수 있도록 허영해 주는 구문입니다.

 

 

TODO : 저장 후 vi편집기 종료

 

 

TODO : squid 프록시 서비스 시작

[root@localhost ~]# systemctl start squid

[root@localhost ~]#

 

 

TODO : 부팅시 자동 실행되도록 설정하기

[root@localhost ~]# systemctl enable squid

Created symlink from /etc/systemd/system/multi-user.target.wants/squid.service to /usr/lib/systemd/system/squid.service.

[root@localhost ~]# systemctl list-unit-files | grep squid

squid.service                               enabled

[root@localhost ~]#

squid 서비스가 enabled되어 있는 것을 확인할 수 있습니다.

 

 

 

LAB : Firefox에서 프록시 테스트하기

TODO : 프록시 설정하기

Firefox 메뉴: [편집] >> [환경 설정] >> [고급] >> [네트워크] >> [설정…]


 

[프록시 수동 설정] 선택 >> 아래 항목 설정 >> [확인]

HTTP 프록시:

현재 리눅스 서버의 IP

포트:

3128

모든 프로토콜에 위의 프록시 설정 사용

체크


 

 

TODO : 웹 브라우저로 웹 서핑해 보기


웹 서핑이 잘 됩니다.

 

 

프록시 서버를 중지 시키고 웹 서핑 해보기

TODO : 프록시 서버를 중지시키기

[root@localhost ~]# systemctl stop squid

[root@localhost ~]#

 

TODO : 웹 브라우저로 웹 서핑해 보기


"프록시 서버가 연결을 거부함"메시지가 나옵니다.

테스트를 통해 프록시 서버가 잘 동작되고 있음을 확인할 수 있습니다.

 

TODO : squid 프록시 서버 재 시작

[root@localhost ~]# systemctl start squid

[root@localhost ~]#

 

 

LAB : 인터넷익스플로러에서 프록시 테스트하기

TODO : 프록시 설정하기

IE 메뉴: [도구] >> [인터넷 옵션] >> [연결] >> [LAN 설정]


 

아래와 같이 설정 후 >> [확인]

사용자 LAN에 프록시 서버 사용(이 설정은 전화 연결이나 VPN연결에는 적용되지 않음)

체크

주소:

192.168.122.136

포트:

3128


 

 

TODO : 웹 브라우저로 웹 서핑해 보기


웹 서핑이 잘 됩니다.

 

 

 

프록시 서버를 중지 시키고 웹 서핑 해보기

TODO : 프록시 서버를 중지시키기

[root@localhost ~]# systemctl stop squid

[root@localhost ~]#

 

 

TODO : 웹 브라우저로 웹 서핑해 보기


"프록시 서버가 응답하지 않습니다."라는 메시지가 출력됩니다.

테스트를 통해 프록시 서버가 잘 동작되고 있음을 확인할 수 있습니다.