메뉴 건너뛰기

조회 수 7665 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
# 초기화
iptables -F

# 포트 스캔 방지
iptables -A INPUT -d 0.0.0.0/0 -p icmp -j DROP

# DoS 공격 방지
iptables -N syn-flood
iptables -A syn-flood -m limit --limit 12/second --limit-burst 24 -j RETURN
iptables -A syn-flood -j DROP

# ssh 정책(root, webpage 계정만 접속 가능)
# ssh 포트 : 22, root 번호: 0, webpage 번호:500 
iptables -A INPUT -p tcp --dport 22 -m owner --uid-owner 0 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -m owner --gid-owner 0 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 22 -m owner --uid-owner 0 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 22 -m owner --gid-owner 0 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -m owner --uid-owner 500 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -m owner --gid-owner 500 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 22 -m owner --uid-owner 500 -j DROP
iptables -A OUTPUT -p tcp --dport 22 -m owner --gid-owner 500 -j DROP

# 1초에 15번 이상의 HTTP 접근을 할 경우 차단
iptables -A INPUT -p tcp --dport 80 -m recent --update --seconds 1 --hitcount 15 --name HTTP -j DROP

#--------------------------------------------------------------------
# 커널 컴파일 및 iptables 패치 후, connlimit 사용이 가능한 경우
# 1초에 15번 이상의 HTTP 접근을 할 경우 차단
#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
#----------------------------------------------------------------------

# 서버가 해킹당했을 때 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
스크립트 실행 후
# service iptables save
# service iptables restart


당연한 이야기지만, 이 스크립트는 root 권한으로 실행시켜야 한다. 
시스템이 부팅될 때 이를 실행하고자 한다면, /etc/rc.local 에 등록해두자.

이를 해제하기 위해서는


iptables -F
iptables -F syn-flood
iptables -X syn-flood


List of Articles
번호 제목 날짜 조회 수
97 리눅스 yum 명령어 2016.09.11 7993
96 솔라리스 10 (Telnet/FTP/SSH) 설정 2017.02.03 7995
95 mysql DB 지정 백업 스크립트 2016.03.18 8004
94 백업받기 2016.09.12 8010
93 외부에서 apache 정보 못보도록 설정하기 2014.02.27 8013
92 리눅스서버 시간 한국 시간(한국표준시;KST)으로 변경 2014.03.26 8019
91 하루동안 실행된 쿼리 중 수행시간이 가장 긴 조회 쿼리 100개 2017.04.28 8042
90 특정 데몬의 메모리 점유율 확인하기 2014.02.27 8051
89 PHPIZE를 이용한 openSSL PHP 확장 모듈 설치 2016.09.11 8065
88 APM 소스 설치 2014.02.27 8068
87 Apache 웹서버 server-status 모니터링 2014.02.27 8074
86 Yum과 rpm을 이용하여 PHP5.5버전 설치 2016.03.18 8075
85 아파치 디렉토리 보이는 것 막기 file 2017.02.02 8076
84 ftp passive mode 설정 2014.02.27 8095
83 리눅스 부팅 과정과 커널 패닉 조치요령 2014.02.27 8108
82 리눅스 계정 파일 위치 file 2015.07.01 8117
81 Apache 리다이렉트 2016.03.18 8155
80 apache 컴파일시 동시 접속자 제한 변경하기 2014.03.26 8157
79 [Linux]리눅스,사용자계정(관련 파일,명령어) file 2015.11.21 8159
78 아파치 재시작 없이 설정 적용 2015.07.16 8184
Board Pagination Prev 1 ... 3 4 5 6 7 8 9 10 11 12 Next
/ 12

하단 정보를 입력할 수 있습니다

© k2s0o1d4e0s2i1g5n. All Rights Reserved