티스토리 뷰
출처 : https://brownbears.tistory.com/151
iptables는 리눅스에서 패킷을 분석해 차단하거나 통과시키는 정책이다.
테이블
테이블은 filter,nat,mangle,raw 4개로 구성되어 있는데 filter테이블로 필터링 규칙을 세운다.
체인
filter테이블에는 미리 정의된 INPUT,OUTPUT,FORWARD 3가지의 체인이 존재한다.
이 체인들은 패킷에 대해 정해진 규칙을 수행한다.
INPUT : 호스트 컴퓨터로 들어오는 패킷
OUTPUT : 호스트 컴퓨터에서 나가는 패킷
FORWARD : 호스트 컴퓨터가 목적지가 아닌 모든 패킷,호스트를 통과하는 패킷
명령어
-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) : 기본정책을 변경
매치
패킷을 처리할 때 사용되는 조건. 조건을 만족시키는 패킷들에 규칙을 적용한다.
-source(-s) : 출발지 ip
-destination(-d) : 목적지 ip
-protocol(-p) : 특정 프로토콜
--in-interface(-i) : 입력 인터페이스
--out-interface(-o) : 출력 인터페이스
--state : 연결 상태와의 매칭
--string : 애플리케이션 계층 데이터 바이트 순서와의 매칭
-jump(-j) : 규칙에 맞는 패킷을 어떻게 처리할지 명시
-match(-m) : 특정 모듈과의 매치
타겟
패킷이 규칙과 일치할 때 동작을 취하는 타겟을 지원한다.
ACCEPT : 패킷을 받아들임
DROP : 패킷을 버림
REJECT : 패킷을 버리고 동시에 응답 패킷 전송
LOG : 패킷을 syslog에 기록
RETURN : 호출 체인 내에서 패킷 처리 지속
loopback ip인 127.0.0.1로 실험을 해보자.
127.0.0.1로 ping을 해보면
잘 된다.
이번엔
iptables -A OUTPUT -o lo -j DROP
체인을 적용하고 해보자.
-A는 새로운 체인 추가, output으로 나가는 패킷 -o로 출력 인터페이스 lo, -j로 DROP 처리
안된다.
iptables -L
이렇게 OUTPUT에 설정되어 있는게 있다.
-F 명령어로 초기화 해주자.
이 외에도
iptables -A INPUT -p tcp --dport 53 -j DROP
을 이용해 dns포트 tcp 53번 포트의 출입을 막을수도 있고
iptables -A INPUT -s 128.12.54.21 --dport 138 -j DROP
로 출발지가 128.12.54.21이고 138번 포트를 막아 랜섬웨어를 막을수 있다.
마지막으로 iptables-config로 iptables에 대한 설정을 볼 수 있고,
iptables-save로 저장할 수 있다.
'리눅스' 카테고리의 다른 글
scp를 이용한 파일 전송 (0) | 2020.11.21 |
---|---|
mpreferred-stack-boundary=2 (0) | 2020.11.14 |
Linux의 부팅 (0) | 2020.10.24 |
john the ripper 사용하기 (0) | 2020.09.26 |
파일 디스크립터 (0) | 2020.09.13 |
- Total
- Today
- Yesterday
- AE
- PCA
- 케라스
- Python
- 차량용 이더넷
- 논문 잘 쓰는법
- 딥러닝
- problem statement
- SOME/IP
- cuckoo
- 단순선형회귀
- automotive ethernet
- HTML
- 차량 네트워크
- many-to-many
- 회귀
- AVTP
- 머신러닝
- CAN-FD
- 이상탐지
- automotive
- Ethernet
- 로지스틱회귀
- AVB
- 크로스 엔트로피
- many-to-one
- one-to-many
- json2html
- SVM
- porks
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |