컨테이너의 사용은 계속해서 증가하고 있습니다. 서버리스, 클라우드 네이티브 앱 또는 모놀리스를 현대화하려는 요구 사항 등, 컨테이너는 앱을 배포하기 위한 선호 플랫폼으로 빠르게 자리잡고 있습니다.
Sysdig는 최근 자사의 퍼블릭 클라우드 및 온프레미스 서비스에서 수집한 고객 데이터를 기반으로 2019년 컨테이너 사용 보고서를 발표했습니다 . 해당 데이터는 200만 개가 넘는 컨테이너에 대한 것입니다.
정말 흥미로운 사실 하나는 컨테이너의 60%가 NGINX를 실행한다는 사실인데, Sysdig는 꽤 걱정스러운 보안 통계도 발견했습니다.
다음 내용을 고려해 보세요. 54%의 용기가 5분 이내에 작동하지 않았습니다. 2018년에는 그런 경우가 20%에 불과했습니다.
왜 이것이 걱정스러운가요? 물론 보안이죠. 액세스를 보호하려는 경우(보호해야 할 사항) 그리고 해당 컨테이너에서 실행되는 앱이나 API를 보호하려는 경우 보안 서비스가 클러스터의 현재 상태에 맞게 정책을 지속적으로 조정하도록 해야 합니다. 즉, 컨테이너가 시작될 때 정책을 적용해야 하고, 컨테이너가 폐기될 때 정책을 제거해야 합니다. 많은 변화가 일어나고 있다는 것은 운영상의 간접 비용이 많이 든다는 것을 의미합니다. 비교적 정적인 애플리케이션에 보안을 제대로 적용하는 것조차 어려운데요. 변동성이 매우 큰 상황에서는 빠른 속도로 처리하기가 정말 어렵습니다.
이것이 문제가 되지 않는다면 이 통계를 시도해 보세요. 컨테이너 이미지의 60%가 개인 레지스트리에서 가져온 것이지만(좋은 통계입니다!), 그 중 52%는 이미지 검사에 실패합니다. 이는 심각도가 높거나 그 이상의 취약점이 알려져 있었다는 의미입니다.
으악. 난 심지어 못해.
많은 사람들이 컨테이너를 루트로 실행하고 있는 것으로 나타났습니다(호스트당 중간값: 21) 또는 특권 모드(호스트당 중간값: 4). 다른 호스트는 제한된 권한을 갖지 않습니다(호스트당 평균 28개). 특히 Docker(가장 널리 사용되는 컨테이너 런타임)는 기본적으로 제한된 기능 세트로 시작하기 때문에 이는 실망스럽습니다. 이는 누군가가 의도적으로 기본 보안 설정을 변경했다는 것을 의미합니다. 제한 없이 실행하면 권한을 확대하거나 컨테이너를 분리(시스템에 대한 액세스 허용)할 수 있습니다.
이제 컨테이너 보안의 기본 사항에 대한 알림을 위해 잠시 휴식을 취합니다.
앱의 보안과 그에 따른 비즈니스 보안에 있어서 좋은 컨테이너 보안 관행이 실제로 실행에 옮겨지는 것은 절대적으로 중요합니다. 곧 출간될 2020 애플리케이션 서비스 현황 보고서에 따르면 클라우드 네이티브/마이크로서비스가 엔터프라이즈 앱 포트폴리오의 평균 15%를 차지하는 것으로 나타났습니다. 그 비율은 새로운 신청에 대한 처리가 오랫동안 미뤄지고 있다는 조사 결과에도 불구하고 나온 것입니다. 즉, 컨테이너화된 앱은 계속해서 성장할 것이라는 뜻입니다. 그리고 만약 우리가 소수의 앱만 보호하지 못한다면, 어떻게 그 중 상당 부분을 보호할 수 있을 만큼 확장할 수 있을 것으로 기대할 수 있을까요?
안전한 컨테이너화를 실천하세요.
컨테이너 보안 기본 사항에 대한 재교육에 관심이 있다면 F5 동료 Jordan Zebor의 전문 지식을 기반으로 한 이 시리즈를 확인하세요.