Przejdź do treści

Ustawienia plików cookie

Prosimy wybrać, na które rodzaje plików cookie Państwo zezwalają. Wybór można zmienić w dowolnym momencie w Ustawieniach plików cookie na dole każdej strony. Polityka prywatności

Niezbędne

Zawsze włączone

Potrzebne do logowania, zachowania koszyka i zapamiętania wyborów. Są zawsze włączone.

Jakie pliki cookie?
  • weboke_sessie, weboke_klant, weboke_remember: sesja i pozostanie zalogowanym
  • weboke_basket: koszyk
  • wkBtwIncl: wyświetlanie cen z VAT lub bez VAT
  • wok_cookies: wybór dotyczący plików cookie, 12 miesięcy

Mierzą, która reklama prowadzi do odwiedzin lub zamówienia, abyśmy nie płacili za reklamy, które nic nie dają.

Jakie pliki cookie?
  • Google Ads przez Google Tag Manager (_gcl_au, _gcl_aw), do 90 dni
  • OpenAI Ads, reklamy w ChatGPT
  • wok_aff: przez którego partnera trafili Państwo do nas (program partnerski), 60 dni

4,6

Kraj i język

Każdy kraj ma własną stronę z cenami i stawką VAT tego kraju.

Wyświetl

Moduł 10 · 10.4

Kontrola końcowa: sprawdzenie Państwa serwera

Moduł 10: Bezpieczeństwo na co dzień · Czas czytania: 10 min

Cel lekcji: Po tej lekcji ocenią Państwo własny serwer za pomocą listy kontrolnej i automatycznej kontroli z zewnątrz, będą Państwo wiedzieć, które punkty mają pierwszeństwo, oraz będą Państwo mieć stały harmonogram konserwacji i krótką dokumentację serwera.

Kluczowe pojęcia: lista kontrolna, priorytet, kontrola z zewnątrz, dokumentacja serwera, harmonogram konserwacji (co tydzień, co miesiąc, co kwartał, co rok), data końca wsparcia wydania, test przywracania

Od pojedynczych lekcji do całości

W tym kursie skonfigurowali Państwo serwer krok po kroku: bezpieczne logowanie, uprawnienia, aktualizacje, zaporę, usługi, stronę internetową z https, kopie zapasowe, monitorowanie i kontenery. W tej ostatniej lekcji zbierają Państwo wszystko na jednej liście. Sprawdzą Państwo serwer, pozwolą programowi kursu spojrzeć na niego z zewnątrz i ustalą, jak będą Państwo utrzymywać serwer przez najbliższe lata.

Serwer nigdy nie jest "gotowy". Oprogramowanie się starzeje, certyfikaty wygasają, dyski się zapełniają, wydania tracą wsparcie (end of life). Dlatego stały rytm jest równie ważny jak pierwsza konfiguracja.

Lista kontrolna według ważności

Nie wszystko jest równie pilne. Prosimy przechodzić listę od góry do dołu: pierwsze bloki zapobiegają największej liczbie problemów.

Blok 1: nikt nie wchodzi bez zaproszenia (moduł 2, 3, 5)

  • Logowanie wyłącznie kluczami; PasswordAuthentication no i KbdInteractiveAuthentication no, sprawdzone poleceniem sudo sshd -T.
  • Root nie loguje się hasłem; pracują Państwo jako zwykły użytkownik z sudo.
  • Bazy danych, cache i klastry wyszukiwania nasłuchują na 127.0.0.1; porty 3306, 5432, 6379, 9200 i 27017 są zamknięte z zewnątrz, zarówno dla IPv4, jak i IPv6.
  • Zapora, która domyślnie blokuje cały ruch przychodzący; otwarte są tylko potrzebne porty.
  • fail2ban działa dla SSH (fail2ban-client status sshd).

Blok 2: luki są łatane (moduł 4)

  • Automatyczne aktualizacje bezpieczeństwa są włączone i sprawdzone (log, apt list --upgradable).
  • Plan ponownych uruchomień; /var/run/reboot-required nie pozostaje tam tygodniami.
  • Wydanie jest nadal wspierane; data końca wsparcia jest wpisana w Państwa kalendarz.

Blok 3: mogą Państwo wrócić do poprzedniego stanu (moduł 8)

  • Zaszyfrowane kopie zapasowe poza serwerem, automatyczne, z monitorowaniem.
  • Wykonany test przywracania; wiedzą Państwo, ile trwa przywracanie.
  • Wiedzą Państwo, jak wykonać snapshot i otworzyć konsolę.

Blok 4: strona zewnętrzna się zgadza (moduł 7)

  • Rekordy A i AAAA wskazują na Państwa serwer; odwrotny DNS (PTR) wskazuje z powrotem na tę samą nazwę.
  • https z ważnym certyfikatem, który odnawia się automatycznie; http przekierowuje na https.
  • HSTS i kilka nagłówków bezpieczeństwa; plik security.txt z działającym adresem kontaktowym i datą wygaśnięcia.

Blok 5: widzą Państwo, co się dzieje (moduł 6, 8)

  • Journal jest trwały; mogą Państwo odczytać logi sprzed ponownego uruchomienia.
  • Monitorowanie z zewnątrz (dostępność, certyfikat) i od wewnątrz (dysk, usługi), z powiadomieniami, które rzeczywiście docierają.
  • systemctl --failed jest puste.

Blok 6: kontenery pod kontrolą (moduł 9, jeśli używają Państwo Dockera)

  • Porty kontenerów na 127.0.0.1 lub za reverse proxy; brak docker.sock w kontenerach, które naprawdę tego nie potrzebują.
  • Wolumeny są objęte kopią zapasową; obrazy są regularnie aktualizowane.
  • Sekrety znajdują się w plikach .env z restrykcyjnymi uprawnieniami, a nie w Git.

Kontrola z zewnątrz

Część tej listy program kursu może sprawdzić z zewnątrz, dokładnie tak, jak Państwa serwer widzi każdy w internecie. Zadanie końcowe (Z10.4) łączy kontrole z wcześniejszych zadań:

ElementCo robi programZ lekcji
SSHOdczytuje baner wersji i pyta, jakie metody logowania serwer oferuje dla Państwa nazwy użytkownika; nie loguje się2.2
Porty baz danychPróbuje jedynie nawiązać połączenie z portami 3306, 5432, 6379, 9200 i 27017; niczego nie wysyła5.1
httpsSprawdza certyfikat (ważny, zaufany, właściwa nazwa)7.3
NagłówkiOdczytuje HSTS i pozostałe nagłówki bezpieczeństwa7.4
security.txtPobiera /.well-known/security.txt i sprawdza Contact oraz Expires7.4
KontenerSzuka nagłówka z Państwa kodem, ustawionego przez Państwa reverse proxy9.4

Program niczego nie wykonuje na Państwa serwerze, nie próbuje haseł i nie skanuje innych portów. Każdy adres można sprawdzić tylko kilka razy na godzinę. Zielony wynik oznacza: z zewnątrz nie widać najbardziej znanych błędów. Nie mówi on nic o tym, co dzieje się wewnątrz serwera; to pozostała część listy kontrolnej, którą sprawdzają Państwo samodzielnie.

Dokumentacja serwera

Dla każdego serwera prosimy sporządzić krótki dokument, przechowywany poza serwerem (na przykład w menedżerze haseł lub we współdzielonym folderze):

  • nazwa, adresy IP, dostawca, wydanie i data końca wsparcia;
  • co działa na serwerze (usługi, kontenery, strony internetowe) i dlaczego;
  • które porty są otwarte i w jakim celu;
  • gdzie są kopie zapasowe, jak je przywrócić, kiedy był ostatni test;
  • jakie sekrety znajdują się na serwerze (nie same sekrety, lecz które i gdzie się je wymienia);
  • co świadomie zrobili Państwo inaczej niż standardowo (na przykład sugestia Lynis, którą Państwo pominęli, lekcja 10.1);
  • kto ma dostęp (które klucze są w authorized_keys).

Taka dokumentacja jest bezcenna przy incydencie (lekcja 10.3), przy aktualizacji wydania (lekcja 4.3) oraz gdy administrację przejmuje ktoś inny.

Harmonogram konserwacji

Bez stałego rytmu dbałość słabnie. Poniżej przykład dla małego serwera; prosimy dostosować go do własnej sytuacji.

KiedyCo
Co tydzieńPrzegląd monitorowania i powiadomień; systemctl --failed; ponowne uruchomienie, jeśli istnieje /var/run/reboot-required (lub sprawdzenie, czy automatyczny restart zadziałał)
Co miesiącapt list --upgradable (czy coś nie utknęło?); docker compose pull i up -d dla kontenerów, wraz z informacjami o wydaniu; miejsce na dysku; fail2ban-client status; przegląd logów pod kątem nietypowych błędów (journalctl -p err --since "1 month ago")
Co kwartałTest przywracania kopii zapasowej; przegląd authorized_keys i użytkowników (usunięcie osób, które nie powinny już mieć dostępu); ponowne uruchomienie Lynis; ponowna kontrola końcowa z zewnątrz (zadanie Z10.4)
Co rokAktualizacja security.txt (Expires); sprawdzenie daty końca wsparcia wydania i zaplanowanie aktualizacji; aktualizacja dokumentacji serwera i planu awaryjnego

Prosimy wpisać te terminy do kalendarza. Dużą część można też zautomatyzować za pomocą monitorowania z lekcji 8.3, ale samodzielne sprawdzanie nadal jest konieczne.

W praktyce

Niezależnie od tego, czy Państwa serwer działa w WebOké, czy u innego dostawcy: dostawca odpowiada za sprzęt, sieć i możliwość tworzenia snapshotów oraz kopii zapasowych, a Państwo za wszystko wewnątrz serwera. Ten kurs to samopomoc: nikt nie zagląda na Państwa serwer. Dzięki tej liście kontrolnej, dokumentacji i harmonogramowi mają Państwo jednak wszystko, czego potrzeba, aby samodzielnie i dobrze prowadzić administrację.

Podsumowanie

  • Prosimy sprawdzać serwer blokami: nikt nie wchodzi bez zaproszenia, luki są łatane, można wrócić do poprzedniego stanu, strona zewnętrzna się zgadza, widać, co się dzieje, kontenery są pod kontrolą.
  • Kontrola z zewnątrz sprawdza metody logowania SSH, porty baz danych, https, nagłówki, security.txt i nagłówek kontenera; resztę sprawdzają Państwo samodzielnie.
  • Prosimy prowadzić dokumentację serwera, przechowywaną poza serwerem.
  • Prosimy pracować według stałego rytmu: co tydzień, co miesiąc, co kwartał i co rok.

Quiz

1. Mają Państwo tylko godzinę. Którym punktem z listy kontrolnej zajmą się Państwo najpierw?



2. Kontrola końcowa z zewnątrz jest całkowicie zielona. Co to oznacza?



3. Dlaczego dokumentację serwera przechowuje się poza serwerem?



4. Które zadanie należy do rytmu kwartalnego?



5. Państwa plik security.txt ma datę Expires w maju przyszłego roku. Co Państwo robią?



Zadanie

Zadanie Z10.4: Zadanie końcowe: Państwa serwer z zewnątrz. Prosimy pozwolić programowi kursu jednorazowo sprawdzić Państwa serwer z zewnątrz: metody logowania SSH dla Państwa nazwy użytkownika, pięć portów baz danych, https i nagłówki Państwa strony, plik security.txt oraz nagłówek X-Weboke-Cursus z Państwa kodem pod nazwą, pod którą działa Państwa kontener. Ponadto prosimy wypełnić listę kontrolną bloków od 1 do 6 w zakresie tego, czego program nie widzi.

Zadanie Z10.4: Zadanie końcowe: Państwa serwer z zewnątrz

Nie logujemy się i nie próbujemy żadnego hasła ani klucza. Najpierw prosimy pokazać, że serwer należy do Państwa: proszę kliknąć "Pokaż mój kod" i umieścić na serwerze WWW swojej nazwy hosta plik /.well-known/weboke-cursus-<code>.txt zawierający wyłącznie ten kod. Pobieramy go bezpośrednio z każdego sprawdzanego adresu IP (osobno IPv4 i IPv6); rekord TXT nie jest tu uwzględniany. Kontrola pochodzi z heavy.webawere.nl (185.158.167.16 i 2a07:ae80:100:0:185:158:167:16), a nie z naszego serwera WWW. Tylko dla zalogowanych uczestników kursu; maksymalnie 6 kontroli na godzinę dla jednego serwera. Kontrola końcowa wykonuje po kolei kontrole z zadań Z2.2, Z5.1, Z7.3, Z7.4 i Z9.4. SSH, porty i https muszą być zielone; nagłówki, security.txt i nagłówek kursu mają charakter zaleceń.








Wprowadzone dane i wyniki sprawdzania nie są zapisywane. Przeglądarka zapamiętuje udzielone odpowiedzi oraz informację, czy zadanie zostało zaliczone. Po zalogowaniu w Moje kursy zapisywana jest jedynie informacja, że zadanie zostało zaliczone (lub prawie zaliczone); tam można ją również usunąć.

Zadanie O10.4: Harmonogram konserwacji. Prosimy przygotować własną dokumentację serwera i harmonogram konserwacji: co robią Państwo co tydzień, co miesiąc, co kwartał i co rok, oraz wpisać te terminy do kalendarza.

Zadanie O10.4: Harmonogram konserwacji

To zadanie wykonuje się samodzielnie, nikt go nie sprawdza. Prosimy zaznaczyć wykonane punkty i oznaczyć zadanie jako wykonane.




Zaznaczenia i notatki pozostają tylko w tej przeglądarce; nie są nigdzie wysyłane. Po zalogowaniu w Moje kursy zapisywana jest jedynie informacja, że zadanie zostało wykonane.

Przeczytaj więcej

Chwileczkę…

Konfiguracja domen

Dla każdej domeny można ustawić serwery nazw, powiązanie z hostingiem oraz to, kto zostanie właścicielem.

Wczytywanie domen…