Otwórz tylko ruch sieciowy, którego potrzebuje Twój serwer SLES 15

Przykładowy scenariusz: Wyobraź sobie administratora przygotowującego fikcyjny serwer SLES 15 o nazwie web01 do hostowania małej publicznej witryny internetowej. Celem jest umożliwienie ruchu przychodzącego HTTP na porcie TCP 80 przy jednoczesnym zachowaniu dostępności istniejącej ścieżki administracyjnej SSH. Jest to przykład ilustracyjny, a nie raport z testu ani stwierdzenie, że każda instalacja SLES 15 ma te same nazwy interfejsów lub usługi.

W systemie SLES 15 firewalldjest to domyślna struktura zapory sieciowej, która firewall-cmdją kontroluje. Najpierw zidentyfikuj aktywną strefę i zweryfikuj dostęp zdalny; następnie dodaj najmniejszą wymaganą usługę do tej strefy w konfiguracji stałej i przeładuj. W podręczniku SUSE SLES 15 SP7 Security and Hardening Guide udokumentowano ten model strefowy oraz rozróżnienie między regułami środowiska wykonawczego a regułami stałymi. Te kroki zakładają, że zapora sieciowa jest zainstalowana i uruchomiona; starsze, zaktualizowane systemy mogą wymagać osobnego sprawdzenia migracji.

1. Przed zmianą zasad sprawdź usługę i aktywną strefę

Połącz się przez konsolę serwera lub sesję zarządzania, którą możesz odzyskać w przypadku przerwania dostępu do sieci. Jeśli łączysz się przez SSH, utrzymuj tę sesję otwartą podczas wprowadzania zmian w zaporze. Sprawdź, czy zapora firewalld jest uruchomiona i sprawdź, która strefa jest właścicielem interfejsu:

sudo firewall-cmd --state
sudo firewall-cmd --get-active-zones
sudo firewall-cmd --get-default-zone

Pierwsze polecenie powinno zgłosić running. Polecenie active-zones wyświetla listę stref z przypisanymi interfejsami lub adresami źródłowymi; może wyświetlać więcej niż jedną. W fikcyjnym przykładzie web01 załóżmy, że raportuje on publicinterfejs ens192. W kolejnych poleceniach należy używać strefy dołączonej do interfejsu sieci przychodzącej. Nie należy zakładać, że interfejs ma nazwę eth0i nie należy zakładać, publicże jest aktywny tylko dlatego, że jest to powszechna wartość domyślna.

Ilustrujący widok terminala pokazujący działanie zapory firewalld i interfejs ens192 przypisany do strefy publicznej
Przykładowy widok terminala dla początkowego sprawdzenia: firewalld raportuje działanie, a ens192 pojawia się w strefie publicznej.

Jeśli usługa nie działa, sprawdź jej stan przed uruchomieniem: sudo systemctl status firewalld. W standardowych instalacjach SLES 15 zapora firewalld jest instalowana i włączona domyślnie, ale profile obrazów, aktualizacje lub polityka lokalna mogą się różnić. Jeśli jest zainstalowana, ale zatrzymana, uruchom ją i włącz dopiero po potwierdzeniu, że jej bieżąca polityka zachowa wymagany dostęp: sudo systemctl enable --now firewalld. Na hoście zarządzanym zdalnie, przed aktywacją zapory, której bieżące reguły są nieznane, potwierdź dostęp do konsoli i limit SSH.

2. Potwierdź definicję usługi i zachowaj SSH

Usługa firewalld to nazwany pakiet portów i protokołów. Przed jej otwarciem sprawdź definicję lokalną:

sudo firewall-cmd --info-service=http
sudo firewall-cmd --zone=public --list-all

W systemie SLES predefiniowana httpusługa odpowiada portowi TCP 80. Lista stref pozwala na sprawdzenie aktualnie dozwolonych usług i portów. Zastąp ją publicznalezioną aktywną strefą. Jeśli serwerem administrujesz za pomocą protokołu SSH, upewnij się, że sshjest on dozwolony w tej strefie, zanim przejdziesz dalej. Zachowanie instalacji i istniejące zasady mogą się różnić, dlatego sprawdź, czy nie opieraj się na założeniach. Jeśli zainstalowany demon SSH nasłuchuje na niestandardowym porcie, ogólny sshwpis usługi może do niego nie pasować; najpierw sprawdź rzeczywisty port nasłuchu demona i istniejące zasady zapory.

Ilustrujący widok terminala pokazujący wstępnie zdefiniowaną usługę HTTP obejmującą port TCP 80
Przykładowa kontrola usługi: definicja usługi HTTP wymienia port TCP 80.

3. Dodaj protokół HTTP na stałe, a następnie załaduj zapisane reguły

Firewalld utrzymuje oddzielne konfiguracje środowiska wykonawczego i trwałe. Zwykłe polecenie zmienia tylko aktywne reguły środowiska wykonawczego; --permanentzapisuje zapisaną konfigurację, ale nie aktywuje jej natychmiast. W przypadku web01 należy dodać usługę HTTP do strefy, która jest właścicielem interfejsu publicznego:

sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --reload

Użyj --zonetego polecenia jawnie, aby reguła nie znalazła się w niezamierzonej strefie domyślnej. Ponowne załadowanie stosuje stałe reguły do ​​środowiska wykonawczego. Niezapisane zmiany tylko w środowisku wykonawczym są odrzucane podczas ponownego ładowania, dlatego przed uruchomieniem sprawdź i zachowaj wszelkie tymczasowe reguły, których celowo potrzebujesz. Aby przetestować usługę przed jej utrwaleniem, możesz najpierw uruchomić ją sudo firewall-cmd --zone=public --add-service=httpbez [brakuje kontekstu --permanent]. Jeśli zadziała, dodaj stałą regułę i ponownie załaduj. Test tylko w środowisku wykonawczym zostanie utracony po ponownym załadowaniu lub restarcie zapory.

Ilustrujący widok terminala pokazujący trwałe dodanie protokołu HTTP do publicznego i ponowne załadowanie zapory firewalld
Przykładowa sekwencja poleceń: zapisz publicznie limit HTTP, a następnie przeładuj firewalld, aby go zastosować.

Jeśli potrzebujesz pojedynczego portu zamiast predefiniowanej usługi, określ zarówno port, jak i protokół, na przykład --add-port=8080/tcp. Zrób to tylko wtedy, gdy aplikacja faktycznie nasłuchuje na tym porcie. Zezwolenie na zaporę sieciową nie uruchamia serwera WWW, nie tworzy reguły grupy zabezpieczeń w chmurze ani nie konfiguruje routera nadrzędnego; wszystkie warstwy sieciowe muszą zezwalać na ruch.

4. Zweryfikuj dostęp i usuń reguły, których już nie potrzebujesz

Sprawdź bieżące i zapisane konfiguracje:

sudo firewall-cmd --zone=public --list-services
sudo firewall-cmd --permanent --zone=public --list-services
sudo firewall-cmd --check-config

Dane wyjściowe powinny znaleźć się httpna obu listach usług, a sprawdzanie konfiguracji powinno zakończyć się bez zgłaszania błędu. Należy również sprawdzić, czy aplikacja nasłuchuje lokalnie, na przykład za pomocą [ sudo ss -lntpusunięto nazwę usługi], i przetestować witrynę z poziomu klienta w docelowej sieci. Lista zapór sieciowych potwierdza regułę, a nie dostępność od początku do końca: DNS, zapora sieciowa w chmurze, routing i sam serwer WWW nadal mogą zablokować lub odrzucić żądanie.

Ilustrujący widok terminala pokazujący protokół HTTP na liście usług strefy publicznej obok protokołu SSH
Przykładowy wynik weryfikacji: HTTP pojawia się wśród usług strefy publicznej, natomiast SSH pozostaje na liście.

Jeśli protokół HTTP nie jest już wymagany, usuń zapisaną regułę i przeładuj: sudo firewall-cmd --permanent --zone=public --remove-service=http, a następnie sudo firewall-cmd --reload. Następnie sprawdź ponownie listy wykonawcze i listy stałe. Unikaj usuwania wszystkich reguł lub przełączania się na strefę zaufaną w celu rozwiązania pojedynczego problemu z dostępem; te szersze zmiany mogą ujawnić niepowiązane usługi.

Notatki źródłowe

Aby uzyskać wskazówki dotyczące konkretnej wersji, zapoznaj się z podręcznikiem SUSE SLES 15 SP7 Security and Hardening Guide . Informacje na temat działania poleceń w różnych wersjach firewalld można znaleźć w dokumentacji firewall-cmd oraz w dokumentacji środowiska uruchomieniowego i konfiguracji stałej . Dostępne opcje mogą się różnić w zależności od wersji firewalld zawartej w konkretnym pakiecie Service Pack SLES, dlatego firewall-cmd --helpw przypadku niedostępności polecenia należy sprawdzić lokalną pomoc.

Zostaw komentarz

Konfiguracja SLES 15 KVM: uruchamianie wybranych maszyn wirtualnych podczas rozruchu

Konfiguracja SLES 15 KVM: uruchamianie wybranych maszyn wirtualnych podczas rozruchu

Zainstaluj narzędzia SLES 15 KVM i libvirt, włącz odpowiednią usługę hosta i skonfiguruj wybrane maszyny wirtualne tak, aby uruchamiały się po ponownym uruchomieniu.

Diagnozowanie serwera SUSE zawieszającego się na ekranie wyłączania systemd

Diagnozowanie serwera SUSE zawieszającego się na ekranie wyłączania systemd

Użyj zadań systemd i poprzedniego dziennika rozruchowego, aby zlokalizować powolną usługę, punkt montowania lub zależność od magazynu, a następnie napraw ją, nie maskując przyczyny.

Otwórz tylko ruch sieciowy, którego potrzebuje Twój serwer SLES 15

Otwórz tylko ruch sieciowy, którego potrzebuje Twój serwer SLES 15

Użyj polecenia firewall-cmd, aby sprawdzić aktywną strefę, bezpiecznie zezwolić na protokół HTTP, zachować dostęp SSH i zweryfikować, czy reguła przetrwa ponowne załadowanie w systemie SLES 15.

Diagnozuj błędy logowania do SLES PAM bez blokowania dostępu

Diagnozuj błędy logowania do SLES PAM bez blokowania dostępu

Znajdź przyczynę awarii PAM w odniesieniu do usługi, zasad konta lub dostawcy tożsamości, a następnie napraw właściwą konfigurację SLES, zachowując jednocześnie działającą sesję administracyjną.

Jak skonfigurować sieć VPN typu punkt-lokacja WireGuard w systemie Debian 12

Jak skonfigurować sieć VPN typu punkt-lokacja WireGuard w systemie Debian 12

Skonfiguruj serwer VPN WireGuard z systemem Debian 12 dla jednego zdalnego klienta. Skonfiguruj klucze, przekierowanie IPv4, NAT w NFTables, dostęp do zapory sieciowej i sprawdzanie połączeń.

Zautomatyzuj spójne kopie zapasowe Nextcloud za pomocą Restic i Cron

Zautomatyzuj spójne kopie zapasowe Nextcloud za pomocą Restic i Cron

Twórz kopie zapasowe plików Nextcloud i MariaDB, planuj zaszyfrowane migawki Restic za pomocą cron i weryfikuj odzyskiwanie bez narażania serwera na ryzyko.

Tworzenie kopii zapasowej i przywracanie skrzynki pocztowej Zimbra CE za pomocą eksportów TGZ

Tworzenie kopii zapasowej i przywracanie skrzynki pocztowej Zimbra CE za pomocą eksportów TGZ

Eksportuj pojedynczą skrzynkę pocztową Zimbra Community Edition, sprawdzaj poprawność kopii zapasowej TGZ i przywracaj brakujące elementy bez nadpisywania istniejącej poczty.

Umożliw zatwierdzonym użytkownikom tworzenie pokoi Jitsi z logowaniem przez Keycloak

Umożliw zatwierdzonym użytkownikom tworzenie pokoi Jitsi z logowaniem przez Keycloak

Zezwalaj tylko zatwierdzonym kontom na otwieranie pokoi Jitsi Meet przy użyciu Keycloak i uwierzytelniania tokenem, jednocześnie zapewniając możliwość dołączania gościom, gdy będzie to potrzebne.

Synchronizuj użytkowników usługi Active Directory z usługą ONLYOFFICE DocSpace za pośrednictwem protokołu LDAP

Synchronizuj użytkowników usługi Active Directory z usługą ONLYOFFICE DocSpace za pośrednictwem protokołu LDAP

Połącz ONLYOFFICE DocSpace z usługą Active Directory lub OpenLDAP, bezpiecznie importuj użytkowników i grupy, mapuj pola kont i planuj niezawodną synchronizację.

Dodawanie czcionek do serwera dokumentów ONLYOFFICE: Docker kontra Linux

Dodawanie czcionek do serwera dokumentów ONLYOFFICE: Docker kontra Linux

Zainstaluj niestandardowe czcionki w serwerze dokumentów ONLYOFFICE, porównaj trwałe instalacje Docker z kopiami bezpośrednimi, utwórz ponownie listę czcionek i zweryfikuj wynik.