Shorewall - zapora ogniowa na wysokim poziomie do konfigurowania serwerów Linux

Shorewall - zapora ogniowa na wysokim poziomie do konfigurowania serwerów Linux

Konfigurowanie zapory w Linux może być bardzo zniechęcające dla początkującego lub kogoś, kto nie jest bardzo zaznajomiony z iptables. Na szczęście istnieje bardzo łatwe w użyciu rozwiązanie Shorewall.

Zainstaluj zaporę Shorewall w Linux

W tym wieloczęściowym samouczku zamierzam zacząć od Shorewall, i przeprowadzaj cię przez bardziej zaawansowane tematy z tym niesamowitym systemem zapory.

Co to jest Shorewall?

Shorewall to zasadniczo front-end do iPtables, ale jest to front envenge linii poleceń, który wykorzystuje wiele plików tekstowych do konfiguracji. Chwila Shorewall to solidny system zapory, który można skalować nad bardzo dużymi sieciami obsługującymi wiele maszyn.

Konfiguracja z dwoma interfejsami składa się z maszyny z dwoma portów Ethernet, jeden nadchodzący i jeden wychodzący do sieci lokalnej.

Instalacja Shorewall w Linux

Shorewall Można instalować za pomocą narzędzi APT-Get i Yum Pakiet Manager.

Na Mint Debian/Ubuntu/Linux
$ sudo apt-get instaluj shorewall6
Na RHEL/CENTOS/FEDORA
$ sudo yum instaluj shorewall6

Po instalacji musimy skopiować przykładową konfigurację z „/usr/share/doc/shorewall„Direktory do domyślnego katalogu Shorewall”/itp./ShorewalL ”.

$ sudo cp/usr/share/doc/shorewall/przykład/dwa interfejsy/*/etc/shorewall

A następnie CD do /etc /shorewall.

$ CD /etc /Shorewall

Jeśli spojrzymy w tym katalogu, widzimy mnóstwo plików i Shorewall.conf plik. Shorewall postrzega sieć jako grupę różnych stref, więc pierwszy plik chcemy spojrzeć na to „/etc/bhorewall/strefy" plik.

Strefy

Tutaj widzimy, że domyślnie określone są trzy strefy: internet, loc, I Wszystko. To ważne by zauważyć że Shorewall traktuje samą maszynę zapory jako własną strefę i przechowuje ją w zmiennej o nazwie $ Fw. Ta zmienna zobaczysz przez resztę plików konfiguracyjnych.

„„/etc/bhorewall/strefy”Plik jest dość oczywisty. Masz Strefa netto (interfejs internetowy), loc strefa (Interfejs LAN skierowany) i Wszystko, Co jest wszystkim.

Polityka

Ta konfiguracja rezygnuje z następujących informacji:

  1. Umożliwia wszystkie żądania połączenia z Strefa LOC (Lan) do Strefa netto (Internet).
  2. Upuszcza wszystkie żądania połączenia (ignoruje) ze strefy netto do Zapora i Lan.
  3. Odrzuca i rejestruje wszystkie inne żądania.

Poziom dziennika Bit powinien być znany każdemu, kto wykonał administrację Apache, Mysql, lub dowolna inna liczba innych Foss programy. W takim przypadku mówimy Shorewall użyć Poziom informacyjny rejestrowania.

Jeśli chcesz, aby Twoja zapora była dostępna do zarządzania z LAN, możesz dodać następujące wiersze do swojego „/etc/shorewall/polityka" plik.

#Source Dest Policy LIMUE LIMIT: Burst Loc $ fw Akceptuj $ fw loc

Teraz, gdy ustawione są nasze strefy i zasady, musimy skonfigurować nasze interfejsy. Robisz to, edytując „/etc/shorewall/interfejsy" plik.

Interfejsy

Tutaj ustawiliśmy nasz interfejs skierowany do Internetu jako ETH0 do Strefa netto. Po naszej stronie LAN ustawiliśmy drugi interfejs, ETH1, do Strefa LOC. Prosimy o prawidłowo dostosuj ten plik do FIR konfiguracji.

Różne opcje, które możesz umieścić dla jednego z tych interfejsów, są obszerne i najlepiej wyjaśnić szczegółowo na stronie Man.

$ Man Shorewall-Interfaces

Szybki zwolnienie niektórych z nich jest następujący:

  1. Nosmurfs - Filtruj pakiety z adresem nadawanym jako źródłem.
  2. Logmartianie - Pakiety dziennika z niemożliwym adresem źródłowym.
  3. ROTEFILTER - Filtrowanie trasy jądra w celu zapobiegania przeciwdziałaniu.

Oczywiście, teraz, gdy nasz system jest zapory, będziemy potrzebować pewnych połączeń, aby można było to zrobić, aby uzyskać to, co musimy zrobić. Definiujesz je w pliku reguł w „/etc/shorewall/reguły".

Zasady

Ten plik wydaje się początkowo mylący, głównie dlatego, że kolumny się pokrywają, ale nagłówki są dość oczywiste. Po pierwsze, masz Kolumna działania, który opisuje, co chcesz wykonać.

Następnie masz ŹRÓDŁO nagłówek, w którym definiujesz strefa skąd pochodzą pakiet. Następnie masz swój Dest, Lub miejsce docelowe, który jest strefa Lub adres IP miejsca docelowego. Użyjmy przykładu.

Załóżmy, że chcesz uruchomić Ssh serwer za zaporą na komputerze z adresem IP 192.168.1.25. Nie tylko będziesz musiał otworzyć port w swojej zaporze, ale będziesz musiał powiedzieć zaporę ogniową, że każdy ruch przybywa w porcie 22 musi zostać skierowany do maszyny pod adresem 192.168.1.25.

To jest znane jako Przekazywanie portów. Jest to powszechna funkcja na większości Zapora/routery. W "/etc/shorewall/reguły„Osiągnąłbyś to, dodając taką linię:

SSH (DNAT) Net Loc: 192.168.1.25
Przekazywanie portów SSH

Powyżej zdefiniowaliśmy każdy Ssh Przeznaczone pakiety pochodzące z Strefa netto do zapory musi być kierować (Dnat) do portu 22 na maszynie z adresem 192.168.1.25.

To się nazywa Tłumaczenie adresu sieciowego Lub Nat. „„D”Po prostu mówi Shorewall że to jest Nat dla adresu docelowego.

Aby to zadziałało, musisz mieć Nat Wsparcie włączone w twoim jądrze. Jeśli potrzebujesz Nat I nie mam tego, zobacz mój samouczek na temat rekompilowania jądra Debian.

Linki referencyjne

Strona główna Shorewall

W następnym artykule przejdziemy przez kilka bardziej zaawansowanych tematów, ale na razie powinno być wiele, aby zacząć od ciebie. Jak zawsze, spójrz na strony, aby uzyskać bardziej dogłębne zrozumienie.

Przeczytaj także : Eksplorowanie konfiguracji zapory ogniowej Shorewall i opcje wiersza poleceń