<iptables 방화벽>
시스템 – 관리 – 방화벽 (GUI)
/etc/sysconfig/iptables

테이블
-패킷 필터링이나 또는 네트워크 주소 변환이냐(NAT)와 같은 큰 범주를 선택하는 것
filter | 일반적으로 알고 있는 방화벽의 의미, 룰에 따라 패킷을 허용 또는 drop |
nat | 방화벽으로 오는 패킷을 내부의 특정 주소로 포워딩 또는 내부의 네트워크에서 외부로 나갈 때 특정 IP로 변환 |
mangle | 패킷의 TTL 또는 TOS값을 변경하거나 비교할 때 사용 |
raw | 하위 시스템과 독립적으로 작동해야 하는 규칙 |
체인
- 각 테이블이 가지고 있는 고유 집합, 추가로 사용자가 체인을 만들 수도 있다.
filter (INPUT, FORWARD, OUTPUT) 수신지가 iptable인 것, iptable을 통과하는 것, 송신지가 iptable인 것
nat (PREROUTING, POSTROUTING), 외부에서 내부로 올 때 변환될 것, 내부에서 외부로 올 때 변환될 것
매치
-어떤 패킷인지를 결정
--source (-s) : 출발지 IP주소나 네트워크와의 매칭
--destination (-d) : 목적지 IP주소나 네트워크와의 매칭
--protocol (-p) : 프로토콜 지정
--int-interface (-i) : 입력인터페이스 지정
--out-interface (-o) : 출력인터페이스 지정
--state : 연결상태
--string : 어플리케이션 계층 데이터 바이트 값 비교
타겟
- 규칙과 일치할 때 수행하는 작업
ACCEPT : 허용
DROP : 거부
REJECT : 거부 후 왜 거부했는지 응답해줌. TCP=Reset으로 UDP=port unrechable로
LOG : 패킷을 syslog에 기록
RETURN : 호출체인 내에서 패킷 처리를 계속한다.
연결추적 (state)
- 연결 추적이라는 방식을 사용하여 서비스 연결 상태에 따라서 해당 연결을 감시하고 제한할 수 있다.
NEW : 새로운 연결
ESTABLISHED : 기존 연결의 일부인 패킷
RELATED : 기존 연결에 속하지만 새로운 연결을 요청하는 패킷 (ftp의 다중 포트접속 20/21)
INVALID : 어디에도 속하지 않는 나머지
동작방식
- 위에서부터 차례로 각 규칙에 대해 검사하고, 그 규칙과 일치하는 패킷에 대하여
특정작업을 수행 (ex. ACCEPT, DROP 등)
특정작업을 수행하고 나면 그 뒤에 규칙은 무시한다.
모든 규칙을 검사해도 일치하는 규칙이 없다면 마지막 기본 정책에 의해 특정 작업을 수행한다.
기본 정책은 ACCEPT 또는 DROP이 있다.
명령어 iptables
-A : 새로운 규칙을 추가한다.
-D : 기존의 규칙을 제거한다.
-R : 기존의 규칙을 새로운 규칙으로 교체한다.
-P : 기본 정책을 변경한다.
-C : 페킷을 테스트한다.
-I : 새로운 규칙을 삽입한다.
-L : 규칙을 출력한다.
-F : 체인으로부터 규칙을 모두 삭제한다.
-N: 새로운 체인을 만든다.
-X : 체인을 삭제한다.
iptables –L : 규칙 조회

iptables –F : 규칙 모두 삭제

service iptables save : 변경사항을 저장

기본정책 ACCEPT

mysql : 3306
http 80
https 443
dns 53
ftp 21
smtp: 25
pop3 :110
ICMP :
iptables –A INPUT –p icmp --icmp-type-echo-request –j ACCEPT
iptables –A INPUT –p icmp --icmp-type-echo-reply –j ACCEPT
'IT > OS' 카테고리의 다른 글
LINUX outlook (0) | 2024.02.01 |
---|---|
LINUX mysql jdbc mail (1) | 2024.01.31 |
Linux NFS FTP vsftp (2) | 2024.01.31 |
Linux 부팅과정 Tomcat (0) | 2024.01.31 |
Linux 네트워크 yum 디스크 (1) | 2024.01.31 |