선별적인 패킷필터는 보안의 기본이라 할 수 있습니다. 리눅스 시스템에서
이를 위해 iptables 를 사용할 수 있습니다. iptables 는 상태추적 기능과 로깅기능,
포트 포워딩 및 향상된 매칭기능을 제공해 줍니다. iptables는 많은 상용방화벽
장비에 사용되어 그 성능이 검증되었습니다.
2. iptables 사용법 기초
가. iptables 구성
iptables 는 filter 테이블, nat 테이블, mangle 테이블 세개의 테이블로 구성되어
있으며 테이블의 생성 및 삭제가 불가합니다.
1) filter 테이블
패킷의 차단 및 통과를 결정하는 테이블로 방화벽 설정을 위해 가장 많이 사용되는
테이블입니다. filter 테이블은 INPUT, FORWARD, OUTPUT 세개의 Chain 으로
구성되어 있습니다.
* filter 테이블의 설정값 보기 *
iptables -L -n
2) nat 테이블
nat 테이블은 방화벽 내부로 향하는 패킷을 포워딩하거나 내부에서 외부로 나갈때
IP 주소를 변환시켜 주는 역활을 합니다.
(공유기 역활시 또는 사설IP 로 외부 서비스시 사용함)
* nat 테이블의 설정값 보기 *
iptables -L -t nat
3) mangle 테이블
mangle 테이블은 패킷의 TTL, TOS 값을 변경할 때 사용합니다.
* mangle 테이블의 설정값 보기 *
iptables -L -t mangle
나. iptables 사용법 (FILTER 테이블을 기준하였습니다. )
1) 방화벽 초기화 하기 (설정된 모든 룰을 삭제합니다.)
iptables -F
2) 방화벽 기본정책 설정
iptables -P INPUT DROP (들어오는 모든패킷 차단. 화이트리스트 방식)
iptables -P OUTPUT ACCEPT (나가는 모든패킷 허용. 블랙리스트 방식)
* 기본적책은 방화벽 설정 우선순위 최하위이며 기본정책은 iptables -F 로
초기화 되지 않음을 명심해야 합니다. *
3) 룰 추가하기
iptables -A ..... (가장 마지막에 룰이 추가됨 방화벽 우선순위 낮음)
iptables -I ..... ( 가장 처음에 룰이 추가됨 방화벽 우선순위 높음)
예제)
iptables -A INPUT -s 0/0 -p tcp --dport 80 -j ACCEPT (모든곳에 http 허용)
4) 룰 삭제하기
iptables -D ...
예제)
iptables -D OUTPUT -d 192.168.10.0/24 -p tcp --dport 80 -j ACCEPT
(192.168.10. C 클래스로 http 접속 허용된 OUTPUT 정책을 삭제)
iptables -D INPUT 5
(INPUT Chain 의 5번째 룰 삭제)
iptables 의 기본 사용법을 살펴 보셨습니다. 다음 장을 통해 고급기능을 살펴 보도록 하겠습니다. ^^;
'OS > Linux' 카테고리의 다른 글
리눅스 방화벽 iptables - 3/3 (0) | 2012.05.10 |
---|---|
리눅스 방화벽 iptables - 2/3 (0) | 2012.05.10 |
Ubuntu Oneiric Ocelot 11.10을 설치한 후 해야 할 것들 (3. 유용한 Apps) (0) | 2012.04.28 |
Ubuntu Oneiric Ocelot 11.10을 설치한 후 해야 할 것들 (2. Desktop 설정) (0) | 2012.04.28 |
[리눅스 TIP] 리눅스 서버 관리에 필요한 50가지 팁 (0) | 2012.04.25 |