iptables란 넷필터 프로젝트에서 개발했으며 광범위한 프로토콜상태 주적, 패킷 어플리케이션 계층검사, 속도제한, 필터링 정책을 명시하기 위한 강력한 메커니즘을 제공한다.
시스템관리자가 리눅스 커널 방화벽이 제공하는 테이블들과 그것을 저장하는 체인, 규칙들을 구성할 수 있게 해주는 사용자 공간 응용프로그램이다.
매치
iptables 에서 패킷을 처리할 때 만족해야 하는 조건을 가리킨다. 즉, 이 조건을 만족시키는 패킷들만 규칙을 적용한다.
구분 |
설명 |
--source(-s) |
출발지 ip 주소나 네트워크와의 매칭 |
--destination(-d) |
목적지 ip 주소나 네트워크와의 매칭 |
--protocol(-p) |
특정 프로토콜과의 매칭 |
--in-interface(i) |
입력 인터페이스 |
--out-interface(-o) |
출력 인터페이스 |
--state |
연결 상태와의 매칭 |
--string |
애플리케이션 계층 데이터 바이트 순서와의 매칭 |
--comment |
커널 메모리 내의 규칙과 연계 되는 최대 256바이트 주석 |
--syn(-y) |
syn 패킷을 허용하지 않는다. |
--fragment(-f) |
두번째 이후의 조각에 대해서 규칙을 명시한다 |
--table(-t) |
처리될 테이블 |
--jump(-j) |
규칙에 맞는 패킷을 어떻게 처리할 것인가를 명시한다. |
--match(-m) |
특정 모듈과의 매치 |
타깃(target)
iptables는 패킷이 규칙과 일치할 때 동작을 취하는 타깃을 지원한다.
구분 |
설명 |
ACCEPT |
패킷을 받아들인다 |
DROP |
패킷을 버린다 |
REJECT |
패킷을 버리고 이와 동시에 응답패킷을 전송 |
LOG |
패킷을 syslog에 기록한다 |
RETURN |
호출 체인 내에서 패킷 처리를 계속한다. |
REJECT는 서비스에 접속하려는 사요ㅗㅇ자의 액세스를 거부하고 connection refused 라는 오류메세지를 보여주는 반면 DROP는 말 그디로 telnet 사용자에게 어떠한 경고메세지를 보여주지 않은채 패킷을 버린다. 사용자가 혼란스러워 하지 않도록 reject를 쓰자
명령어
구분 |
설명 |
-A(--append) |
새로운 규칙을 추가한다 |
-D(--delete) |
규칙을 삭제한다 |
-C(--check) |
패킷을 테스트한다 |
-R(--replace) |
새로운 규칙으로 교체한다 |
-I(--insert) |
새로운 규칙을 삽입한다 |
-L(--list) |
규칙을 출력한다 |
-F(--flush) |
chain으로부터 모든 규칙을 삭제한다 |
-Z(--zero) |
모든 chain의 패킷과 바이트 카운터값을 0으로 만든다 |
-N(--new) |
새로운 chain을 만든다 |
-X(--delete-chain) |
chain을 삭제한다. |
-P(--policy) |
기본 정책을 변경한다. |
'정보보안관제사 > 보안관제 기술' 카테고리의 다른 글
보안관제 로그 분석 (0) | 2017.08.24 |
---|---|
보안 관제기술 (0) | 2017.08.24 |