Jak śledzić komunikaty dotyczące bezpieczeństwa i weryfikować poprawki w aplikacjach na serwerze domowym

Eva Wong jest Technicznym pisarzem i stałym majsterkowiczem w ZimaSpace. Całe życie geek z pasją do homelabów i oprogramowania open-source, specjalizuje się w tłumaczeniu skomplikowanych koncepcji technicznych na przystępne, praktyczne przewodniki. Eva wierzy, że samodzielne hostowanie powinno być zabawą, a nie czymś onieśmielającym. Poprzez swoje samouczki umożliwia społeczności rozwiewanie tajemnic konfiguracji sprzętu, od budowy pierwszego NAS po opanowanie kontenerów Docker.

Aby niezawodnie śledzić poprawki bezpieczeństwa, dodaj każdy hostowany samodzielnie program do osobnego wiersza prostego inwentarza: właściciel, źródło środowiska uruchomieniowego, adres dostępny z zewnątrz, kanał aktualizacji i data ostatniego zweryfikowanego wdrożenia. Gdy pojawi się komunikat o zagrożeniu, powiąż go z odpowiednim wierszem, zanim cokolwiek zmienisz. Lista zapisanych zakładek do wiadomości o bezpieczeństwie nie jest inwentarzem zagrożonego oprogramowania.

W przypadku aplikacji PHP działającej w Dockerze sprawdź komunikat dostawcy aplikacji, zaktualizuj obsługiwany obraz, odtwórz usługę i zweryfikuj środowisko uruchomieniowe w nowym środowisku. W przypadku pakietu dystrybucji skorzystaj z wytycznych dotyczących bezpieczeństwa tej dystrybucji, w tym informacji o poprawkach wstecznych. Zachowaj wystarczającą ilość informacji, aby ustalić, która poprawka jest wdrożona i kiedy ją wdrożono.

Co powinien zawierać praktyczny inwentarz zabezpieczeń?

Pole Przykład przydatnych informacji
Aplikacja i właściciel Instancja Nextcloud i osoba, która nią zarządza
Źródło środowiska uruchomieniowego Tag i skrót obrazu dostawcy lub pakiet dystrybucji
Dostęp z zewnątrz Publiczna nazwa hosta, dostęp wyłącznie przez VPN lub dostęp w sieci LAN
Kanał komunikatów o bezpieczeństwie Strona dostawcy poświęcona bezpieczeństwu i kanał informacji o wydaniach
Odzyskiwanie Kopia zapasowa bazy danych, kopia danych i eksport konfiguracji
Zweryfikowana aktualizacja Data wdrożenia i uruchomiona wersja lub rewizja pakietu

Przechowuj ten plik w folderze konserwacyjnym, zamiast umieszczać go w zapisywalnych danych aplikacji. Dane uwierzytelniające przechowuj gdzie indziej. Przewodnik po stosie oprogramowania pomoże zlokalizować środowiska uruchomieniowe ukryte pod nazwami aplikacji.

Które komunikaty powinienem śledzić?

Subskrybuj kanały informacyjne dotyczące opiekuna aplikacji, wydawcy kontenera i źródeł informacji o bezpieczeństwie systemu operacyjnego, które dotyczą Twojego inwentarza. Korzystaj z komunikatów upstream PHP, aby uzyskać kontekst dotyczący środowiska uruchomieniowego, ale przy wyborze pakietu lub obrazu do instalacji stosuj się do instrukcji dostawcy downstream. Zapisz adres URL źródła i podatną gałąź.

Artykuł Wyjaśnienie reakcji Patch the Planet pokazuje, dlaczego doniesienia badawcze, wydania upstream i możliwe do wdrożenia aktualizacje aplikacji mogą pojawiać się w różnym czasie.

Jak ustalić, czy aplikacja jest zagrożona?

Ustal, jaki proces obsługuje aplikację. Sprawdź jej kontener lub środowisko uruchomieniowe za pomocą metody zalecanej przez dostawcę i porównaj wynik z warunkami opisanymi w komunikacie. Polecenie CLI na hoście może wskazywać inną instalację PHP. Uwzględnij poprawki w pakietach dostawcy i udokumentowane poprawki wsteczne.

Skorzystaj z przewodnika identyfikacji wersji PHP, aby to rozróżnić. Jeśli brakuje dowodów, oznacz wpis w inwentarzu jako nieznany, zamiast zakładać, że brak alertu oznacza bezpieczeństwo.

Jak zweryfikować aktualizację bez przeprowadzania wyczerpujących testów?

Zachowaj bazę danych i kopię danych umożliwiające odzyskiwanie, zainstaluj obsługiwaną aktualizację, a następnie sprawdź trzy rzeczy: czy nowy proces działa, czy dostępna jest udokumentowana poprawka lub wymagana wersja pakietu oraz czy nadal działa jedna kluczowa ścieżka użytkownika. W aplikacji do obsługi plików zaloguj się i odczytaj plik testowy; wykonaj niewielkie przesłanie, jeśli jest ono istotne w Twoim przypadku.

Zapisz wszelkie kroki migracji i ograniczenia związane z wycofaniem zmian. Jeśli środowisko uruchomieniowe znajduje się w obrazie, postępuj zgodnie z przewodnikiem po bezpiecznej aktualizacji aplikacji PHP w Dockerze.

Kiedy oznaczyć komunikat jako zrealizowany?

Zamknij zgłoszenie, gdy wdrożona usługa ma odpowiednią poprawkę, a ukierunkowany test usługi zakończy się pomyślnie. Zapisz skrót obrazu lub wersję pakietu, datę i wynik. Obraz pobrany na dysk, scalone żądanie zmian lub ogłoszenie upstream to etapy pośrednie.

Przechowuj oryginalne kopie zapasowe oddzielnie od zwykłego zapisywalnego udziału aplikacji. ZimaCube 2 może przechowywać te dane i pliki odzyskiwania; nasz przewodnik po kopiach umożliwiających odzyskiwanie wyjaśnia, dlaczego wygodna kopia robocza nie powinna być jedyną opcją odzyskiwania.

Często zadawane pytania

Jak często sprawdzać wykaz?

Sprawdzaj go za każdym razem, gdy dodajesz lub zmieniasz aplikację, i korzystaj z odpowiednich kanałów komunikatów dostawców, aby wdrażać aktualizacje zabezpieczeń.

Czy po zainstalowaniu poprawki muszę przeskanować każdy plik?

Najpierw skup się na odpowiednim komunikacie, uruchomionym pakiecie lub obrazie oraz kluczowym działaniu usługi. Rozszerz zakres kontroli, gdy wymaga tego zmiana lub dostępne dowody.

Czy mogę oznaczyć problem jako rozwiązany po pobraniu nowego obrazu?

Nie. Odtwórz lub zaktualizuj usługę zgodnie z wymaganiami i sprawdź, czy proces zastępczy korzysta z obrazu z poprawką.

Co zrobić, jeśli zainstalowana wersja wydaje się starsza od poprawionej wersji źródłowej?

Sprawdź komunikat dystrybucji lub dostawcy, aby znaleźć poprawkę wstecznie przeniesioną do używanej wersji oraz wymaganą wersję pakietu.

Powiązane lektury

Źródła

Okładka: Oficjalna grafika z ogłoszenia Patch the Planet. Źródło obrazu.

Wsparcie i wskazówki

Więcej do przeczytania

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.