도커 보안을 향상하는 방법

# 도커 데몬 - /var/run/docker.sock 열지 말기 - 열어야 된다면 TLS 적용하기 - 컨테이너 간 통신 비활성화 - 도커 컨테이너를 생성하면 기본적으로 docker0 브릿지 네트워크에 연결됨 - 이를 비활성화하고, 같은 프로젝트 내 컨테이너 간 통신은 수동으로 네트워크 생성하여 사용 # 이미지 - 검증된 이미지만 사용 / 작은(alpine 기반) 이미지 사용 - 작은 크기의 이미지는 용량 감소를 위해 적은 OS 패키지를 사용하므로 공격 가능한 표면도 줄어듦 - 대신 이 경우는 필요한 기능 추가를 위해 패키지 설치할 때 더 잘 알아봐야 할 듯 - 이미지 자주 재빌드 - base 이미지, 빌드 시 설치한 패키지 버전 업데이트 등 - 이미지 취약점 스캔 (docker scout) - dockerfile lint 툴 사용하면 도커파일도 체크 가능 # 컨테이너 - 안 쓰는 포트 열지 말 것 - privileged 모드 쓰지 말 것 - container breakout 발생 가능 - drop capabilities 사용 - 기본적으로 도커는 리눅스 기능을 많이 사용. 필요한 기능만 추가해서 사용 추천 - DoS 공격 방지를 위해 자원 한계치 명시하기 - 기본적으로 도커는 호스트 자원을 다 가져다 쓸 수 있음 (Docker Desktop을 쓰는 맥이나 윈도우의 경우에는 가상 머신 설정 최대치로 제한되긴 함) - 컨테이너 내부 유저 권한을 root가 아닌 일반 유저로 설정 - 필요한 경우가 아니라면 fs는 read-only로 설정하여 컨테이너에서 호스트로 쓰기 작업 제한 제가 주의깊게 본 내용은 이정도이지만 본문에는 훨씬 더 많은 내용이 있으니 도커 컨테이너를 자주 사용하시는 분이라면 본문을 읽어보시는 것을 추천드립니다. https://spacelift.io/blog/docker-security 추가로, Naver Deview 2020에도 컨테이너 보안 관련 세션이 있어서 같이 첨부합니다. https://deview.kr/2020/sessions/391

21 Docker Security Best Practices - Deamon, Image & Container

Spacelift

21 Docker Security Best Practices - Deamon, Image & Container

다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2023년 8월 2일 오후 11:20

댓글 0