Iptables Chain, Rule

작성자 이경미 수정일 2023-02-28 17:48

들어가며

  • iptables 가 사용하는 Chain 과 Rule 에 대해 알 수 있습니다.



내용

제품이 올라가는 kubernetes 와 kubernetes 의 통신 교환을 위해 사용되는 calico등 SparklingSoDA 는 iptables 라는 보안정책에 따르게 됩니다. 


Iptables 에서 사용되는 Chain 과 Rule 이 어떻게 패킷을 교환하는지에 대해 알아보도록 합니다. 


Iptables 가 무엇인가요?

iptables 는 패킷을 통해 통신할 수 있도록 하는 방화벽 관리도구, 즉 침입 차단 시스템입니다. 


작동 방식

1. 리눅스 방화벽을 통과하는 모든 패킷에 대한 연결 상태를 추적하고, 이 정보를 메모리에 저장. 

2. 연결 요청시 메모리에 저장된 상태 목록과 비교하여 적합한 경우에만 통과.


iptables 는 패킷별로 네트워크 및 전송계층만 참고하지 않고, nerfilter 를 통해 일정 시간동안의 프로토콜의 상태정보를 유지하므로 빠른 보안성과 성능을 제공합니다.


 iptables 를 효과적으로 사용하기 위해서는 iptables 에서 사용되는 Chain 과 Rule 에 대한 이해가 필요합니다. 



Table 이 무엇인가요?

iptables 가 제공하는 기능입니다. 기본적으로 Filter, Nat, Mangle 을 제공합니다. 



Chain 이 무엇인가요?

패킷이 이동하는 경로를 의미합니다. 

iptables 에서는 기본적으로 Filter 테이블에서 제공하는 Chain 은 다음과 같습니다. 

- INPUT CHAIN : 방화벽을 최종 목적지로 하는 체인

- OUTPUT CHAIN : 방화벽을 최초 출발지로 하는 체인

- FORWARD CHAIN : 하나의 네트워크에서 다른 곳으로 보내는 체인


 Chain 은 먼저 등록된 Rule 에 대한 효력이 발생하므로 등록하는 순서가 중요합니다. 즉, 허용되는 Rule 이 먼저 등록되어야하고, 그 후에 거부하는 정책이 와야합니다.



Rule 이 무엇인가요?

패킷이 들어오면 필터링을 하기위한 정의입니다. 

규칙들은 특정 테이블의 특정 체인에 설정할 수 있으며, 각 체인이 호출되었을 때, 패킷은 순서대로 체인에 설정된 규칙을 체크합니다. 



kubernetes 에서 iptables 

kubelet 은 nat 테이블에 iptables chain 을 생성하지 않습니다.

또한 테이블의 Chain 에는 filter 가 연결된 기능이 없습니다. 

https://kubernetes.io/blog/2022/09/07/iptables-chains-not-api/

아티클이 유용했나요?

훌륭합니다!

피드백을 제공해 주셔서 감사합니다.

도움이 되지 못해 죄송합니다!

피드백을 제공해 주셔서 감사합니다.

아티클을 개선할 수 있는 방법을 알려주세요!

최소 하나의 이유를 선택하세요
CAPTCHA 확인이 필요합니다.

피드백 전송

소중한 의견을 수렴하여 아티클을 개선하도록 노력하겠습니다.

02-558-8300