피드로 돌아가기
Dev.toSecurity
원문 읽기
Docker nftables 우선순위 충돌 해결로 보안 취약점 제거
Docker's nftables Mode Doesn't Respect Your Drop Rules — Here's the Fix
AI 요약
Context
Docker의 experimental nftables 모드 사용 시 사용자 정의 drop 규칙이 무시되는 문제 발생. Docker가 생성한 체인의 우선순위가 표준 필터 체인보다 높아 패킷을 먼저 수락하는 구조. 이로 인해 방화벽 설정 후에도 컨테이너 포트가 외부에 노출되는 보안 허점 존재.
Technical Solution
- Docker의 forward 체인 우선순위인 -100보다 낮은 -200 설정의 전용 체인을 생성하여 패킷 우선 필터링 구현
nft insert명령어를 통해 Docker 전용 체인 최상단에 drop 규칙을 삽입하여 컨테이너별 세밀한 접근 제어 적용- IPv4와 IPv6 트래픽을 동시에 제어하기 위해
ip테이블 대신inet테이블 패밀리 통일 - Docker 데몬 재시작 시 초기화되는 규칙을 유지하기 위해 systemd 서비스 기반의 자동 적용 스크립트 구축
nft monitor trace와meta nftrace설정을 통한 패킷 이동 경로 추적으로 규칙 적용 시점 검증log접두사 설정을 통해 차단된 연결 시도를 시스템 로그로 기록하는 모니터링 체계 마련
Key Takeaway
네트워크 필터링 설계 시 도구의 기본 설정보다 실행 우선순위(Priority) 계층 구조를 먼저 분석하는 것이 중요함. 인프라 자동화 도구가 생성하는 기본 규칙이 사용자 정의 정책을 덮어쓸 수 있음을 인지하고 명시적인 우선순위 제어 전략을 수립해야 함.
실천 포인트
Docker nftables 모드 사용 시 사용자 정의 규칙을 우선순위 -200 이하로 설정하거나 Docker 체인 최상단에 직접 삽입할 것