기본 seccomp 프로필 비활성화

불필요한 seccomp 해제를 제거하고 필요한 시스템 호출만 허용하세요.

설명

seccomp는 컨테이너가 사용할 수 있는 시스템 호출을 제한해 커널 노출 범위를 줄여 주는 기본 보안 장치입니다.

security_opt에 seccomp:unconfined 같은 설정을 넣으면 이 보호 장치를 사실상 끄게 됩니다. 특별한 이유 없이 기본 seccomp를 해제하면 컨테이너 격리 수준이 낮아질 수 있습니다.

잠재적 영향

  • 컨테이너가 더 많은 시스템 호출을 사용할 수 있어 공격 표면이 넓어집니다.
  • 애플리케이션 취약점이 있을 때 커널 수준 악용 가능성이 커질 수 있습니다.
  • 보안 표준에서 기대하는 기본 컨테이너 격리가 약해질 수 있습니다.

해결 방법

  • security_opt에서 seccomp 비활성화 설정을 제거하세요.
  • 정말 필요한 시스템 호출이 있다면 전체 해제 대신 맞춤 seccomp 프로필을 검토하세요.
  • 디버깅용 예외 설정이 운영 환경으로 넘어오지 않도록 배포 기준을 분리하세요.

예시

Linux Docker에서 seccomp를 지원하는 실행 환경을 전제로 한 발췌입니다. sample/app:latest는 실제 서비스 이미지로 바꾸세요.

변경 전

yaml
services:
  demo:
    image: sample/app:latest
    security_opt:
      - seccomp:unconfined

변경 후

yaml
services:
  demo:
    image: sample/app:latest

설명:

  • 변경 전: seccomp 보호를 해제해 컨테이너가 더 넓은 시스템 호출 범위를 사용할 수 있습니다.
  • 변경 후: seccomp 해제 옵션을 제거합니다. 실행 환경에서 기본 프로필이 실제 적용되는지 확인하세요.

참조