पाठ 26 / 26

सुरक्षा की बुनियात

root के रूप में न चलाएँ, और बेस इमेज को न्यूनतम व अपडेट रखें।

root के रूप में न चलाएँ

डिफ़ॉल्ट रूप से, कंटेनर का प्रोसेस उसके अंदर root के रूप में चलता है। एक non-root यूज़र बनाकर उसमें स्विच करें ताकि कंटेनर से बाहर निकलने की स्थिति में नुकसान कम हो।

FROM node:20-alpine
WORKDIR /app
COPY . .
RUN npm install --production

RUN addgroup -S appgroup && adduser -S appuser -G appgroup
USER appuser

CMD ["node", "server.js"]

न्यूनतम बेस इमेज

कम इंस्टॉल किए गए पैकेज का मतलब है कम ज्ञात कमज़ोरियाँ। alpine या distroless बेस को प्राथमिकता दें, और सुरक्षा पैच पाने के लिए नियमित रूप से रीबिल्ड करें।

त्वरित जाँच: कंटेनर को अपने प्रोसेस को root के रूप में चलाने से क्यों बचना चाहिए?

  • इससे इमेज तेज़ी से बिल्ड होती है
  • अगर हमलावर कंटेनर से बाहर निकल जाए तो नुकसान सीमित रहता है
  • root यूज़र वॉल्यूम उपयोग नहीं कर सकते
Answer

अगर हमलावर कंटेनर से बाहर निकल जाए तो नुकसान सीमित रहता है — non-root यूज़र के रूप में चलाने से, कंटेनर के समझौता होने पर उपलब्ध अधिकार कम हो जाते हैं।