Jak zabezpieczyć usługi sieciowe za pomocą opakowań TCP w Linux
- 2234
- 203
- Seweryn Augustyniak
W tym artykule wyjaśnimy, czym są opakowania TCP i jak skonfigurować je w celu ograniczenia dostępu do usług sieciowych działających na serwerze Linux. Zanim jednak zaczniemy, musimy wyjaśnić, że użycie opakowań TCP nie eliminuje potrzeby odpowiednio skonfigurowanej zapory.
W związku z tym możesz myśleć o tym narzędziu jako o listy kontroli dostępu na podstawie hosta, a nie o ostatecznym środku bezpieczeństwa dla twojego systemu. Korzystając z opakowań zapory i TCP, zamiast faworyzować jedno nad drugim, upewnij się, że Twój serwer nie pozostaje z jednym punktem awarii.
Zrozumienie gospodarzy.Zezwalaj i gospodarze.zaprzeczyć
Gdy żądanie sieci dotrze do twojego serwera, opakowania TCP używa zastępy niebieskie.umożliwić
I zastępy niebieskie.zaprzeczyć
(w tej kolejności) w celu ustalenia, czy klient powinien mieć możliwość korzystania z danej usługi.
Domyślnie te pliki są puste, wszystkie skomentowane lub nie istnieją. Zatem wszystko jest dozwolone przez warstwę opakowań TCP, a system pozostaje w celu polegania na zaporze w celu pełnej ochrony. Ponieważ nie jest to pożądane, z powodu powodów, dla których powiedzieliśmy we wstępie, upewnij się, że istnieją oba pliki:
# ls -l /etc /hosts.Zezwalaj /etc /hosts.zaprzeczyć
Składnia obu plików jest taka sama:
: [::…]
Gdzie,
- usługi jest oddzieloną przecinkami listy usług, do której należy zastosować aktualną zasadę.
- klienci reprezentują listę nazw hostów rozdzielonych przecinkami lub adresami IP, na które dotyczy reguła. Przyjmowane są następujące wieloznaczne cards:
- WSZYSTKO Dopasuje wszystko. Dotyczy zarówno klientów, jak i usług.
- LOKALNY pasuje do gospodarzy bez okresu w swoich Fqdn, takie jak LocalHost.
- ZNANY Wskaż sytuację, w której znana jest nazwa hosta, adres hosta lub użytkownik.
- NIEZNANY jest przeciwieństwem ZNANY.
- PARANOIDALNY powoduje upuszczenie połączenia, jeśli wyszukiwania odwrotnych DNS (najpierw na adresie IP w celu określenia nazwy hosta, a następnie na nazwie hosta, aby uzyskać adresy IP) zwraca inny adres w każdym przypadku.
- Wreszcie, opcjonalna lista działań rozdzielanych przez okrężność wskazuje, co powinno się stać, gdy dana zasada zostanie uruchomiona.
Możesz pamiętać, że zasada umożliwiająca dostęp do danej usługi /etc/hosts.umożliwić
ma pierwszeństwo przed regułą w /etc/hosts.zaprzeczyć
zabranianie tego. Ponadto, jeśli do tej samej usługi mają zastosowanie dwie reguły, tylko pierwsza zostanie wzięta pod uwagę.
Niestety nie wszystkie usługi sieciowe obsługują korzystanie z opakowań TCP. Aby ustalić, czy dana usługa je obsługuje, zrób:
# ldd/ścieżka/do/binarna | Grep Libwrap
Jeśli powyższe polecenie zwróci wyjście, można je zapisać TCP. Przykładem tego są Sshd I VSFTPD, Jak pokazano tutaj:
Znajdź obsługiwane usługi w opakowaniu TCPJak korzystać z opakowań TCP w celu ograniczenia dostępu do usług
Podczas edycji /etc/hosts.umożliwić
I /etc/hosts.zaprzeczyć
, Upewnij się, że dodasz nową linię, naciskając Wchodzić Po ostatniej linii nieopustowej.
Aby umożliwić dostęp SSH i FTP 192.168.0.102 I Lokalny Gospodarz i zaprzecz wszystkim innym, dodaj te dwie linie /etc/hosts.zaprzeczyć
:
SSHD, VSFTPD: Wszystko: wszystko
i następujący wiersz w /etc/hosts.umożliwić
:
SSHD, VSFTPD: 192.168.0.102, lokalnyOpakowania TCP - gospodarze.Odmowa plik
# # gospodarze.Odmawiaj ten plik zawiera reguły dostępu, które są używane do # Odmowa połączeń z usługami sieciowymi, które albo używają # biblioteki TCP_WRAPPERS lub które zostały zapoczątkowane za pośrednictwem XinetD z obsługą TCP_WRAPPERS. # # Reguły w tym pliku można również skonfigurować w # /etc /hosts.Zamiast tego zezwól na opcję „Odmów”. # # Patrz „Man 5 hosts_options” i „Man 5 hosts_access” # Aby uzyskać informacje o składni reguł. # Zobacz „Man tcpd”, aby uzyskać informacje na temat tcp_wrappers # SSHD, VSFTPD: Wszystko: wszystkoOpakowania TCP - gospodarze.Zezwalaj na plik
# # gospodarze.Zezwalaj na ten plik zawiera reguły dostępu, które są używane do # Zezwalaj lub odrzucają połączenia z usługami sieciowymi, które # albo używają biblioteki TCP_WRAPPERS lub które zostały zapoczątkowane za pośrednictwem XinetD z obsługą TCP_WRAPPERS. # # Patrz „Man 5 hosts_options” i „Man 5 hosts_access” # Aby uzyskać informacje o składni reguł. # Zobacz „Man tcpd”, aby uzyskać informacje na temat tcp_wrappers # SSHD, VSFTPD: 192.168.0.102, lokalny
Zmiany te mają miejsce natychmiast bez potrzeby ponownego uruchomienia.
Na poniższym obrazie możesz zobaczyć efekt usunięcia słowa LOKALNY
z ostatniego wiersza: serwer FTP stanie się niedostępny Lokalny Gospodarz. Po dodaniu Wildcard z powrotem usługa znów staje się dostępna.
Aby umożliwić wszystkim usługom hostom, w których zawiera nazwa przykład.com
, Dodaj tę linię zastępy niebieskie.umożliwić
:
WSZYSTKO : .przykład.com
i odmówić dostępu do VSFTPD do maszyn 10.0.1.0/24, Dodaj tę linię zastępy niebieskie.zaprzeczyć
:
VSFTPD: 10.0.1.
W dwóch ostatnich przykładach zauważ kropka Na początku i na końcu listy klientów. Służy do wskazania „wszystkich hostów i / lub klientów, w których nazwa lub adres IP zawiera ten ciąg”.
Czy ten artykuł był dla Ciebie pomocny? Czy masz jakieś pytania lub uwagi? Zapraszam do upuszczenia nam notatki za pomocą poniższego formularza komentarza.
- « IOTOP - Monitorowanie aktywności I/O Linux Disk i wykorzystanie na podstawie procesu
- 10 Przydatne pytania wywiadu „LS” - Część 2 »