정보보안기사 : Iptables

- Linux에서 사용하는 SW방화벽

- table
-- filter : 특정규칙에 따라 패킷을 차단하거나 허용하는 역할 (INPUT, OUTPUT, FORWARD chain으로 구성)
-- nat : 주소변환용으로 사용
-- mangle : 패킷안에 데이터를 변환 또는 조작
-- raw : 연결추적 기능

- chain
-- INPUT : 외부에서 내부(server)로 들어올 때 input chain을 통과
-- OUTPUT : 내부(server)에서 외부로 나갈 때 output chain을 통과
-- FORWARD : 패킷의 도착지가 server가 아닌 패킷이면 forward chain을 통과

- root@ ~]# iptables -L //모든 테이블의 정책 보기

- CentOS 방화벽의 기본 정책
​Chain INPUT (policy ACCEPT)target        prot  opt    source               destination        
ACCEPT     all     --     anywhere            anywhere            state RELATED,ESTABLISHED
ACCEPT     icmp --     anywhere            anywhere           
ACCEPT     all     --     anywhere            anywhere           
ACCEPT     tcp   --     anywhere            anywhere            state NEW tcp dpt:ssh
REJECT      all     --     anywhere            anywhere            reject-with icmp-host-prohibited
Chain FORWARD (policy ACCEPT)target     prot opt source               destination         
REJECT     all  --  anywhere             anywhere            reject-with icmp-host-prohibited

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

[출처] [Linux 기초] iptables|작성자 지킴이



- target : 패킷이 규칙과 일치할 때 취하는 행동
-- ACCEPT : 패킷을 받아들임
-- REJECT : 패킷을 버리고 거절했다는 응답을 줌
-- DROP : 패킷을 삭제
-- LOG : 패킷을 syslog에 기록



- CentOS 방화벽의 기본 내용
root@ ~ ]# cat iptables //경로 : /etc/sysconfig
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
[출처] [Linux 기초] iptables|작성자 지킴이
-- :INPUT ACCEPT [0:0], :FORWARD ACCEPT [0:0], :OUTPUT ACCEPT [0:0]
--- 서버로 들어오는것, 서버를 경유하는 것, 서버에서 나가는 것에 대한 기본 정책은 ACCEPT라는 의미이다

-- -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
--- 새로운 규칙을 추가, 패킷의 상태가 ESTABLISHED,RELATED한것 중 위 조건에 맞는 패킷은 수신을 허가한다
--- 명령어분석
---- -A명령어의 종류

 [명령어 종류]
 명령어
설명
 -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)
 기본정책  변경

---- INPUT : 수신
---- -m, state --state, -j : 매치 (방화벽 정책을 적용하기 위한 조건)

 [매치 종류]
 매치
설명
 -s(--source)
 출발지 IP주소나 네트워크와 매치
 -d(--destination)
 목적지 ip주소나 네트워크와 매치
 -p(--protocol)
 특정 프로토콜과 매치
 -i(--in-interface)
 입력 인터페이스 
 -o(out-interface)
 출력 인터페이스
 --state
 연결 상태와 매치
 --string
 애플리케이션 계층 데이터 바이트 순서와 매치
 --comment
 커널 메모리 내의 규칙과 연계되는 최대 256바이트 주석
 -y(--syn)
 SYN 패킷을 허용하지 않는다.
 -f(--fragment)
 두 번째 이후의 조각에 대해서 규칙을 명시
 -t(--table)
 처리될 테이블
 -j(--jump)
 규칙에 맞는 패킷을 어떻게 처리할 것인가를 명시
 -m(--match)
 특정 모듈과의 매치

---- ESTABLISHED,RELATED : 패킷상태



위 포스팅내용은 http://blog.naver.com/73053936/220437699960 이곳을 참고했습니다




[출처] [Linux 기초] iptables|작성자 지킴이



[출처] [Linux 기초] iptables|작성자 지킴이
[출처] [Linux 기초] iptabdlesㅇㅇㅇ|작성자 
ㅇㄹㅇㅇㅇ

댓글

이 블로그의 인기 게시물

ping 일반오류 (General failure)를 고쳐보자

Windows 10. 공유폴더 쉽게 삭제하기 (feat. CMD)

Piolink TiFront Switch password recovery (파이오링크 스위치 비밀번호 초기화)