2013. 9. 25. 14:34 프로그래밍/linux/ubuntu
iptables 사용법 for ubuntu
우분트 사용자를 기준으로 작성합니다.
Iptables 는 ubuntu 배포버젼에 모두 포함되어있는 기본적익 방화벽 프로그램입니다.
기본적 명령들입니다.
sudo iptables -L
Iptables에서 사용되는 룰을 보여줍니다.
sudo sh -c "iptables-save > /etc/iptables.rules"
iptables에 설정 정보를 파일로 저장
sudo iptables -F
iptables에 설정을 초기화 시킨다.
sudo sh -c "iptables-restore < /etc/iptables.rules"
iptables에 설정정보를 복원시킨다.
자 이제 네트워크 인터페이스에 룰을 자동으로 등록되도록 셋팅해보자
sudo nano /etc/network/interfaces
pre-up 구문 밑에 post-down구문을 추가해준다.
post-down은 인터페이스가 초기화 될때 저장되도록 해주는 구문이다.
pre-up iptables-restore < /etc/iptables.rules
post-down iptables-restore < /etc/iptables.downrules
이제 기본적인 ip block방법을 설명드리겠습니다.
iptables -A INPUT -s [근원지] --sport [근원지 포트] -d [목적지] --dport [목적지 포트] -j [정책]
sudo iptables -A INPUT -s x.x.x.x -j DROP
아이피 x.x.x.x 차단
sudo iptables -A INPUT -s x.x.x/24 -j DROP
아이피 대역 d클래스 전체 차단
sudo iptables -A INPUT -p tcp --dport 25 -j DROP
포트25 차단
sudo iptables -A INPUT -p tcp --dport 587 -j DROP
포트587 전체 차단
DDOS 공격 차단용 정책들도 있다.
iptables -A INPUT -p tcp --dport 80 -m recent --update --seconds 1 --hitcount 10 --name HTTP -j DROP
1초동안 80포트에 똑같은 IP가 10번 이상의 SYN가 들어오면 드랍시킨다.
이는 정상적인 요청이 아닌 공격으로 간주한다.<br><br>자세한 내용은 아래 링크 페이지를 확인 바랍니다.
iptables -A INPUT -p tcp --tcp-flags ALL SYN,FIN -j DROP
TCP FLAG 중 전체를 보고 그 중 SYN 과 FIN이 있을 경우 차단하는 정책
iptables -A INPUT -p tcp --tcp-flags ALL PSH,FIN -j DROP
TCP FLAG 중 전체를 보고 그 중 PSH 과 FIN이 있을 경우 차단하는 정책
iptables -N ICMP
iptables -A INPUT -p icmp -j ICMP
iptables -A ICMP -p icmp --icmp-type 8 -j DROP
-icmp 패킷이 들어올 경우 ICM 체인으로 전달
-icmp 체인에 ping에 대한 응답하지 않는 정책 추가
국가별 차단법
# iptables -A FORWARD -p tcp --dport 80 -m geoip ! --src-cc KR -j DROP
80포트로 접속국가가 KR이 아닐경우 모두 DROP
geoip 패키지가 설치되지 있지 않다면 apt-get source geoip로 받으시면 됩니다.~
'프로그래밍 > linux/ubuntu' 카테고리의 다른 글
How to broadcast a Message through Terminal to Login users In Ubuntu (0) | 2013.08.31 |
---|