Administrator systemu Linux - konfiguracja zapory

firewalld to domyślny kontroler frontonu dla iptables na CentOS. Firewalld front-end ma dwie główne zalety w stosunku do surowych iptables -

  • Używa łatwych w konfiguracji i implementacji stref, abstrakcyjnych łańcuchów i reguł.

  • Zestawy reguł są dynamiczne, co oznacza, że ​​połączenia stanowe są nieprzerwane, gdy ustawienia są zmieniane i / lub modyfikowane.

Pamiętaj, że firewalld jest opakowaniem dla iptables - nie zastępuje. Chociaż niestandardowe polecenia iptables mogą być używane z firewalld , zaleca się używanie firewalld, aby nie przerywać funkcjonalności zapory.

Najpierw upewnijmy się, że firewalld jest uruchomiony i włączony.

[root@CentOS rdc]# systemctl status firewalld 
● firewalld.service - firewalld - dynamic firewall daemon 
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled) 
Active: active (running) since Thu 2017-01-26 21:42:05 MST; 3h 46min ago 
 Docs: man:firewalld(1) 
Main PID: 712 (firewalld) 
  Memory: 34.7M 
 CGroup: /system.slice/firewalld.service 
       └─712 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid

Widzimy, że firewalld jest zarówno aktywny (do uruchomienia przy starcie), jak i aktualnie działa. Jeśli nieaktywny lub nie rozpoczął, możemy użyć -

systemctl start firewalld && systemctl enable firewalld

Teraz, gdy mamy skonfigurowaną usługę firewalld, upewnijmy się, że działa.

[root@CentOS]# firewall-cmd --state 
running 
[root@CentOS]#

Widzimy, że usługa firewalld jest w pełni funkcjonalna.

Firewalld działa na koncepcji stref . Strefa jest stosowana do interfejsów sieciowych za pośrednictwem Menedżera sieci. Omówimy to podczas konfigurowania sieci . Jednak na razie zmiana strefy domyślnej spowoduje zmianę wszystkich kart sieciowych pozostawionych w stanie domyślnym „Strefa domyślna”.

Rzućmy okiem na każdą strefę, która wychodzi z pudełka z zaporą ogniową .

Sr.No. Strefa i opis
1

drop

Niski poziom zaufania. Wszystkie połączenia przychodzące i pakiety są odrzucane, a tylko połączenia wychodzące są możliwe dzięki pełnieniu stanu

2

block

Na połączenia przychodzące odpowiada komunikat icmp informujący inicjatora, że ​​żądanie jest zabronione

3

public

Wszystkie sieci są ograniczone. Jednak wybrane połączenia przychodzące mogą być jawnie dozwolone

4

external

Konfiguruje firewalld dla NAT. Sieć wewnętrzna pozostaje prywatna, ale dostępna

5

dmz

Dozwolone są tylko niektóre połączenia przychodzące. Używany do systemów w izolacji DMZ

6

work

Domyślnie ufaj większej liczbie komputerów w sieci, zakładając, że system znajduje się w bezpiecznym środowisku pracy

7

hone

Domyślnie więcej usług jest niefiltrowanych. Zakładając, że system znajduje się w sieci domowej, w której będą używane usługi takie jak NFS, SAMBA i SSDP

8

trusted

Wszystkie maszyny w sieci są zaufane. Większość połączeń przychodzących jest nieskrępowana.This is not meant for interfaces exposed to the Internet

Najczęściej używane strefy to: publiczna, drop, praca i dom.

Niektóre scenariusze, w których byłaby używana każda wspólna strefa, to:

  • public- Jest to najczęściej używana strefa przez administratora. Umożliwi to zastosowanie niestandardowych ustawień i przestrzeganie specyfikacji RFC dotyczących operacji w sieci LAN.

  • drop- Dobrym przykładem użycia kropli jest konferencja dotycząca bezpieczeństwa, publiczne WiFi lub interfejs podłączony bezpośrednio do Internetu. drop zakłada, że ​​wszystkie niezamówione żądania są złośliwe, w tym sondy ICMP. Więc każde żądanie spoza stanu nie otrzyma odpowiedzi. Wadą upuszczania jest to, że może zepsuć funkcjonalność aplikacji w pewnych sytuacjach wymagających ścisłej zgodności z RFC.

  • work- Korzystasz z częściowo zabezpieczonej korporacyjnej sieci LAN. Tam, gdzie można założyć, że cały ruch jest umiarkowanie bezpieczny. Oznacza to, że to nie jest WiFi i prawdopodobnie mamy IDS, IPS i zabezpieczenia fizyczne lub 802.1x. Powinniśmy również znać osoby korzystające z sieci LAN.

  • home- Jesteś w domowej sieci LAN. Jesteś osobiście odpowiedzialny za każdy system i użytkownika w sieci LAN. Wiesz, że każda maszyna w sieci LAN nie została naruszona. Często pojawiają się nowe usługi do udostępniania multimediów zaufanym osobom i nie musisz poświęcać dodatkowego czasu ze względu na bezpieczeństwo.

Strefy i interfejsy sieciowe działają na poziomie od jednego do wielu. Jeden interfejs sieciowy może mieć zastosowaną tylko jedną strefę naraz. Chociaż strefa może być stosowana jednocześnie do wielu interfejsów.

Zobaczmy, jakie strefy są dostępne i jakie są obecnie stosowane.

[root@CentOS]# firewall-cmd --get-zones 
 work drop internal external trusted home dmz public block

[root@CentOS]# firewall-cmd --get-default-zone 
public
[root@CentOS]#

Gotowy do dodania niestandardowych reguł w firewalld?

Najpierw zobaczmy, jak wygląda nasze pudełko do skanera portów z zewnątrz.

bash-3.2# nmap -sS -p 1-1024 -T 5  10.211.55.1
 
Starting Nmap 7.30 ( https://nmap.org ) at 2017-01-27 23:36 MST 
Nmap scan report for centos.shared (10.211.55.1) 
Host is up (0.00046s latency). 
Not shown: 1023 filtered ports 
PORT   STATE SERVICE 
22/tcp open  ssh


Nmap done: 1 IP address (1 host up) scanned in 3.71 seconds 
bash-3.2#

Pozwólmy przychodzącym żądaniom na port 80.

Najpierw sprawdź, która strefa jest stosowana jako domyślna.

[root@CentOs]# firewall-cmd --get-default-zone 
public
[root@CentOS]#

Następnie ustaw regułę zezwalającą portowi 80 na bieżącą strefę domyślną.

[root@CentOS]# firewall-cmd --zone=public --add-port = 80/tcp 
success
[root@CentOS]#

Teraz zaznaczmy nasze pole po zezwoleniu na połączenia na porcie 80.

bash-3.2# nmap -sS -p 1-1024 -T 5  10.211.55.1

Starting Nmap 7.30 ( https://nmap.org ) at 2017-01-27 23:42 MST 
Nmap scan report for centos.shared (10.211.55.1) 
Host is up (0.00053s latency). 
Not shown: 1022 filtered ports 
PORT   STATE  SERVICE 
22/tcp open   ssh 
80/tcp closed http

Nmap done: 1 IP address (1 host up) scanned in 3.67 seconds 
bash-3.2#

Teraz zezwala na niechciany ruch do 80.

Ustawmy domyślną strefę na upuszczenie i zobaczmy, co stanie się ze skanowaniem portów.

[root@CentOS]# firewall-cmd --set-default-zone=drop 
success

[root@CentOS]# firewall-cmd --get-default-zone 
drop

[root@CentOs]#

Teraz przeskanujmy hosta z interfejsem sieciowym w bezpieczniejszej strefie.

bash-3.2# nmap -sS -p 1-1024 -T 5  10.211.55.1 
Starting Nmap 7.30 ( https://nmap.org ) at 2017-01-27 23:50 MST 
Nmap scan report for centos.shared (10.211.55.1) 
Host is up (0.00094s latency). 
All 1024 scanned ports on centos.shared (10.211.55.1) are filtered

Nmap done: 1 IP address (1 host up) scanned in 12.61 seconds 
bash-3.2#

Teraz wszystko jest filtrowane z zewnątrz.

Jak pokazano poniżej, podczas upuszczania host nie odpowiada nawet na żądania ICMP ping .

bash-3.2# ping 10.211.55.1 
PING 10.211.55.1 (10.211.55.1): 56 data bytes 
Request timeout for icmp_seq 0 
Request timeout for icmp_seq 1 
Request timeout for icmp_seq 2

Ustawmy ponownie domyślną strefę na publiczną .

[root@CentOs]# firewall-cmd --set-default-zone=public 
success

[root@CentOS]# firewall-cmd --get-default-zone 
public

[root@CentOS]#

Teraz sprawdźmy publicznie nasz obecny zestaw reguł filtrowania .

[root@CentOS]# firewall-cmd --zone=public --list-all 
public (active) 
target: default 
icmp-block-inversion: no 
interfaces: enp0s5 
sources:  
services: dhcpv6-client ssh 
ports: 80/tcp 
protocols:  
masquerade: no 
forward-ports:  
sourceports:  
icmp-blocks:  
rich rules:

[root@CentOS rdc]#

Zgodnie z konfiguracją nasza reguła filtru portu 80 ma zastosowanie tylko w kontekście bieżącej konfiguracji. Oznacza to, że po ponownym uruchomieniu systemu lub ponownym uruchomieniu usługi firewalld nasza reguła zostanie odrzucona.

Wkrótce będziemy konfigurować demona httpd , więc niech nasze zmiany będą trwałe -

[root@CentOS]# firewall-cmd --zone=public --add-port=80/tcp --permanent 
success

[root@CentOS]# systemctl restart firewalld

[root@CentOS]#

Teraz nasza reguła portu 80 w strefie publicznej jest trwała przy ponownym uruchomieniu i ponownym uruchomieniu usługi.

Poniżej przedstawiono typowe polecenia firewalld stosowane z firewall-cmd .

Komenda Akcja
firewall-cmd --get-zones Zawiera listę wszystkich stref, które można zastosować do interfejsu
firewall-cmd - status Zwraca aktualny stan usługi firewalld
firewall-cmd --get-default-zone Pobiera bieżącą strefę domyślną
firewall-cmd --set-default-zone = <zone> Ustawia strefę domyślną w bieżącym kontekście
firewall-cmd --get-active-zone Pobiera bieżące strefy w kontekście zastosowane do interfejsu
firewall-cmd --zone = <strefa> --list-all Wyświetla konfigurację dostarczonej strefy
firewall-cmd --zone = <strefa> --addport = <port / protokół transportowy> Stosuje regułę portu do filtru strefy
--stały Utrwala zmiany w strefie. Flaga jest używana wraz z poleceniami modyfikacji

Oto podstawowe pojęcia związane z administrowaniem i konfigurowaniem firewalld .

Konfigurowanie usług zapory na hoście w CentOS może być złożonym zadaniem w bardziej wyrafinowanych scenariuszach sieciowych. Zaawansowane użycie i konfiguracja firewalld i iptables w CentOS może zająć cały samouczek. Przedstawiliśmy jednak podstawy, które powinny wystarczyć do wykonania większości codziennych zadań.