보안성 검토 컨테이너 사항 정리

타샤's 월드·2025년 5월 26일

✅ Docker 보안성 검토 대응 작업 요약

대상: 문서 처리 시스템 기반 대기업 서비스
환경: 내부망(Air-gapped), Docker Compose 기반 운영

🔒 1. 컨테이너 메모리 제한 설정

  • docker-compose.yml에 mem_limit, memswap_limit 추가

  • OCR, NLP 서비스별 메모리 사용량 고려하여 8~16GiB 수준으로 설정

mem_limit: 12g
memswap_limit: 12g

🔒 2. PIDs 제한 설정

  • 무한 fork 등으로 인한 시스템 리소스 고갈 방지

  • 컨테이너당 프로세스 수 제한 (예: pids_limit: 300)

pids_limit: 300

🔒 3. Read-only Root Filesystem 적용

  • 컨테이너의 루트 파일 시스템을 읽기 전용으로 설정

  • /tmp, /app, /run은 tmpfs 또는 volume로 쓰기 가능하게 분리

read_only: true
tmpfs:
  - /tmp
  - /run
  - /app

🔒 4. 비루트 사용자 실행

  • UID 2001, GID 2001로 비루트 사용자 daiadm, 그룹 daiap 수동 생성

  • 기존 이미지에 useradd, groupadd 명령이 없어 파일 docker cp 로 불러와서 /etc/passwd, /etc/group 직접 수정

echo 'daiadm:x:2001:2001::/home/daiadm:/sbin/nologin' >> /etc/passwd
echo 'daiap:x:2001:' >> /etc/group
user: "2001:2001"

🔒 5. Seccomp 프로파일 적용

  • 최소 syscall만 허용하는 seccomp-profile.json 작성

  • docker-compose.yml에 security_opt로 적용

security_opt:
  - seccomp=./seccomp-profile.json
  - no-new-privileges:true
profile
그때 그때 꽂힌것 하는 개발블로그

0개의 댓글