맛집 여행 캠핑 일상 생활

리눅스 IPTABLES 에 포트 추가하기 본문

LAMP

리눅스 IPTABLES 에 포트 추가하기

영은파더♥ 2016. 2. 5. 15:41

리눅스 IPTABLES 사용방법

포트 추가, PING 차단, syn-flood 차단, DDOS 차단, 특정 IP 차단에 대해서 알아보자.


테스트 환경 : CentOS 6.3 64bit


▶ iptables 포트 추가

iptables -I INPUT -m tcp -p tcp --dport 21 -j ACCEPT

iptables -I INPUT -m tcp -p tcp --dport 25 -j ACCEPT

iptables -I INPUT -m tcp -p tcp --dport 53 -j ACCEPT

iptables -I INPUT -m udp -p udp --dport 53 -j ACCEPT

iptables -I INPUT -m multiport -p tcp --dports 80,443 -j ACCEPT

iptables -I INPUT -m tcp -p tcp --dport 110 -j ACCEPT

iptables -I INPUT -m tcp -p tcp --dport 8000:8080 -j ACCEPT

서버 환경에 맞게 방화벽 포트를 설정해주면 된다.

"iptables-save > /etc/sysconfig/iptables" 또는 "service iptables save" 를 실행해주어야 재시작시에도 적용이 된다.


▶ PING 차단하기 (포트스캔 방지)

iptables -A INPUT -p icmp -j DROP

외부로 부터 PING을 막을 수 있다.


▶ syn-flood 공격 막기

iptables -N syn-flood

iptables -A syn-flood -m limit --limit 12/second --limit-burst 24 -j RETURN

iptables -A syn-flood -j DROP

12초 동안 24번 넘으면 차단하라는 의미


 DDOS 차단

iptables -I INPUT -p tcp --syn --dport 80 -m connlimit --connlimit-above 30 -j DROP

같은 IP에서 syn 30번 이상 요청시 차단하라는 의미


 DDOS 차단 (vi편집기로 작성시)

-A INPUT -p tcp -m tcp --dport 80 --tcp-flags FIN,SYN,RST,ACK SYN -m connlimit --connlimit-above 30 --connlimit-mask 32 -j DROP

--connlimit-mask 24 는 C 클래스 대역을 의미합니다.


 특정 IP 차단하기

1. 차단하기

iptables -I INPUT -s 차단IP -p tcp --dport 80 -j DROP

2. 해제하기

iptables -D INPUT -s 차단IP -p tcp --dport 80 -j DROP

3. 확인하기

iptables -L

4. .htaccess 파일에서 특정IP 차단하는 방법 (서비스하고 있는 웹디렉토리 루트에 .htaccess 파일에 아래 내용 추가)

SetEnvIfNoCase REMOTE_ADDR 차단IP1 ban

SetEnvIfNoCase REMOTE_ADDR 차단IP2 ban

SetEnvIfNoCase REMOTE_ADDR 차단IP3 ban

Order allow,deny

Allow from all

Deny from env=ban

SetEnvIfNoCase 부분이 Deny from env 부분 아래에 위치해도 상관이 없다.


▶ iptables 초기화

iptables -F


※ IPTABLES 주의할 점

1. iptables -A 또는 -I 로 명령어 방식으로 규칙을 추가한 경우에는 "service iptables save"를 해주어야 재부팅 후에도 적용이 된다.

vi 편집기로 수정한 내용은 iptables 서비스를 재시작해주더라도 적용이 된다.

하지만 vi 편집기에서 수정한 다음 서비스 재시작하지 않고 service iptables save 를 해버리면 vi편집기에서 수정한 내용이 사라진다.

2. 규칙 우선순위가 위쪽이 높다. 아래에서 차단하더라도 위에서 허용하면 이는 허용의 의미이다.


'LAMP' 카테고리의 다른 글

아파치 mod_cache 설정  (0) 2016.02.05
리눅스 WebDAV 설정하기  (0) 2016.02.05
리눅스 부팅시 데몬 실행 설정하기  (0) 2016.02.05
하나의 서버에 아파치 두개 서비스 하기  (0) 2016.02.05
PHP FTP 업로드 함수  (0) 2016.02.03
Trackback : | Comments :