피드로 돌아가기
Dev.toSecurity
원문 읽기
UFW를 우회하는 Docker iptables Rule 제어로 인한 Redis 외부 노출 및 서버 탈취 리스크
How Misconfigured Docker Ports Bypass Every Firewall You Set Up - Stealthy vulnerability
AI 요약
Context
전통적인 UFW 및 iptables 설정으로 외부 포트를 차단했음에도 Docker 설치 후 특정 포트가 외부에 노출되는 보안 취약점 발생. Docker가 UFW의 INPUT 체인보다 우선순위가 높은 DOCKER 체인에 직접 iptables 규칙을 삽입하여 방화벽 설정을 무력화하는 구조적 한계 존재.
Technical Solution
- 호스트 바인딩 주소를 0.0.0.0에서 127.0.0.1로 제한하여 루프백 인터페이스로만 접속을 허용하는 구조 설계
- 외부 노출이 불필요한 내부 서비스의 포트 매핑을 제거하고 Docker 내부 네트워크망을 통한 서비스 간 통신 구현
- 서비스별 독립적인 Named Network를 정의하여 서로 다른 프로젝트 간의 컨테이너 접근을 차단하는 네트워크 격리 적용
- 내부망 접근 가능성을 고려하여 Redis 등에 --requirepass 옵션을 통한 인증 계층 추가
- 외부 머신에서 nmap 포트 스캔을 통해 실제 노출 여부를 검증하는 사후 검증 프로세스 도입
실천 포인트
1. docker-compose.yml 내 모든 ports 매핑에 '
1
2
7.
0.
0.1:' 접두사 적용 여부 확인
2. 컨테이너 간 통신 시 호스트 포트 매핑 없이 서비스 이름 기반의 내부 네트워크 사용 검토
3. 기본 bridge 네트워크 대신 프로젝트별 Named Network를 통한 Blast Radius 최소화
4. 배포 직후 외부망에서 nmap -p 1-65535 스캔을 통한 실제 포트 개방 상태 전수 조사