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인 패킷은 버려라.