본문 바로가기

리눅스/리눅스 - 공통

[리눅스] 방화벽

반응형

사전 지식


명령어중 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
iptables -A OUTPUT -p tcp --sport 22 -m state --state 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