最近code scan有遇到一個issue
Fortify Dockerfile Misconfiguration: Default User Privilege
這個弱點主要是一般人在寫Dockerfile時都會是用default user下去run
但如果把dockerfile包成image並丟到k8s pod上run成container
當惡意人士有辦法access pods時
惡意人士只要下
kubectl exec -it ${pod-id} -- bash
就可以以root身份對app內部做操作
是個蠻危險的弱點
解決方法
在Dockerfile前頭加上
RUN useradd -m --uid 1001 rootless
並在中間將rootless user需要的權限都用chown給他
chown rootless ${path}
最後在CMD或是ENTRYPOINT前面加上
USER rootless
Docker build and run起來就會將權限
限縮在rootless權限