이번 사례는 Radius 기반의 인증을 통한 FTP접속 허용하는 것에 대해서 살펴보도록 하 겠다. FTP 서버는 내부 네트웍의 IP address 10.0.0.99를 갖는 서버로서 외부의 파트 너(200.200.200.0 네트웍)에서는 192.150.50.8로 접속할 수 있다.
네트웍 요구 사항
-“Basic” 과정에서 수행했던 요구사항과 동일 - 협력업체의 네트웍(200.200.200.0)에서 내부 네트웍의 FTP 서버(10.0.0.99)로 FTP 만 허용
그림 3. 네트웍 구성도 – 인증
Configuration Code Snapshot PIX Version 4.2(0)205 Betanameif ethernet0 outside security0 nameif ethernet1 inside security100 nameif ethernet2 dmz security50 enable password 8Ry2YjIyt7RRXU24 encrypted passwd 2KFQnbNIdI.2KYOU encrypted hostname pixfirewall fixup protocol ftp 21 fixup protocol http 80 fixup protocol h323 1720 fixup protocol rsh 514 fixup protocol smtp 25 fixup protocol sqlnet 1521 no failover failover ip address outside 0.0.0.0 failover ip address inside 0.0.0.0 names pager lines 24 syslog output 20.7 no syslog console syslog host inside 10.0.0.100 interface ethernet0 auto interface ethernet1 auto interface ethernet2 auto ip address outside 192.150.50.3 255.255.255.0 ip address inside 10.0.0.3 255.0.0.0 ip address dmz 192.168.0.1 255.255.255.0 arp timeout 14400 global (outside) 1 192.150.50.10-192.150.50.252 netmask 255.255.255.0 nat (inside) 1 10.0.0.0 255.0.0.0 0 0 nat (dmz) 1 192.168.0.0 255.255.255.0 0 0 static (dmz,outside) 192.150.50.9 192.168.0.2 netmask 255.255.255.255 0 0 static (inside,dmz) 10.0.0.0 10.0.0.0 netmask 255.0.0.0 0 0 static (inside,outside) 192.150.50.8 10.0.0.99 netmask 255.255.255.255 0 0 conduit permit tcp host 192.150.50.9 eq www any conduit permit tcp host 192.150.50.8 eq ftp 200.200.200.0 255.255.255.0 conduit permit icmp host 192.150.50.8 any conduit permit icmp host 192.150.50.9 any age 10 no rip outside passive no rip outside default no rip inside passive no rip inside default no rip dmz passive no rip dmz default route outside 0.0.0.0 0.0.0.0 192.150.50.1 1 timeout xlate 24:00:00 conn 12:00:00 udp 0:02:00 timeout rpc 0:10:00 h323 0:05:00 uauth 0:05:00 radius-server host 10.0.0.100 abcdef timeout 5 aaa authentication ftp inbound 10.0.0.99 255.255.255.255 200.200.200.0 255.255.255.0 radius snmp-server host outside 0.0.0.0 no snmp-server location no snmp-server contact snmp-server community public snmp-server syslog disable snmp-server log_level 5 mtu outside 1500 mtu inside 1500 mtu dmz 1500 Cryptochecksum:921ac2a721ef50f3109ebe7ee03fb2cb : end [OK] pixfirewall(config)#
요구사항 구현
radius-server host 10.0.0.100 abcdef timeout 5 RADIUS server의 IP address는 10.0.0.100이다. PIX 방화벽과 RADIUS 서버간의 모든 통신 "abcdef" key 방식으로 암호화된다. aaa authentication ftp inbound 10.0.0.99 255.255.255.255 200.200.200.0 255.255.255.0 radius 아래의 조건에 해당하는 항목이 있으면, 인증과정을 시작한다. (사용자 이름과 암호 를 기입하고 RADIUS 서버로 해당 정보를 보낸다)
- 외부에서 내부로 들어오는 패킷 - FTP 접속을 요청하는 패킷 - source address가 200.200.200.xx 인 패킷 - destination address가 192.150.50.8인 패킷(static명령을 사용해서 192.150.50.8 을 10.0.0.99 매핑시킴)
억세스 리스트 Access List
이번 사례는 억세스 리스트를 사용해서 외부로 나가는 패킷을 제한하는 것에 대해서 살펴보도록 하겠다. 인터넷을 향하는 모든 내부 트래픽은 DMZ내의 프록시 서버로 보내 도록 한다.
네트웍 요구 사항
- “Basic”과정에서 수행했던 모든 요구사항과 동일 - 내부 네트웍에 모든 클라이언트는 인터넷이나 외부 네트웍에서 내부로 접근을 허용 하지 않음. - 내부 네트웍의 클라이언트는 192.168.0.2(프록시 서버)로의 Web 억세스만 허용 - 프록시 서버(192.168.0.2)만 인터넷과 외부 네트웍에서 억세스 허용 - 인터넷에 있는 클라이언트는 192.168.0.2로의 Web 접근을 허용(DNS에는 192.150.50.77로 등록)
그림 4: 네트웍 구성도
Configuration Code Snapshot PIX Version 4.2(0)205 Beta nameif ethernet0 outside security0 nameif ethernet1 inside security100 nameif ethernet2 dmz security50 enable password 8Ry2YjIyt7RRXU24 encrypted passwd 2KFQnbNIdI.2KYOU encrypted hostname pixfirewall fixup protocol ftp 21 fixup protocol http 80 fixup protocol h323 1720 fixup protocol rsh 514 fixup protocol smtp 25 fixup protocol sqlnet 1521 no failover failover ip address outside 0.0.0.0 failover ip address inside 0.0.0.0 names pager lines 24 syslog output 20.7 no syslog console syslog host inside 10.0.0.100 interface ethernet0 auto interface ethernet1 auto interface ethernet2 auto ip address outside 192.150.50.3 255.255.255.0 ip address inside 10.0.0.3 255.0.0.0 ip address dmz 192.168.0.1 255.255.255.0 arp timeout 14400 global (outside) 1 192.150.50.10-192.150.50.252 netmask 255.255.255.0 nat (inside) 1 10.0.0.0 255.0.0.0 0 0 nat (dmz) 1 192.168.0.0 255.255.255.0 0 0 static (dmz,outside) 192.150.50.9 192.168.0.2 netmask 255.255.255.255 0 0 static (inside,dmz) 10.0.0.0 10.0.0.0 netmask 255.0.0.0 0 0 conduit permit tcp host 192.150.50.9 eq www any conduit permit icmp host 192.150.50.9 any outbound 1 deny 0.0.0.0 0.0.0.0 0 tcp outbound 1 deny 0.0.0.0 0.0.0.0 0 udp outbound 1 except 192.168.0.2 255.255.255.255 80 tcp apply (inside) 1 outgoing_src age 10 no rip outside passive no rip outside default no rip inside passive no rip inside default no rip dmz passive no rip dmz default route outside 0.0.0.0 0.0.0.0 192.150.50.1 1 timeout xlate 24:00:00 conn 12:00:00 udp 0:02:00 timeout rpc 0:10:00 h323 0:05:00 uauth 0:05:00 snmp-server host outside 0.0.0.0 no snmp-server location no snmp-server contact snmp-server community public snmp-server syslog disable snmp-server log_level 5 mtu outside 1500 mtu inside 1500 mtu dmz 1500 Cryptochecksum:921ac2a721ef50f3109ebe7ee03fb2cb : end [OK] pixfirewall(config) 6#
내부 네트웍으로 들어오는 모든 TCP와 UDP 패킷을 모두 거절한다. 단 192.168.0.2의 IP address를 갖는 호스트(프록시 서버)로 들어오는 패킷 중 TCP port 80(World wide web은 TCP port 80을 사용)을 사용하는 패킷만 허용.
URL 필터링 기능 URL Filtering
이번 사례는 URL 필터링 기능을 갖는 WebSense OpenServer 소프트웨어와 PIX 방화벽 을 상호 연동하는 것에 대해서 살펴보도록 하겠다.
WebSense OpenServer는 기준에 따라 특정 웹사이트로의 접근을 막는 소프트웨어이다. 예를 들면, ‘폭력’과 관련된 항목에 해당하는 웹사이트로 접근하는 모든 트래픽을 막도록 되어있다. WebSense OpenServer는 주기적으로 특정 웹사이트에 대한 정보를 받 도록 되어 있다.
네트웍 요구 사항
- WebSense OpenServer가 인터넷의 Websense.netpart.com으로부터 최신 정보를 받기 위해서 PIX 방화벽은 Websense.netpart.com으로부터 패킷이 들어오는 것을 허용.
그림 5: 네트웍 구성도
Configuration Code Snapshot PIX Version 4.2(0)205 Beta nameif ethernet0 outside security0 nameif ethernet1 inside security100 nameif ethernet2 dmz security50 enable password 8Ry2YjIyt7RRXU24 encrypted passwd 2KFQnbNIdI.2KYOU encrypted hostname pixfirewall fixup protocol ftp 21 fixup protocol http 80 fixup protocol h323 1720 fixup protocol rsh 514 fixup protocol smtp 25 fixup protocol sqlnet 1521 failover failover ip address outside 0.0.0.0 failover ip address inside 0.0.0.0 names pager lines 24 syslog output 20.7 no syslog console interface ethernet0 auto interface ethernet1 auto interface ethernet2 auto ip address outside 192.150.50.3 255.255.255.0 ip address inside 10.0.0.3 255.255.255.0 ip address dmz 192.168.0.1 255.255.255.0 arp timeout 14400 global (outside) 1 192.150.50.80-192.150.50.90 netmask 255.255.255.0 nat (inside) 1 0.0.0.0 0.0.0.0 0 0 nat (dmz) 1 0.0.0.0 0.0.0.0 0 0 static (inside,dmz) 10.0.0.0 10.0.0.0 netmask 255.0.0.0 0 0 age 10 no rip outside passive no rip outside default no rip inside passive no rip inside default no rip dmz passive no rip dmz default route outside 0.0.0.0 0.0.0.0 192.150.50.1 1 route inside 0.0.0.0 0.0.0.0 10.0.0.1 1 timeout xlate 24:00:00 conn 12:00:00 udp 0:02:00 timeout rpc 0:10:00 h323 0:05:00 uauth 0:05:00 url-server (inside) host 10.0.1.100 timeout 5 filter url http 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0 snmp-server host outside 0.0.0.0 no snmp-server location no snmp-server contact snmp-server community public snmp-server syslog disable snmp-server log_level 5 mtu outside 1500 mtu inside 1500 mtu dmz 1500 Cryptochecksum:921ac2a721ef50f3109ebe7ee03fb2cb : end [OK]
요구사항 구현 url-server (inside) host 10.0.1.100 timeout 5 filter url http 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0 WebSense server는 NT server에 설치되었으며 IP address는 내부 네트웍인 10.0.1.100 이다. 인터넷으로 향하는 모든 URL requests는 WebSense server로 보내지게 된다.