Transcript ip tables

ip tables
박상준 연구원
차 례
 패킷 필터링
 iptables의 사용법
패킷 필터링
패킷 필터링이란?
패킷 필터링은 지나가는 패킷의 해더를 보고 그 전체 패킷의 운명을 결
정하는 것을 말한다.
(IPTABLES의 경우 많은 개발중인 헤더에 그치지 않고 data의 내용을
검토하기도 한다.)
패킷 필터링
 패킷 필터링의 역사(LINUX)
리눅스는 커널 1.1버젼부터 패킷 필터링을 포함하기 시작했다.
 1세대 : BSD의 ipfw <1.1버전>
 2세대 : ipfwadm <2.0버전>
 3세대 : ipchains <2.2버전>
 4tpeo : iptables <2.4버전>
패킷 필터링
 Netfilter
패킷 필터링은 커널에 탑제된 netfilter기능으로 하며 iptables는 단지
netfilter의 룰을 구축해 줄 뿐이다.
즉, iptables는 룰셋 구축툴이다.
Iptables의 사용법
Iptables의 기본 체인
 INPUT chain : 시스템으로 들어오는 모든 패킷이 지난다.
 OUTPUT chain : 시스템으로부터 나가는 모든 패킷이 지난다.
 FORWARD chain : linuxbox도착지가 아닌 패킷이 지난다.
INPUT
linuxbox
FORWARD
OUTPUT
Iptables의 사용법
Ex).
# iptables –A INPUT –j DROP
룰을 추가한
다.
패킷이 들어
오는 체인에
패킷의 운명
을 결정한다.
패킷을 버린
다.
Linuxbox에 들어오는 모든 패킷이 거부당한다.
<즉, 모든 통신이 끊어진다.>
Iptables의 사용법
옵션의 종류
 -A : 체인에 새로운 규칙 추가
 -I : 체인의 어떤 지점에 규칙 삽입
 -R : 체인의 어떤 지점의 규칙을 교환
 -D : 체인의 어떤 지점의 규칙을 제거
Iptables의 사용법
 지정했던 룰 해제
Ex)
#iptables –D INPUT 1
<인덱스를 지정해서 지우는법>
Or
#iptables –D INPPUT –j DROP
<룰의 내용으로 지우는 법>
Iptables의 사용법
 패킷의 목적지 또는 출처 제어
패킷 출처 제어 옵션 –s
Ex) #iptables –A INPUT –s 192.168.10.10 –j DROP
192,168.10.10에서 온 모든 패킷은 필터링
<이밖에도 도메인으로도 차단 가능>
Iptables의 사용법
 패킷의 목적지 또는 출처 제어
패킷 출처 제어 옵션 –d
Ex) #iptables –A INPUT –d 192.168.10.10 –j DROP
192,168.10.10를 목적지로 가진 모든 패킷은 필터링
<이밖에도 도메인으로도 차단 가능>
Iptables의 사용법
 프로토콜 제어
패킷 출처 제어 옵션 –p
Ex) #iptables –A INPUT –p TCP –j ACCEPT
Tcp프로토콜을 쓰는 패킷은 모두 받아들인다.
Iptables의 사용법
 프로토콜 제어
<포트 제어>
패킷 출처 제어 옵션 --sport 와 --dport
-sport : 패킷의 출발지 포트
-dport : 패킷의 도착지 포트
Ex) #iptables –A INPUT –p tcp --dport 80 –j DROP
<Tcp 프로토콜의 80번 포트를 목적지를 하는 패킷을 모두 버린다.>
Iptables의 사용법
 인터페이스 지정
패킷 출처 제어 옵션 –i (input interface), -o (output interface)
Ex) #iptables –A INPUT –I eth0 –p tcp –dport 80 –j DROP
INPUT 체인에 입력인터페이스가 eth0이고 프로토콜은 tcp이며 도착 포
트는 80인 패킷은 DROP 시켜라.
Iptables의 사용법
 총괄적인 예제
Ex) #iptables –A INPUT –I eth0 –d 192.168.10.10 –p tcp --dport80
–j DROP
INPUT 체인에 입력인터페이스가 eht0이고, 도착지가 192.168.10.10이
고 프로토콜은 tcp이며 도착 포트는 80인 패킷은 버려라.