일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- iptime
- 복현오거리
- SKT
- 자바스크립트
- OpenWrt
- jQuery
- 보르비스초월
- 시놀로지
- 스톤에이지
- KB증권
- 소비전력
- 라즈베리파이2
- 킹북이초월
- 리눅스
- KB국민카드
- 알리익스프레스
- 알뜰폰
- mysql
- Apache
- 윈도우10
- ConoHa
- 티스토리
- php
- centos
- 아파치
- proxmox
- Rocky
- 램가스초월
- 가상서버호스팅
- PHP-FPM
- Today
- Total
맛집 여행 캠핑 일상 생활
리눅스 IPTABLES 에 포트 추가하기 본문
리눅스 IPTABLES 사용방법
포트 추가, PING 차단, syn-flood 차단, DDOS 차단, 특정 IP 차단에 대해서 알아보자.
테스트 환경 : CentOS 6.3 64bit
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 |