GNU/Linux >> Linux Esercitazione >  >> Linux

Un'introduzione alle regole e agli scenari firewalld

Un firewall è simile a un gatekeeper che impedisce al traffico indesiderato proveniente dalla rete esterna di raggiungere il sistema. Le regole del firewall decidono quale traffico consentire l'ingresso o l'uscita. Nei firewall Linux esiste un concetto chiamato zone . Gli amministratori di sistema possono configurare ogni zona con le proprie regole del firewall, che consentono o negano il traffico in entrata nel sistema. Immagina un sistema di sicurezza domestica che indichi quale persona dovrebbe essere autorizzata a visitare quali stanze all'interno della tua casa.

[ Potrebbe piacerti anche: Una guida per principianti al firewalld in Linux ]

Diagramma tramite:Guida introduttiva a firewalld (Red Hat Customer Portal)

firewalld è un servizio firewall che fornisce un firewall personalizzabile basato su host tramite il D-bus interfaccia. Come accennato in precedenza, i firewall utilizzano zone con un insieme predefinito di regole e ogni servizio utilizza porte . Possiamo consentire/bloccare qualsiasi traffico in entrata verso un particolare servizio in base alla sua porta. Ad esempio, se non vuoi che nessuno acceda al tuo sistema tramite SSH, puoi bloccare la porta 22 e questo assicura che nessuno possa accedere al tuo sistema dall'esterno tramite SSH.

Zone

Il firewalld il servizio utilizza un concetto di zone. Possiamo assegnare interfacce di rete a queste zone e decidere quale tipo di traffico può entrare in quella rete. Possiamo utilizzare Gestione rete per assegnare interfacce a zone particolari usando il firewall-cmd command, uno strumento da riga di comando ampiamente noto. Le zone predefinite sono memorizzate in /usr/lib/firewalld/zones/ directory. Ora scopriamo alcune delle zone predefinite disponibili in firewalld .

  • Blocca:in questa zona, tutte le connessioni in entrata vengono rifiutate con un icmp-host-prohibited messaggio e sono consentite solo le connessioni avviate dall'interno del sistema.
  • DMZ:per i sistemi che necessitano di connessioni di rete interne limitate, accetta solo connessioni in ingresso selezionate. Conosciuta anche come zona smilitarizzata.
  • Drop:le connessioni vengono interrotte senza alcuna notifica. Sono possibili connessioni in uscita.
  • Pubblica:questa zona viene utilizzata per i dispositivi sulla rete pubblica non attendibile.
  • Affidabile:tutte le connessioni di rete sono accettate.

Una di queste zone può essere impostata come predefinita in base alle esigenze dell'utente. Dopo l'installazione, il pubblico la zona è impostata come predefinita, che puoi modificare in seguito.

Regole firewall in Red Hat Enterprise Linux

Ora che conosciamo le basi di firewalld , possiamo esplorare come utilizzare i comandi per aggiungere o rimuovere servizi diversi.

Per vedere se il firewall è in esecuzione, utilizzare i seguenti comandi:

# 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 Fri 2020-11-13 18:19:05 CET; 4 months 4 days ago

Puoi anche digitare:

# firewall-cmd --state
running

Per elencare le informazioni sulla zona predefinita:

# firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: baremetal cni-podman0 eno1 eno2 eno3 provisioning
  sources:
  services: cockpit dhcpv6-client http ssh
  ports: 8080/tcp 80/tcp 80/udp 67/udp 68/udp   protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

Come puoi vedere sopra, il pubblico la zona è impostata come predefinita. L'uscita mostra le interfacce assegnate a questa zona e quali servizi e porte sono abilitate/consentite.

Seleziona una zona particolare:

# firewall-cmd --list-all --zone=home
home
  target: default
  icmp-block-inversion: no
  interfaces:
  sources:
  services: cockpit dhcpv6-client mdns samba-client ssh

Abilita/avvia il firewalld servizio all'avvio del sistema:

# systemctl enable firewalld
# systemctl start firewalld

Disattiva/arresta il firewalld servizio all'avvio del sistema:

# systemctl disable firewalld
# systemctl stop firewalld

Elenca tutte le zone:

# firewall-cmd --list-all-zones

Aggiungi porti e servizi alle zone e rendile permanenti

Successivamente, vediamo alcuni dei comandi per aggiungere nuovi servizi e porte a una particolare zona e renderli permanenti (rimangono anche dopo il riavvio del sistema).

Per aprire o bloccare le porte su firewalld usa:

# firewall-cmd --list-ports        
# firewall-cmd --add-port <port-number/port-type> --permanent
# firewall-cmd --reload

Le porte sono dispositivi logici che consentono a un sistema operativo di ricevere il traffico in entrata e di inoltrarlo ai servizi di sistema. Di solito, questi servizi sono in ascolto su porte standard. Ad esempio, HTTP è in ascolto sulla porta 80 e HTTPS è in ascolto sulla porta 443.

Di solito tipo di porta significa tcp , udp o sctp .

Il prossimo è un esempio che aggiunge permanentemente la porta 443 alla zona predefinita:

# firewall-cmd --add-port 443/tcp --zone=public --permanent
# firewall-cmd --reload

Possiamo anche rimuovere la porta usando --remove-port opzione.

Regole avanzate in firewalld

Possiamo anche utilizzare regole avanzate , che hanno alcune capacità di filtraggio avanzate in firewalld . La sintassi per questi è sotto. Queste regole avanzate sono utili quando vogliamo bloccare o consentire un particolare indirizzo IP o intervallo di indirizzi.

Utilizza il comando seguente per visualizzare le impostazioni delle regole avanzate correnti:

# firewall-cmd --list-rich-rules

Possiamo controllare un particolare IP dell'host e delle porte usando regole avanzate.

La regola seguente accetta connessioni SSH solo dall'host con IP 10.1.111.21 e interrompe altre connessioni:

# firewall-cmd --add-rich-rule='rule family=ipv4 source address=10.1.111.21/24 service name=ssh log prefix="SSH Logs" level="notice" accept'

Questo esempio rifiuta ping richieste da tutti gli host con un messaggio di errore:

# firewall-cmd --add-rich-rule='rule protocol value=icmp reject'

La regola seguente rifiuta le richieste provenienti dall'IP 172.92.10.90/32 porta 21 e accetta ogni altra connessione:

# firewall-cmd --add-rich-rule='rule family=ipv4 source address=172.92.10.90/32 port port=21 protocol=tcp  reject'

[ Stai pensando alla sicurezza? Dai un'occhiata a questa guida gratuita per aumentare la sicurezza del cloud ibrido e proteggere la tua azienda. ] 

Concludi

Abilitazione di firewalld consente all'utente di consentire o limitare le connessioni in entrata e di proteggere selettivamente il proprio sistema dal traffico di rete indesiderato. Ricorda che le regole del firewall decidono quale traffico consentire l'ingresso o l'uscita da un sistema. Puoi configurare una zona con le proprie regole firewall, che consentono o negano il traffico in entrata nel sistema. Ma ricorda anche che consentire a qualsiasi traffico o accesso alla porta del tuo sistema lo rende vulnerabile a violazioni della sicurezza e potenziali attacchi.


Linux
  1. Introduzione ai comandi Linux chgrp e newgrp

  2. Introduzione e informazioni di accesso a cPanel

  3. Come installare e configurare Fail2ban su Alma Linux 8

  4. Che cos'è FirewallD e come implementarlo su Linux

  5. Udev:rinominare la mia interfaccia di rete

Un'introduzione alle metriche di Prometheus e al monitoraggio delle prestazioni

Un'introduzione all'hashing e ai checksum in Linux

50 regole utili e semplici di IPtables per l'amministratore Linux

Procedura:Introduzione alla programmazione:variabili, tipi e manipolazione dei dati

Tre regole di amministratore di sistema che non puoi (e non dovresti) infrangere

Introduzione al monitoraggio e all'ottimizzazione delle prestazioni di Linux