2015년 5월 13일 수요일

iptables 서비스 허용 및 취약점 설정

ㅇ ㅂㅇ

1. iptables 에서 서비스 허용 방법

* DNS 서버
 - DNS >> TCP 53 / UDP 53 포트 사용
  iptables -A INPUT -p tcp --dport 53 -j ACCEPT
  iptables -A INPUT -p udp --dport 53 -j ACCEPT


* WEB 서버
 - HTTP >> TCP 80 포트 사용
  iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT

 - HTTPS >> TCP 443 포트 사용
  iptables -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
  iptables -A INPUT -m state --state NEW -m tcp -p tcp -m multiport --dports 80,443 -j ACCEPT

 - MySQL >> TCP 3306 포트 사용
  iptables -A INPUT -p tcp --dport 3306 -j ACCEPT

 - FTP(passive mode) 
  iptables -A INPUT -p tcp --dport 21 -j ACCEPT
  iptables -A OUTPUT -p tcp –-sport 21 -j ACCEPT
  iptables -A INPUT -p tcp --dport 1024:65535 -j ACCEPT
  iptables -A OUTPUT -p tcp --sport 1024:65535 -j ACCEPT

* mail 서버
 - SMTP >> TCP 25 포트 사용
  iptables -A INPUT -p tcp -m tcp --dport 25 -j ACCEPT
 - Secure SMTP >> TCP 465 포트 사용
  iptables -A INPUT -p tcp -m tcp --dport 465 -j ACCEPT
 - POP3 >> TCP 110 포트 사용
  iptables -A INPUT -p tcp -m tcp --dport 110 -j ACCEPT
 - Secure POP3 >> TCP 995 포트 사용
  iptables -A INPUT -p tcp -m tcp --dport 995 -j ACCEPT
 - IMAP >> TCP 143 포트 사용
  iptables -A INPUT -p tcp -m tcp --dport 143 -j ACCEPT
 - Secure IMAP >> 993 포트 사용
  iptables -A INPUT -p tcp -m tcp --dport 993 -j ACCEPT
 - ICMP 허용 (ping)
  iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
  iptables -A OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT
 - NTP 시간동기화
  iptables -A INPUT -p udp --dport 123 -j ACCEPT 

2. 서버 취약점 보안

* NULL 패킷 차단
 - NULL 패킷은 정찰 패킷으로 서버설정의 약한 곳을 찾기 위한 방법으로 사용되기 때문에 차단 해야 한다.
  iptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP

* syn-flood attack 차단
 - 공격자가 새로운 연결을 지속적으로 요청하여 리소스를 소모시켜 PC를 다운 시키려는 공격이기 때문에 차단 해야 한다.
  iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP

 - /etc/sysctl.conf 에서 설정을 바꿔준다.
 net.ipv4.tcp_syncookies = 1
 net.ipv4.conf.all.rp_filter = 1
 net.ipv4.conf.default.rp_filter = 1
 net.ipv4.tcp_max_syn_backlog = 8192
 net.ipv4.netfilter.ip_conntrack_max = 1048576

* XMAS 패킷 차단
 - XMAS 패킷은 서버가 정상적으로 작동하는지에 대해 확인하는 패킷으로 정찰 패킷에 속한다. 이는 취약점이 될 수 있기에 차단해주어야 한다.
  iptables -A INPUT -p tcp --tcp-flags ALL ALL -j DROP




댓글 없음:

댓글 쓰기