7.5. 바이러스와 가짜 IP 주소

보다 정교한 규칙을 세워 LAN 상에서 특정 서브넷이나 심지어는 특정 시스템으로 액세스를 제어하는 것도 가능합니다. 트로이 목마(trojans), 컴퓨터 웜(worms)이나 다른 클라이언트/서버 바이러스와 같은 수상한 서비스가 서버에 접속하는 것을 방지하는 규칙을 설정하실 수도 있습니다. 예를 들어 31337에서 31340까지 포트 (크래킹 용어로 elite 포트라고 부릅니다)에서 네트워크를 스캔하여 서비스를 찾아내는 트로이 목마 침투 유형이 있습니다. 이러한 비표준 포트를 통해 통신하는 적당한 서비스가 없으므로 이 포트를 닫으시면 네트워크 상에서 바이러스 침입 당한 컴퓨터가 원격 마스터 서버와 독립적으로 통신을 주고 받을 가능성을 줄일 수 있습니다.

iptables -A OUTPUT -o eth0 -p tcp --dport 31337 --sport 31337 -j DROP
iptables -A FORWARD -o eth0 -p tcp --dport 31337 --sport 31337 -j DROP

또한 외부에서 사설 IP 주소 범위에 속하는 가짜 주소를 사용하여 LAN에 침투하려는 시도를 막는 규칙을 설정하는 것도 가능합니다. 예를 들어 LAN의 IP 주소 범위가 192.168.1.0/24인 경우 인터넷에 접속된 네트워크 장치 (예, eth0)가 이 LAN IP 범위 내의 주소를 가진 장치로 들어오는 모든 패킷을 드롭하도록 설정 가능합니다. 전송된 패킷을 거부하는 규칙을 기본으로 설정하시도록 권장되었으므로 외부 네트워크와 접촉하는 장치 (eth0) 장치로 들어오는 가짜 IP 주소는 자동으로 거부될 것입니다.

iptables -A FORWARD -s 192.168.1.0/24 -i eth0 -j DROP

알림알림
 

규칙을 추가시 REJECT 하는 것과 DROP 하는 것의 차이를 아셔야 합니다. REJECT는 서비스에 접속하려는 사용자의 액세스를 거부하고 connection refused라는 오류 메시지를 보여주는 반면 DROP은 말 그대로 telnet 사용자에게 어떠한 경고 메시지도 보여주지 않은 채 패킷을 드롭합니다. 관리자의 재량껏 이러한 규칙을 사용할 수 있지만 사용자가 혼란스러워하며 계속해서 접속을 시도하는 것을 방지하시려면 REJECT를 사용하시는 것이 좋습니다.