오래전 이야기/Security

PIX Firewall Configuration #2

리눅스 엔지니어였던 2008. 9. 15. 18:01
인증 Authentication

이번 사례는 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#


요구사항 구현

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 1 outgoing_src


내부 네트웍으로 들어오는 모든 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로 보내지게 된다.


 

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

<출처: http://blog.naver.com/jabusunin?Redirect=Log&logNo=30002313357 >