GNU/Linux >> Linux Esercitazione >  >> Cent OS

Come configurare FirewallD in RHEL, CentOS e Fedora

Filtro di rete come tutti sappiamo, è un firewall in Linux. Firewall è un demone dinamico per gestire i firewall con supporto per zone di rete. Nella versione precedente, RHEL &CentOS 6 abbiamo utilizzato iptables come demone per il framework di filtraggio dei pacchetti. In RHEL /CentOS 7/8 e Fedora iptables l'interfaccia viene sostituita da firewalld .

Ti consigliamo di iniziare a utilizzare Firewalld invece di iptables poiché potrebbe interrompersi in futuro. Tuttavia, iptables sono ancora supportati e possono essere installati con il comando yum. Non possiamo mantenere Firewall e iptables entrambi nello stesso sistema che può portare a conflitti.

In iptables , ci configuravamo come CATENE DI INGRESSO, USCITA E AVANTI ma qui in Firewalld , il concetto utilizza Zone . Per impostazione predefinita, ci sono diverse zone disponibili in firewalld, che verranno discusse in questo articolo.

La zona di base che è come zona pubblica e zona privata . Per far funzionare le cose con queste zone, dobbiamo aggiungere l'interfaccia con il supporto della zona specificato e quindi possiamo aggiungere i servizi a firewalld.

Per impostazione predefinita, sono disponibili molti servizi, una delle migliori funzionalità di firewalld vale a dire, viene fornito con servizi predefiniti e possiamo prendere questi servizi come esempio per aggiungere i nostri servizi semplicemente copiandoli.

Firewall funziona benissimo con IPv4 , IPv6, e bridge Ethernet anche. Possiamo avere un runtime separato e una configurazione permanente in firewalld.

Iniziamo a lavorare con le zone e creare i nostri servizi e un uso molto più entusiasmante di firewalld.

Il nostro ambiente di prova
Operating System :	CentOS Linux release 7.0.1406 (Core)
IP Address       :	192.168.0.55
Host-name	:	server1.tecmintlocal.com

Passaggio 1:installazione di Firewalld in CentOS

1. Firewall il pacchetto è installato per impostazione predefinita in RHEL/CentOS 7/8 e Fedora . In caso contrario, puoi installarlo utilizzando il seguente comando yum.

# yum install firewalld -y

2. Dopo il firewall è stato installato, è ora di verificare se il iptables il servizio è in esecuzione o meno, se in esecuzione, è necessario interrompere e mascherare (non più utilizzare) il servizio iptables con i comandi seguenti.

# systemctl status iptables
# systemctl stop iptables
# systemctl mask iptables

Fase 2:discussione dei componenti Firewalld

3. Prima di passare alla configurazione di firewalld, vorrei discutere di ciascuna zona. Per impostazione predefinita, sono disponibili alcune zone. Dobbiamo assegnare l'interfaccia alla zona. Una zona definisce che la zona considerata attendibile o negata sia di livello all'interfaccia per ottenere una connessione. Una zona può contenere servizi e porte.

Qui descriveremo ciascuna zona disponibile in Firewalld.

  • Zona di rilascio :Tutti i pacchetti in arrivo vengono eliminati se utilizziamo questa zona di rilascio. Questo è lo stesso che usiamo per aggiungere iptables -j drop . Se utilizziamo la regola di rilascio, significa che non c'è risposta, saranno disponibili solo le connessioni di rete in uscita.
  • Zona di blocco :La zona di blocco negherà che le connessioni di rete in entrata vengano rifiutate con un icmp-host-prohibited. Saranno consentite solo le connessioni stabilite all'interno del server.
  • Zona pubblica :Per accettare le connessioni selezionate possiamo definire delle regole nella zona pubblica. Ciò consentirà solo l'apertura della porta specifica nel nostro server, altre connessioni verranno interrotte.
  • Zona esterna :Questa zona fungerà da opzioni router con il masquerading abilitato, le altre connessioni verranno interrotte e non accetteranno, sarà consentita solo la connessione specificata.
  • Zona DMZ :Se dobbiamo consentire l'accesso ad alcuni servizi al pubblico, puoi definirlo nella zona DMZ. Anche questo ha la caratteristica di accettare solo le connessioni in entrata selezionate.
  • Zona di lavoro:in questa zona, possiamo definire solo reti interne, ovvero è consentito il traffico di reti private.
  • Zona casa :Questa zona è utilizzata specialmente nelle aree domestiche, possiamo usare questa zona per fidarci degli altri computer sulle reti per non danneggiare il tuo computer come ogni zona. Anche questo consente solo le connessioni in entrata selezionate.
  • Zona Interna :Questa è simile alla zona di lavoro con le connessioni consentite selezionate.
  • Area attendibile :Se impostiamo la zona attendibile tutto il traffico viene accettato.

Ora che hai un'idea migliore delle zone, ora scopriamo le zone disponibili, le zone predefinite ed elenchiamo tutte le zone utilizzando i seguenti comandi.

Elenca le zone firewall

# firewall-cmd --get-zones

Elenca la zona predefinita di Firewall

# firewall-cmd --get-default-zone

Elenca tutte le zone Firewall

# firewall-cmd --list-all-zones

Nota :L'output del comando precedente non si adatta a una singola pagina poiché elencherà tutte le zone come block, dmz, drop, external, home, internal, public, trusted e work. Se le zone hanno regole avanzate, anche i servizi o le porte abilitati verranno elencati con le rispettive informazioni sulla zona.

Fase 3:impostazione della zona firewall predefinita

4. Se si desidera impostare la zona predefinita come interna, esterna, drop, lavoro o qualsiasi altra zona, è possibile utilizzare il comando seguente per impostare la zona predefinita. Qui usiamo il "interno ” come predefinito.

# firewall-cmd --set-default-zone=internal

5. Dopo aver impostato la zona, verificare la zona predefinita utilizzando il comando seguente.

# firewall-cmd --get-default-zone

6. Qui, la nostra interfaccia è enp0s3 , Se abbiamo bisogno di controllare la nostra zona in cui è delimitata l'interfaccia, possiamo usare il comando seguente.

# firewall-cmd --get-zone-of-interface=enp0s3

7. Un'altra caratteristica interessante di firewalld è "icmptype ' è uno dei tipi icmp supportati da firewalld. Per ottenere l'elenco dei tipi icmp supportati possiamo utilizzare il comando seguente.

# firewall-cmd --get-icmptypes

Fase 4:creazione di servizi propri in Firewalld

8. I servizi sono un insieme di regole con porte e opzioni utilizzate da Firewalld. I servizi abilitati verranno caricati automaticamente quando viene attivato il Firewalld servizio attivo e funzionante.

Per impostazione predefinita, sono disponibili molti servizi, per ottenere l'elenco di tutti i servizi disponibili, utilizzare il comando seguente.

# firewall-cmd --get-services

9. Per ottenere l'elenco di tutti i servizi disponibili di default, vai alla directory seguente, qui otterrai l'elenco dei servizi.

# cd /usr/lib/firewalld/services/

10. Per creare il tuo servizio, devi definirlo nella posizione seguente. Ad esempio, qui voglio aggiungere un servizio per RTMP porto 1935 , prima fai una copia di uno qualsiasi dei servizi.

# cd /etc/firewalld/services/
# cp /usr/lib/firewalld/services/ssh.xml /etc/firewalld/services/

Quindi, vai alla posizione in cui è stato copiato il nostro file di servizio, quindi rinomina il file "ssh.xml ‘ a ‘rtmp.xml ' come mostrato nell'immagine qui sotto.

# cd /etc/firewalld/services/

11. Quindi apri e modifica il file come Titolo, Descrizione, Protocollo e Numero di porta , che dobbiamo usare per il servizio RTMP come mostrato nell'immagine seguente.

12. Per attivare queste modifiche, riavvia il servizio firewalld o ricarica le impostazioni.

# firewall-cmd --reload

13. Per confermare se il servizio è stato aggiunto o meno, esegui il comando seguente per ottenere un elenco dei servizi disponibili.

# firewall-cmd --get-services

Fase 5:assegnazione dei servizi alle zone Firewalld

14. Qui vedremo come gestire il firewall utilizzando il comando firewall-cmd. Per conoscere lo stato attuale del firewall e di tutte le zone attive, digita il seguente comando.

# firewall-cmd --state
# firewall-cmd --get-active-zones

15. Per ottenere la zona pubblica per l'interfaccia enp0s3 , questa è l'interfaccia predefinita, definita in /etc/firewalld/firewalld.conf file come DefaultZone=pubblico .

Per elencare tutti i servizi disponibili in questa zona di interfaccia predefinita.

# firewall-cmd --get-service

Passaggio 6:aggiunta di servizi alle zone firewall

16. Negli esempi precedenti, abbiamo visto come creare i nostri servizi creando il rtmp servizio, qui vedremo come aggiungere il rtmp servizio anche alla zona.

# firewall-cmd --add-service=rtmp

17. Per rimuovere la zona aggiunta, digita.

# firewall-cmd --zone=public --remove-service=rtmp

Il passaggio precedente era solo un periodo temporaneo. Per renderlo permanente dobbiamo eseguire il comando seguente con l'opzione –permanent .

# firewall-cmd --add-service=rtmp --permanent
# firewall-cmd --reload

18. Definisci le regole per l'intervallo di sorgenti di rete e apri una qualsiasi delle porte. Ad esempio, se desideri aprire un intervallo di rete, pronuncia "192.168.0.0/24 ' e porto '1935 ' usa i seguenti comandi.

# firewall-cmd --permanent --add-source=192.168.0.0/24
# firewall-cmd --permanent --add-port=1935/tcp

Assicurati di ricaricare il servizio firewalld dopo aver aggiunto o rimosso servizi o porte.

# firewall-cmd --reload 
# firewall-cmd --list-all

Passaggio 7:aggiunta di regole avanzate per l'intervallo di rete

19. Se voglio consentire servizi come http, https, vnc-server, PostgreSQL, usi le seguenti regole. Innanzitutto, aggiungi la regola e rendila permanente, ricarica le regole e verifica lo stato.

# firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.0.0/24" service name="http" accept' 
# firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.0.0/24" service name="http" accept' --permanent

# firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.0.0/24" service name="https" accept'
# firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.0.0/24" service name="https" accept' --permanent

# firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.0.0/24" service name="vnc-server" accept'
# firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.0.0/24" service name="vnc-server" accept' --permanent

# firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.0.0/24" service name="postgresql" accept'
# firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.0.0/24" service name="postgresql" accept' --permanent

Ora, l'intervallo di rete 192.168.0.0/24 può utilizzare il servizio di cui sopra dal mio server. L'opzione –permanente può essere utilizzato in ogni regola, ma dobbiamo definire la regola e verificare con il client l'accesso, dopodiché dobbiamo renderla permanente.

20. Dopo aver aggiunto le regole di cui sopra, non dimenticare di ricaricare le regole del firewall ed elencare le regole utilizzando:

# firewall-cmd --reload
# firewall-cmd --list-all

Per saperne di più su Firewalld.

# man firewalld

Ecco fatto, abbiamo visto come impostare un filtro di rete utilizzando Firewalld in RHEL/CentOS e Fedora .

Conclusione

Net-filter è il framework per un firewall per ogni distribuzione Linux. Di nuovo in ogni RHEL e CentOS edizioni, abbiamo utilizzato iptables ma nelle versioni più recenti hanno introdotto Firewalld . È più facile da capire e utilizzare firewalld. Spero che la recensione ti sia piaciuta.


Cent OS
  1. Come installare e configurare Fail2Ban su CentOS 8 e Fedora 33

  2. Come installare Python 3.5 su CentOS/RHEL e Fedora

  3. Come installare, configurare ed eseguire WordPress 3.8 su RHEL/CentOS/Fedora

  4. Come installare e configurare Samba in CentOS/RHEL

  5. Come configurare il proxy in CentOS/RHEL/Fedora

Come installare e configurare Checkmk su CentOS 8 / RHEL 8

Come installare e configurare Nagios Core su CentOS 8 / RHEL 8

Come installare e configurare il server VNC in CentOS 7 / RHEL 7

Come installare e utilizzare Firewalld in CentOS/RHEL

Come installare e configurare Jenkins su CentOS 8 / RHEL 8

Come installare Wine 5.0 su CentOS, RHEL e Fedora