linux

Total 136
Today 0
profile_image
운영자
01-05-23 14:29 0개 2,563회
iptables 사용방법
보안에 매우 중요한 iptables 에 대한 자료를 제공해 주신 박상엽님께 감사드립니다.



커널 2.4대로 올라오면서 ipchains대신 iptables를 사용하게 되었습니다. 옵션을 주어 컴파일하거나 모듈을 올리면 ipchains도 사용가능하지만 NAT나 masq.를 셋팅할 수는 없습니다. 부득이 iptables를 사용해야 합니다. 실제로 활용할 만한 레퍼런스가 부족해 가장 많이 사용하는 부분들을 요약정리 했습니다. 참고하시길 바랍니다.



* 체인의 이름이 바뀌었습니다.



input -> INPUT

output -> OUTPUT

forward -> FORWARD

DENY -> DROP



그래서 기존에 ipchains로 input의 default룰을 작성하던 내용은 다음과 같이 변경하면 됩니다.



...

#input default

...

ipchains -A input -s $IP -d 127.0.0.1 -j ACCEPT

ipchians -A input -s $IP -d $IP -j ACCEPT

ipchains -A input -j DENY





iptables를 사용하여 작성하면,



...

#INPUT default

...

iptables -A INPUT -s $IP -d 127.0.0.1 -j ACCEPT

iptables -A INPUT -s $IP -d $IP -j ACCEPT

iptables -A INPUT -j DROP



이 됩니다.





*포트 지정방식이 바뀌었습니다.



시작점의 경우 --sport 포트번호,

목적점의 경우 --dport 포트번호

방식으로 지정해 주어야 합니다.

클라이언트의 네임서버 설정을 보면 다음과 같습니다.

먼저 기존의 ipchains를 사용하여 체인을 설정하는 것은,



#input for nameserver

ipchains -A input -p tcp -s $NAMESERVER domain -d $IP -j ACCEPT

ipchains -A input -p udp -s $NAMESERVER domain -d $IP -j ACCEPT

#output for nameserver

ipchains -A output -p tcp -s $IP -d $NAMESERVER domain -j ACCEPT

ipchains -A output -p udp -s $IP -d $NAMESERVER domain -j ACCEPT



이었습니다. 이것을 iptables를 사용하여 설정해 보겠습니다.



#INPUT for nameserver

iptables -A INPUT -p tcp -s $NAMESERVER --sport domain -d $IP -j ACCEPT

iptables -A INPUT -p udp -s $NAMESERVER --sport domain -d $IP -j ACCEPT

#OUTPUT for nameserver

iptables -A OUTPUT -p tcp -s $IP -d $NAMESERVER --dport domain -j ACCEPT

iptables -A OUTPUT -p tcp -s $IP -d $NAMESERVER --dport domain -A ACCEPT

이 됩니다.

댓글목록

등록된 댓글이 없습니다.