IPTABLES 을 사용하여 커널수준의 방화벽을 구성할 수 있다.
==============================================================================
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -F INPUT
iptables -F OUTPUT
# 웹서버일경우 80으로 들어오는 요청과 1.1.1.1 에서들어오는 ssh 요청을
# 받아들인다.
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp -s 1.1.1.1 --dport 22 -j ACCEPT
# 1초에 15번 이상의 HTTP 접근을 할경우 (DOS공격) 접근을 차단한다.
# 이기능을 사용하려면 커널컴파일 및 iptables 패치가 필요하다. (리눅스서버 보완관리 실무 P.298 참조)
iptables -A INPUT -p tcp --syn --dport 80 -m connlimit --connlimit-above 15 -connlimit-mask 24 -j DROP
# 메일서버의 경우 동시에 5개이상 SMTP 접근자(스팸머)의 경우 5분동안
# 접근을 제한한다.
iptables -A INPUT -m recent --name spammer --rcheck --seconds 300 -j drop
iptables -A INPUT -p tcp --syn --dport 25 -m connlimit --connlimit-above 5 -m recent --name spammer --set -j DROP
# STRING 필터기능
# MSN 문자열이들어간 패킷 차단
iptables -A FORWARD -m string --string "messenger.msn.com" -j DROP
# 싸이월드로 접속차단
iptables -A FORWARD -p tcp --dport 80 -m string --string "Host: cyworld.nate.com" -j DROP
# 포트스캔을 차단한다.
iptables -A INPUT -m psd -j DROP
# 만약서버가 해킹당해 DOS공격지로 사용될때 적용시킴.
# DNS 쿼리이외에 UDP 패킷이 나가는 것을 방지
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -p udp ! --dport 53 -m state --state NEW -j DROP
# 이외 모든 접근을 차단한다.
iptables -A INPUT -j DROP
==============================================================================
참고)
# DoS 공격 방지를 위한 설정
/sbin/iptables -t nat -A syn-flood -m limit -limit 12/s \ --limit-burst 24 -j RETURN
/sbin/iptables -t nat -A syn-flood -j DROP
# ssh 정책
/sbin/iptables -A INPUT -p tcp --dport 22 -m owner --uid-owner 0 -j ACCEPT
/sbin/iptables -A INPUT -p tcp --dport 22 -m owner --gid-owner 0 -j ACCEPT
'OS > LINUX' 카테고리의 다른 글
LINUX 방화벽 프로그램 iptables (0) | 2007.10.26 |
---|---|
Grep 계열 명령어 (0) | 2007.10.25 |
iptables (0) | 2007.10.25 |
[Linux] mrtg setting (0) | 2007.10.17 |
SELinux 에 대하여 (0) | 2007.07.23 |