1. 개념
iptable은 리눅스에서 방화벽 정책을 수립할 수 있는 도구로 Netfilter Projecti라는 곳에서 C언어로 만들어진 패킷 필터링 서비스이다. 직접적인 패킷 필터링은 Netfilter라는 모듈에서 담당을 하며 iptable은 룰을 관리하는 역활을 합니다.
- iptable은 리눅스에서 특정 패킷을 분석해 패킷을 차단하거나 허용할 수 있습니다.
- 패킷 필터링 정책을 수립하여 적용합니다.
체인이란 서버로 들어오기 전에 거치는 통로같은 곳으로 접근 제어를 설정하는 곳입니다.
- INPUT: 외부 > 내부
- OUTPUT: 내부 > 외부
- FORWARD: 모든 패킷, 라우터에 방화벽을 적용할 때 쓰인다.
2. 명령어 구조
iptables[ -t table] command [match] [target\jump]
[옵션]
A: 규칙 추가
N: 새 체인 생성
X: 체인 제거
P: 체인 기본정책 변경
L: 체인의 규칙상태 보기(방화벽 룰셋 적용 확인)
F: 체인 내 모든 규칙 제거(방화벽 초기화)
Z: 체인 내 모든 규칙 패킷과 바이트의 카운트를 0으로 초기화
D: 규칙 삭제
R: 새 규칙으로 대체
I: 체인 가장 처음에 규칙 추가
E: 체인 이름 변경
3. 예제
1) iptables로 201.1.1.1로 접근하는 특정 IP 차단하시오.
iptables -A INPUT -d 201.1.1.1 -j DROP
iptables 규칙추가 / 들어오는 패킷 / -d / 주소 / -j 어떻게 처리할지 / 거부
-D/ -S
[!] --source -s address[/mask][...] source specification
[!] --destination -d address[/mask][...] destination specification
-J 옵션
ACEEPT/ REJECT(거부메세지)/ DROP(그냥 차단)
2) iptable에서 사용자 PC에서 DNS 서버로 연결되는 포트를 차단하시오.
iptables -A INPUT -p udp -m udp --dport 53 -j DROP
iptables 규칙추가 / 들어오는 패킷 / (udp로 들어오는) 특정 프로토콜 설정/ 특정 포트/ 거부
DNS는 udp/tcp 53 포트를 사용한다
일반 질의 응답, 네임 서버 질의은 UDP 53, 동기화 등 특정 설정에 TCP 53 사용.
3) iptable에서 DNS를 사용하는 모든 서비스를 차단하시오.
iptables -A FORWORD -p udp -m udp --dport 53 -j DROP
*더 많은 예시가 담긴 글
https://itragdoll.tistory.com/1
'CS & Reversing' 카테고리의 다른 글
configure: error: no acceptable C compiler found in $PATH 해결 (0) | 2022.09.28 |
---|---|
[정보보안] 버퍼 오버 플로우(BOF) 개념, 원리, 대응방안 (0) | 2022.03.06 |
[정보보안] etc/passwd, /etc/shadow에 대한 이해 (0) | 2022.03.05 |
[정보보안] 1-2 운영체제의 구조 (0) | 2022.03.02 |
[정보보안] 1-1 운영체제 이해 및 관리 (0) | 2022.03.02 |