Self-hosted9 min czytaniaZaktualizowano:

Jak bezpiecznie wystawić aplikację Docker do Internetu

Kontener nie jest granicą bezpieczeństwa. Ogranicz porty, uprawnienia, sekrety i sieci, a na zewnątrz publikuj tylko kontrolowany punkt wejścia.

Najczęstszy błąd wdrożenia polega na opublikowaniu każdego portu z pliku Compose. Do Internetu powinien prowadzić jeden kontrolowany punkt wejścia, a baza, kolejka i porty administracyjne mają pozostać w sieci prywatnej.

Bezpieczeństwo obejmuje hosta, runtime, obrazy, sekrety, sieć i samą aplikację. Samo uruchomienie procesu w kontenerze nie izoluje błędnej konfiguracji.

Minimalna powierzchnia sieciowa

Publikuj tylko reverse proxy na 80/443. Używaj expose zamiast ports dla usług wewnętrznych i osobnej sieci Compose bez dostępu z hosta.

  • Nie publikuj PostgreSQL, Redis ani panelu diagnostycznego.
  • Ogranicz panel administracyjny VPN-em lub listą źródeł.
  • Zweryfikuj porty z zewnętrznej sieci.

Kontener o ograniczonych uprawnieniach

Uruchamiaj proces jako użytkownik bez roota, usuń capabilities, ustaw read_only i tmpfs. Montuj tylko potrzebne katalogi i nie przekazuj socketu Dockera do aplikacji.

Aktualizacje, kopie i obserwowalność

Przypinaj wersje obrazów, skanuj zależności i wdrażaj po teście. Przechowuj kopie danych poza hostem, testuj odtworzenie i monitoruj stan aplikacji oraz certyfikatu.

  • Healthcheck nie zastępuje monitoringu z zewnątrz.
  • Zachowaj poprzedni obraz do szybkiego rollbacku.
  • Alarmuj o błędach logowania i zmianie stanu usługi.

Przed publikacją Compose

  • Tylko 80/443 są publiczne.
  • Baza i usługi pomocnicze są w prywatnej sieci.
  • Kontenery nie działają jako root i nie mają socketu Docker.
  • Backup został odtworzony testowo.
  • TLS, aktualizacje i monitoring są aktywne.

Sprawdź to w praktyce

Zobacz aplikacje Docker N3X

Porównaj wymagania, Compose i opcje hostingu zarządzanego dla aplikacji self-hosted.

Zobacz aplikacje Docker N3X

Najczęstsze pytania

Czy jedna konfiguracja pasuje do każdego środowiska?

Nie. Najpierw zinwentaryzuj ruch, zależności i model zagrożeń, a dopiero później zaostrzaj reguły. Każdą zmianę potwierdź testem z zewnątrz i planem wycofania.

Od czego zacząć?

Od kopii zapasowej, aktualizacji i ograniczenia publicznej powierzchni. Następnie dodaj monitoring oraz udokumentuj właściciela każdej usługi.

Jak często wracać do tej kontroli?

Po każdej zmianie infrastruktury lub wersji głównej oraz cyklicznie co najmniej raz na kwartał. Krytyczne zależności, certyfikaty i backupy monitoruj stale.