사전 지식
명령어중 eth0는 랜카드 인터페이스 명으로 랜카드가 여러개라면 eth0, eth1, eth2 등으로 나타난다. eth0 외에 다른 이름으로도 나타날수 있는데 확인하는 방법은 ifconfig 명령어를 사용하면 사용중인 랜카드 인터페이스명과 상세한 내용이 나온다. 따라서 설정시 eth0는 사용자 랜카드에 부여된 명으로 바꿔서 실행한다. 옵션 설명 -F : 모든 규칙 삭제 (해당하는 Chain에서) -A : 규칙을 덧붙이는 것으로 맨 마지막에 규칙을 적용한다. 따라서 적용 우선순위가 낮아진다. -I : 규칙을 넣는 것으로 -I INPUT 3 이라고 적으면 3번째 줄에 넣는 다는 뜻이다. -i : input 인터페이스로 일컬어지며 -i 뒤에는 인터페이스명인 eth0 등이 나온다. -o : output 인터페이스로 -i와 역할은 같다. -p :프로토콜을 뜻하는 것으로 뒤에 tcp, udp, icmp 등이 있다. --dport : Destination Port로서 도착지점의 port를 지정시 사용한다. (-가 2개다!) -sport : dport와 반대로 시작지점인 Source Port를 지정시 사용한다. -m state : 현재 상태와 매칭(matching)되는 규칙을 의미하는 것으로 매칭되는 값(NEW, ESTABLISH등)은 사용된다. 이 뒤에 여러가지 옵션이 있다. --state NEW, ESTABLISHED : state의 옵션으로서 오로지 NEW와 ESTABLISHED 상태만 허용한다. 즉, 처음 접속시 NEW 상태로 사용되고, 그 이상의 접속시 ESTABLISHED상태로 사용된다. |
방화벽 설정
방화벽 규칙 보기
iptables -L -v |
방화벽 초기화
iptables -F iptables -X iptables -t nat -F iptables -t nat -X iptables -t mangle -F iptables -t mangle -X iptables -P INPUT ACCEPT iptables -P FORWARD ACCEPT iptables -P OUTPUT ACCEPT |
모든 규칙 지우기
iptables -F |
LOOPBACK 규칙 적용
iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT |
SSH 규칙 허용
iptables -A INPUT -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT |
HTTP 규칙 허용
iptables -A INPUT -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT iptables -A OUTPUT -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT |
HTTPS 규칙 허용
iptables -A INPUT -p tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT iptables -A OUTPUT -p tcp --sport 443 -m state --state ESTABLISHED -j ACCEPT |
DROP 규칙 적용 -P (-P가 Policy로서 전체에 걸쳐 적용되는 정책이다. 즉 INPUT이라고 치면 INPUT Chain 영역에 정책이 할당된다. )
iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP |
만약 -A를 써서 우선순위가 낮아져서 규칙 허용이 불가능해진다면 - A INPUT 대신에 -I INPUT 3 형식으로 우선순위 값 3을 주면된다. 값은 높을 수록 우선순위가 높다.
iptables -I INPUT 3 -p tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT |
규칙 저장
/etc/rc.d/init.d/iptables save |
직접 수정하려면
vi /etc/sysconfig/iptables |
방화벽 중단/시작/재시작
service iptables stop service iptables start service iptables restart |
해외 문서를 기반으로 자세한 내용이나 오역된 내용은 아래에서 확인이 가능하다.
http://www.thegeekstuff.com/2011/01/iptables-fundamentals/
http://www.thegeekstuff.com/2011/03/iptables-inbound-and-outbound-rules/
더 상세한 정보는 한국정보보호진흥원에서 발행한 pdf를 통해 확인하자
instaling_a_firewall_utilized_the_Linux.pdf
'리눅스 > 리눅스 - 공통' 카테고리의 다른 글
[리눅스] grub 재설치 (0) | 2013.03.19 |
---|---|
[리눅스] SELinux (0) | 2013.03.17 |
[리눅스] marvel 랜 드라이버 설치 (R480 노트북) (0) | 2013.03.16 |
[리눅스] crontab (0) | 2013.01.09 |
[리눅스] 이메일 설정 (0) | 2013.01.02 |