본문 바로가기
Tech/Linux

iptables를 이용한 방화벽 셋팅 #2

by 타이호 2018. 7. 8.
반응형

이번에는 iptables의 특별한 용도 및 옵션, 커스텀 체인에 대해 살펴 볼 것이다.


1. Syn 접속형 패킷 drop

TCP-IP 3핸드쉐이킹은 아래와 같이 수행하는데, syn 패킷은 접속 요청 플래그(syn)이 설정된 패킷으로 이 패킷을 drop 시키면 접속을 할 수 없다. 특히 DDOS의 경우 Syn Flooding은 서버에 Syn 패킷을 많이 보내기 때문에 아래 iptables 명령어로 막을 수 있다.

1) C ——— syn ——-▷ S

2) C ◁——- syn ack —– S

3) C ——— ack ——-▷ S

--tcp-flags는 첫번째 Argument(SYN,ACK,FIN,RST)는 고려를 하는 argument이고 두번째 argument(SYN)은 match하기를 원하는 mask이다.


2. -m 플래그

확장 모듈을 사용하기 위한 match를 명시하는 것이다. 예를 들어 tcp의 상태에 따른 패킷 분류를 설정 한다면  -m state --state 로 설정한다.

이것과 비슷하게 -m conntrack --ctstate 라고 해서 설정할 수 있는데 동일하다고 보면 될 것이다.

자세한 내용은 아래 링크를 참조하자

https://unix.stackexchange.com/questions/108169/what-is-the-difference-between-m-conntrack-ctstate-and-m-state-state


3. User-defined 체인 생성

빌트인 체인 이외에 custom 체인을 생성할 수 있다. 규칙 집합들을 최적화 해서 사용하는데 유용하고 자주 사용하는 규칙들을 적용해서 사용할 수 있다. 아래와 같이 MyChain이라는 체인을 생성한 뒤 해당 체인에 filter 규칙을 적용한다.






반응형