본문으로 바로가기

우분투 리눅스 프록시 서버 구축하기

category 유용한 정보 2017. 10. 26. 22:23

안녕하세요. 메타로그 입니다.

이번 포스팅은 우분투 리눅스(Ubuntu Linux) OS를 이용하여 프록시 서버(Proxy Server)를 구축하는 포스팅을 하려고 합니다.


  갑자기 프록시 서버를 구축하게 된 계기

1. 회사에서 보안 강화를 위해 방화벽을 도입하며 메신저를 차단

2. 카카오톡 PC버전에서 프록시 설정 가능

3. 무료 프록시 서버 제공자를 신뢰 할 수 없음


위의 3가지 사유로 인하여 프록시 서버(Proxy Server)를 구축하게 되었습니다. 

프록시 서버 구축은 구글 클라우드 플랫폼(Google Cloud Platform)의 무료 크래딧을 통해 저렴한 우분투 리눅스 VM 인스턴스를 생성하였으며 프록시 서버는 오픈소스인 Squid를 설치하였습니다.




  구축 환경

Server : Google Cloud Platform 

OS : Ubuntu 16.04 LTS

Proxy Server : Squid


  명령어

sudo apt-get update

sudo apt-get upgrade

sudo apt-get install squid3

sudo vi /etc/squid/squid.conf


squid.conf 문서의 1000번째 라인 정도 지나면 아래와 같은 설정이 나오는데 주석처리, 추가, 변경으로 해준다.

(vi 명령어 중 :set number 를 입력하면 line 번호가 나온다.)


 #http_access allow manager localhost <- 맨 앞에 #으로 주석처리

 #http_access deny manager <- 맨 앞에 #으로 주석처리

 http_access allow all <- 바로 아래 추가

 http_port 8080 <- 디폴트 값이 3128인데 8080으로 변경


sudo service squid restart <- Squid 서비스 재시작


  구글 클라우드 방화벽 설정

프록시 서버 포트로 8080 을 지정하였기 때문에 8080을 허용해주어야 합니다.

구글 클라우드 플랫폼 방화벽


아래 사진은 소스 필터(출발지 IP)가 0.0.0.0/0(any)입니다. 하지만 any로 허용(allow)하면 아무나 접속하여 사용 가능하기 때문에 가능하다면 소스 필터(출발지 IP)를 지정하여 사용 하시기 바랍니다.

구글 클라우드 플랫폼 방화벽 추가


프록시 서버 운영시 주의사항


해당 포스팅은 쉽게 설명하기 위해서 자주 사용하는 8080포트와 구글 클라우드 방화벽에서 소스 필터(출발지 IP)를 Any로(0.0.0.0/0)으로 설정하였으나, 이와 같이 설정한다면 모두에게 공개됨으로 보안에 매우 취약합니다.


본인만 사용하기 위해선 프록시 서버 포트를 잘 알려지지 않은 포트로 설정하고 구글 클라우드 방화벽에서 소스 필터 IP를 제한 한다면 보다 안전하게 사용 가능합니다.