LINUX

[linux] conntrack에 대해 알아보자(iptables)

Rainbound-IT 2024. 3. 11. 15:26
반응형

 

 

 

서론

iptables를 화이트리스트로 설정했는데 외부와 통신이 되질 않는다.

 

udp 및 tcp의 임시포트를 허용해 주면 되지만 다음과 같이 상태를 추적하여 허용해주면

간단하고 보안적으로도 좋은 방화벽을 구성할수가 있다.

 

iptables -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT

 

 

그런데 저 상태가 어떤식으로 전송이 되는지 궁금하여 찾아보았다.

 

 

 

 

conntrack 상태

 

처음엔 이렇게

 

추후엔 이런식으로 상태가 됩니다.

 

  1. NEW: 이 상태는 새로운 연결을 나타냅니다. 클라이언트가 서버에 접속하거나 새로운 연결을 요청하는 패킷은 이 상태로 분류됩니다.
  2. ESTABLISHED: 이 상태는 이미 설정된 연결을 나타냅니다. 한 번의 초기 연결 설정 이후에 데이터가 주고받아지는 연결은 ESTABLISHED 상태로 분류됩니다.
  3. RELATED: 이 상태는 이미 설정된 연결과 관련된 추가적인 트래픽을 나타냅니다. 이미 수립된 연결에 의해 생성된 추가적인 트래픽은 RELATED 상태로 분류됩니다. 예를 들어, FTP나 ICMP 등의 프로토콜은 이미 설정된 연결과 관련된 패킷을 생성할 수 있습니다.
  4. INVALID: 이 상태는 유효하지 않은 연결이나 패킷을 나타냅니다. 예를 들어, 패킷의 헤더가 손상되었거나 연결이 올바르게 설정되지 않은 경우 INVALID 상태로 분류됩니다.

 

말로만 들으면 응답을 받은후 상태가 분류되는줄 알아서 굉장히 헷갈렸었다.

그림으로 보면 이해가 잘 갈것입니다.

 

 

 

 

 

Reference

http://www.infotinks.com/iptables-input-m-conntrack-ctstate-establishedrelated-j-accept/

 

iptables -A INPUT -m conntrack -ctstate ESTABLISHED,RELATED -j ACCEPT - infotinks

Firewalls usually block all inbound connections (unless we have a port forward setup, or the traffic is return traffic). Also firewalls usually allow all outbound traffic (unless we are in a veryRead More...

www.infotinks.com

 

반응형