웹마스터 팁

#!/bin/bash


########## CONFIG ##########

IPT="/sbin/iptables"    // iptables 라는 글자를 IPT로 줄였습니다.
MYIP="210.123.94.21"   // 자신의 아이피 주소를 입력하시면 됩니다.

########## base rule ##########   // 기본적인 구성이구요..

$IPT -F
$IPT -t nat -F
$IPT mangle -F
$IPT -A INPUT -i lo -j ACCEPT
$IPT -A INPUT -o lo -j ACCEPT
$IPT -P INPUT ACCEPT
$IPT -P FORWARD ACCEPT
$IPT -P OUTPUT ACCEPT

########## TCP-flags ##########  // SYN와 ACK 그 외 URG나 FIN 등 위조신호를 막기위한 구축입니다..

$IPT -A INPUT -p TCP --tcp-flags ACK,FIN FIN -j DROP
$IPT -A INPUT -p TCP --tcp-flags ALL NONE -j DROP
$IPT -A INPUT -p TCP --tcp-flags ALL PSH,FIN -j DROP
$IPT -A INPUT -p TCP --tcp-flags ALL URG,PSH,FIN -j DROP
$IPT -A INPUT -p TCP --tcp-flags ALL SYN,ACK,FIN -j DROP
$IPT -A INPUT -p TCP --tcp-flags ALL SYN,FIN,PSH -j DROP
$IPT -A INPUT -p TCP --tcp-flags ALL SYN,FIN,RST -j DROP
$IPT -A INPUT -p TCP --tcp-flags ALL SYN,FIN,RST,PSH -j DROP
$IPT -A INPUT -p TCP --tcp-flags ALL SYN,FIN,ACK,RST -j DROP
$IPT -A INPUT -p TCP --tcp-flags ALL SYN,ACK,FIN,RST,PSH -j DROP
$IPT -A INPUT -p TCP --tcp-flags FIN,RST FIN,RST -j DROP
$IPT -A INPUT -p TCP --tcp-flags SYN,FIN SYN,FIN -j DROP
$IPT -A INPUT -p TCP --tcp-flags ACK,PSH PSH -j DROP
$IPT -A INPUT -p TCP --tcp-flags ACK,URG URG -j DROP

########## STATE ########## // state 쪽 방화벽 구축입니다.

$IPT -A INPUT -m state --state INVALID -j ACCEPT
$IPT -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

########## source address packet filter ##########  // 쓰지않는 대역폭에 대한 위조신호 방지 방화벽 구축입니다..
##### myip #####
$IPT -A INPUT eth0 -s $MYIP -j DROP
##### A class #####
$IPT -A INPUT eth0 -s 10.0.0.0/8 -j DROP
##### B class #####
$IPT -A INPUT eth0 -s 172.16.0.0/12 -j DROP
##### C class #####
$IPT -A INPUT eth0 -s 192.168.0.0/16 -j DROP
##### D class #####
$IPT -A INPUT eth0 -s 224.0.0.0/4 -j DROP
##### E class #####
$IPT -A INPUT eth0 -s 240.0.0.0/5 -j DROP
##### loop back source address #####
$IPT -A INPUT eth0 -s 127.0.0.0/8 -j DROP

########## RESERVED IP area ##########  // 이미 예약된 ip 대역으로서 이런 아이피라면 위조된 신호이므로 방화벽을 구축했습니다.
$IPT -A INPUT -i eth0 -s 0.0.0.0/8 -j DROP
$IPT -A INPUT -i eth0 -s 169.254.0.0/16 -j DROP
$IPT -A INPUT -i eth0 -s 192.0.2.0/24 -j DROP
$IPT -A INPUT -i eth0 -s 248.0.0.0/5 -j DROP

저의 경우에는 이것을 default.firewall 이라고 저장을 해서
/etc/rc.d/init.d 에 저장을 해두고
cp 명령어를 이용하여
cp /etc/rc.d/init.d/default.firewall /etc/rc.d/rc3.d/S100d.firewall

S 가 무슨 역할을 하시는지는 아실거라 믿고
암튼 이렇게 해서 터미널창에서 reboot 시키시고 나면
iptables -L
하시면 적용된것이 나올겁니다.

p.s. 만약 방화벽을 전부다 내리고 싶으실때는
본인이 저장한 경로의 파일을 삭제해 주시고 reboot 시키시면 됩니다.
질문은 리플로 주세요~
제목 글쓴이 날짜
xe module, sample 생성기 [9] 천재ㅐ재 2014.07.24
네이버 SMTP로 인증메일 보내기 [12] Neder 2013.08.26
첨부파일 제한 등을 1M 이하인 K 단위로 제한할 수 있게 설정 [1] sejin7940 2014.08.07
UX를 편리하게 하기 위한 7 CSS 팁 gamgak2895 2014.08.07
코어 수정하지 않고 게시물 첨부 파일 사용제한 Happyphp 2014.08.07
XE 설치 시 안전한 폴더권한 설정하기 (chown 사용) 컴토피아 2014.08.07
특정 도메인 가입 않되게 (인증메일 관련) 컴박살 2014.08.06
비밀번호 변경시 비밀번호 재입력 생략하기 Summer 2014.08.06
자주 쓰지 않지만, 알아두면 좋은 명령어들.. SIN 2014.08.06
fedora core4 기준으로 iptables 최소한 이정도는 막아줘야 할듯,, [3] [1] 인호씨 2005.11.19
게시글 주소 아주 짧게 줄이기 [11] 웹 엔진 2011.08.07
Bind 설정하기 뚱녀파파 2014.07.30
잦은 등급변경으로, 회원 등급이 엉켰을 경우 해결방법. [1] NZ448 2009.09.10
MySQL Replication 사용중 Binary Log 삭제 하기 박희망찬삶 2014.07.29
게시판 데이터 일괄 삽입 방법 [1] Happyphp 2014.07.26
짧은 주소를 가능 하게 하는 서버(아파치, httpd) 설정 [3] 꿈섬 2014.07.27
인증메일 안가는 문제- 완전 간단 해결 꿈섬 2014.07.27
/XE/떼어 내기 방법... 꿈섬 2014.07.27
CURL 등 리퀘스트가 느리다고 생각될때 [1] 銀童 2014.07.25
[초보팁] .htaccess 파일을 이용하여 여러가지 주소 한 주소로 리다이렉트 하기 ( 주소 통합 ) [5] 태풍_님 2014.07.23