티스토리 뷰

Security

IPTABLES 기본 개념 정리

CHOMAN 2015. 6. 4. 17:43

Tables


- filter
- NAT (Network Address Translation)
- mangle

- raw 





Table 마다 특정한 Chain 생성가능

고유체인들
filter Table
- INPUT : 커널내부에서 라우팅을 마친후 로컬 자신이 목적지인 패킷에 적용
- OUTPUT : 로컬 시스템 자신이 생성한 패킷을 위한 나가는 패킷에 적용
- FORWARD : 로컬 시스템 자신을 통과하는 패킷에 대한 적용

NAT Table
- PREROUTING : 라우팅 결정이 되기전 헤더 변경 가능
- POSTROUTING : 라우팅 결정이 된 후 헤더 변경 가능

Match
--source (-s) : 출발지 주소
--destination (-d) : 목적지 주소
--sport : 출발지 포트
--dport : 목적지 포트

-m multiport --dport XX,XX or XX:YY
-m multiport --sport XX,XX or XX:YY
-m mac --mac-source <MAC ADDRESS>

--protocol (-p) : 프로토콜
--in-interface (-i) : 입력 인터페이스 ex) eth0 ...
--out-interface (-o) : 출력 인터페이스
--state : 연결상태와의 매칭
--string : 어플리케이션 계층 문자열 매칭
--comment : Max 256Byte 주석

-m state : 패킷의 상태에 규칙을 적용하기 위한 하위옵션


NEW : 새롭게 연결을 시작 및 이전 연결추적 테이블에 보이지 않는 패킷 (Syn-flag) 패킷은 아님


ESTABLISHED : 연결이 맺어진 이후에 tcp ack or udp or icmp (echo-request and echo-reply) 등이 이에 속함


RELATED : 새롭게 연결하려고 하나 이미 현결추적 테이블에 접속과 관련있는 ESTABLISHED 테이블이 있는 경우

               (icmp 에러 메세지 FTP 접속시 사용하는 두번째 포트 (20)


INVALID : 연결 상태를 알수 없거나 잘못된 헤더를 가지고 있는 경우






Target
 (패킷이 규칙과 일치시 동작을 취하는 것을 의미함)
- 일반적으로 패킷을 허용하는 규칙을 먼저 적용하고 후에 드랍하는 규칙 적용 (위에서 아래로 순차 적용됨)

ACCEPT : 패킷이 본래 라우팅 대로 진행
DROP : 패킷을 버림
LOG : 패킷을 Syslog에 기록함 (-j LOG --log--prefix "로그이름")
REJECT : 패킷을 버리고 적절한 응답패킷을 전송
- ex) iptables -A INPUT -j REJECT --reject-with icmp-host-prohibited
모든 접근에 대해 "icmp-host-prohibited" 메시지와 함께 접근 거부

RETURN : 호출한 체인 내에서 패킷 처리를 계속 함

넷필터옵션 (커널컴파일) : 그냥 옵션 모르겠으면 다 체크해주면 됨
Core Netfilter Configuration
IP Netfilter Configuration

모듈

NAT 관련 모듈 모듈 해제

rmmod iptable_nat
rmmod nf_nat
rmmod nf_conntrack_ipv4
rmmod nf_defrag_ipv4
rmmod nf_conntrack
rmmod iptable_raw


command & etc
/etc/sysconfig/iptables ; 기본적으로 로드하는 iptables 룰 파일 재시작 될 때 이룰이 그대로 따로 올라온다

iptables -L --line-number ; rule 이 적용되는 순차적인 넘버링을 볼수 있음

 

 

iptables 1.4.X 부터는 문법이 바뀌었음

Using intrapositioned negation (`--option ! this`) is deprecated in favor of extrapositioned (`! --option this`).
-A FORWARD -s ! 
-A FORWARD ! -s

'Security' 카테고리의 다른 글

Apache (WEB) 웹 무단 링크 차단  (0) 2015.06.04
iptables limit 모듈  (0) 2015.06.04
원시패킷 raw packet 리눅스 방화벽 처리  (0) 2015.06.04
방화벽에서 오픈 해야할 아이피들  (0) 2015.06.04
SQL 인젝션 로그 파일  (0) 2015.06.04
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함