갈루아의 반서재

1. 변경내용 적용방법

iptables 파일은 아래에서 보시다시피 /etc/sysconfig 에 위치한다. 

직접 수정후 업로딩하거나 아래와 같이 콘솔상에서 직접 편집한다. 


#cd /etc/sysconfig/

#vi iptables

#service iptables restart

#/etc/init.d/iptables save

2. 도입부

# Firewall configuration written by lokkit

# Manual customization of this file is not recommended.

# Note: ifup-post will punch the current nameservers through the

#       firewall; such entries will *not* be listed here.

*filter // 필터링 시작 // 규칙을 세우기 시작한다

:INPUT ACCEPT [0:0] // INPUT(호스트로 향하는 모든 패킷) 모두 오픈

:FORWARD ACCEPT [0:0] // FORWARD(호스트가 목적지가 아닌, 즉, 라우터로 사용되는 호스트를 통과하는 패킷) 모두 오픈

:OUTPUT ACCEPT [0:0] // OUTPUT(호스트에서 발생하는 모든 패킷) 모두 오픈

:RH-Lokkit-0-50-INPUT - [0:0] // RH-Lokkit-0-50 형식의 INPUT 모두 오픈

-A INPUT -j RH-Lokkit-0-50-INPUT // INPUT 을 모두 RH-Lokkit-0-50-INPUT 로 점프 

-A FORWARD -j RH-Lokkit-0-50-INPUT // FORWARD 를 모두 RH-Lokkit-0-50-INPUT 로 점프 

3. 기본형식

# 기본 형식은 다음과 같다.

-A   RH-Lokkit-0-50-INPUT   -s 123.123.123.123  -p tcp   -m tcp   --dport 22   --syn  -j  ACCEPT

 범주

 인자

 설명 

 tables

 filter

 nat

 mangle

 raw

 IP 필터링

 네트워크 주소 변환

 패킷 정보 변경

 패킷 마킹

 chain

 INPUT

 OUTPUT

 FORWARD

 호스트로 향하는 모든 패킷

 호스트에서 발생하는 모든 패킷

 라우터로 사용되는 호스트를 통과하는 모든 패킷

 match

 -s (--source)

 -d (--destination)

 -p (--protocol)

 -i (--in-interface)

 -o (--out-interface)

 -y (--syn)

 -f (--fragment)

 -t (--table)

 -j (--jump)

 -m(--match)

 --state

 --string

 --comment

 출발지 ip  주소와 매칭

 목적지 ip 주소와 매칭

 특정 프로토콜과 매칭

 입력 인터페이스

 출력 인터페이스

 SYN 패킷 비허용

 두 번째 이후 조각에 대한 규칙 명시

 처리되는 테이블

 규칙에 맞는 패킷의처리 방법 명시

 특정 모듈과의 매칭

 연결 상태와의 매칭

 데이터 바이트 순서와의 매칭

 주석

 target

 ACCEPT

 DROP

 REJECT

 LOG

 RETURN

 패킷수용

 패킷폐기 (어떤 메시지도 없이 패킷폐기)

 패킷폐기 후 응답전송 (connection refused 라는 오류 메시지 보여줌)

 패킷로그기록

 호출체인내에서패킷처리지속

 Connection Tracking

 NEW

 ESTABLISHED

 RELATED

 INVALID

 새로운 연결요청

 기존연결의 일부

 기존연결에 속하지만 새로운 연결요청 

 연결추적표에서 어디에도 속하지 않는 연결

 command

 -A (--append)

 -D (--delete)

 -C (--check)

 -R (--replace)

 -I (--insert)

 -L (--list)

 -F (--flush)

 -Z (--zero)

 -N (--new)

 -X (--delete-chain)

 -P (--policy)

 규칙추가

 규칙삭제

 패킷테스트

 규칙교제

 규칙삽입

 규칙출력

 체인으로부터 규칙모두삭제

 체인의 패킷과 바이트 카운터값 0으로

 체인생성

 체인삭제 

 정책변경


4. 정책 적용예

-A RH-Lokkit-0-50-INPUT -s 123.234.200.21  -p tcp -m tcp --dport 5051 --syn -j ACCEPT

-A RH-Lokkit-0-50-INPUT -s 123.234.200.21  -p udp -m udp --dport 5051 -j ACCEPT

-A RH-Lokkit-0-50-INPUT -p tcp -m tcp --dport 80 --syn -j ACCEPT

-A RH-Lokkit-0-50-INPUT -s 123.234.200.21  -p tcp -m tcp --dport 22 --syn -j ACCEPT

-A RH-Lokkit-0-50-INPUT -s 220.140.127.120 -p tcp -m tcp --dport 80 -j REJECT

-A RH-Lokkit-0-50-INPUT -p udp -m udp --dport 1026 -j REJECT

-A RH-Lokkit-0-50-INPUT -p tcp -m tcp --dport 5900 -j REJECT

-A RH-Lokkit-0-50-INPUT -i lo -j ACCEPT // 로컬호스트 인터페이스에 들어오는 패킷 허용

COMMIT