[pfSense] pfSense Squid를 이용한 도메인 접근 통제




pfSense 방화벽에서 제공하는 Squid 패키지를 이용하여 도메인별 인터넷 접근 통제를 할 수 있는 환경 구성 방법을 정리합니다.


Squid 패키지 설치

Squid 패키지를 검색하고 패키지를 설치합니다.

System > Package Manager를 접근합니다.

Available Packages에서 squid를 검색하고 squid 패키지를 설치합니다.

‘Install’을 선택합니다.

‘Confirm’을 선택 합니다.

Squid 패키지 설치가 완료됩니다.


Squid Proxy Server 설정

Services > Squid Proxy Server 메뉴를 접근합니다.


Proxy Server: General Settings

General 설정을 진행합니다.

  • Enable Squid Proxy : check
  • Proxy Interface(s) : LAN
  • Proxy Port : 3128
  • Resolve DNS IPv4 First : check
  • Transparent HTTP Proxy : check
  • Transparent Proxy Interface(s) : LAN
  • Transparent Proxy Interface(s) : check
  • Enable Access Logging : check
  • Log Store Directory : /var/squid/logs
  • Rotate Logs : 30

‘Save’를 선택합니다.


Proxy Server: Access Control

Access Control 설정을 진행합니다.

  • Whitelist : jackerlab.com, google.com

Whitelist 설정에서 허용할 도메인을 작성합니다.

다수의 도메인/IP의 경우 행을 나눠서 여러 개 작성 가능합니다.

테스트로 2개 사이트만 허용 설정합니다.

‘Save’를 선택합니다.


Firewall Rule 설정

Squid 접근 허용 방화벽 룰을 설정합니다.

Firewll > Rules 메뉴를 접근합니다.

‘Add’ 버튼을 선택합니다.

  • Source : 192.168.1.101
    • Squid 프록시에 접속할 하위 Client IP
  • Destination : 192.168.1.1
    • Squid 프록시 IP (pfSense 방화벽 IP)
  • Destination Port Range : 3128 ~ 3128
  • Log : check

‘Save’ 를 선택합니다.

‘Apply Changes’ 버튼을 선택합니다.


Squid를 통한 도메인 통제 테스트

하위 Client(PC)에서 프록시 설정을 합니다.

해당 테스트는 Ubuntu OS에서 진행하였습니다.

Proxy 설정

  • Proxy IP : 192.168.1.1
  • Proxy Port : 3128

인터넷 접속 테스트

jackerlab.com 접근

jackerlab.com 사이트는 정상적으로 접근되고 애드센스 사이트는 허용되지 않았기 때문에 사이트 로드가 되지 않는 것이 확 인됩니다.

google.com 접근

google.com 사이트는 정상적으로 접속 되는 것으로 확인됩니다.

naver.com 접근

naver.com 사이트는 접근이 차단 되는 것이 확인됩니다.


Squid 로그

Squid 로그는 Real Time 탭 메뉴에서 확인할 수 있습니다.

  • jackerlab.com 사이트는 정상적으로 허용
  • googleads… 사이트(애드센스)는 정상적으로 차단

테스트한 내용에 대하여 정상적으로 허용/차단 된 로그를 확인 할 수 있습니다.


마치며

pfSense에서 제공하는 Squid 패키지의 Proxy 기능을 사용하면 Client의 인터넷 접근을 도메인별로 통제할 수 있겠습니다.

다만 공식 문서에서는 보안 취약점이 많기 때문에 Squid를 사용하지 않는다고 나와 있습니다.

실제 서비스 적용 및 사용 시, 해당 이슈에 대한 추가적인 검토가 필요할 것으로 판단됩니다.


참고자료

  • https://docs.netgate.com/pfsense/en/latest/packages/cache-proxy/tune.html




Leave a Comment