Wreszcie, jesteś tak bardzo zakochany w Docker, że chcesz przenieść swoje krytyczne pod względem biznesowym systemy produkcyjne online z wrażliwymi danymi klientów do Docker Swarm. Niektórzy nawet już to zrobili. Innej organizacji nie stać na to z powodu polityki zabraniającej procesów produkcyjnych działających w trybie root.
Jaka może być lista kontrolna elementów składowych do rozważenia w środowisku produkcyjnym Docker? Nie potrzeba ich wszystkich, ale wszystkie powinny być ważne do oceny.
Oświadczenie: Wiem, że istnieje polityka SE, aby unikać „dużych niekończących się list”, ale myślę, że ta lista kontrolna nie może być bardzo duża ... i nieskończona noway.
Więc - czym są te bloki budynków?
- Jeśli jeszcze nie został wdrożony, rozważ uruchomienie systemu hosta Linux z zaawansowanymi ustawieniami bezpieczeństwa - wzmocnione jądro, SELinux itp.
- Zastanów się nad użyciem małego obrazu podstawowego Docker, takiego jak alpejski, busybox, a nawet zadrapania, np. Zacznij od pustego obrazu podstawowego
- Użyj ustawienia USER innego niż root
- Ostrożnie oceń, aby jeszcze bardziej zmniejszyć i tak już zmniejszony zestaw możliwości jądra przyznanych kontenerowi
- Rozważ użycie tylko jednego pliku binarnego na kontener do uruchomienia procesu, idealnie powiązanego statycznie
- Ci, którzy chcą złamać system, aby uzyskać dostęp do powłoki, mogą się zastanawiać, czy dowiedzieli się, że w twoim kontenerze zostały wyłączone wszystkie powłoki
- Montuj woluminy tylko do odczytu tam, gdzie to możliwe
Pytanie: co jeszcze?
devsecops
?
Consider using a tiny Docker base image, like alpine, busybox or even scratch e.g. start with an empty base image
zwiększa to bezpieczeństwo?