Come gestire i servizi di rete con firewall-cmd

Avatar utente

Topic Author
beatrice
co-admin
co-admin
Connesso: No
User theme: Dark
Messaggi: 81
Iscritto il: lun mar 23, 2020 10:58 pm

Come gestire i servizi di rete con firewall-cmd

Messaggio da beatrice »

Immagine

In un precedente articolo, hai esplorato come controllare il firewall dalla riga di comando in Fedora.
Ora vedrai come vedere come aggiungere , rimuovere ed elencare servizi , protocolli e porte per bloccarli o consentirli .
Un breve riassunto
Innanzitutto, è una buona idea controllare lo stato del firewall, vedere se è in esecuzione o meno. Puoi farlo, come abbiamo appreso in precedenza, usando l'opzione state ( firewall-cmd - state ).
Il prossimo passo è ottenere la zona per l'interfaccia di rete desiderata. Ad esempio, utilizzo un desktop con due interfacce di rete: un'interfaccia fisica ( enp0s3 ), che rappresenta la mia scheda di rete effettiva e un'interfaccia virtuale ( virbr0 ) utilizzata dal software di virtualizzazione come KVM . Per vedere quali zone sono attive, esegui firewall-cmd -get-active-zone .
Ora che sai quale zona ti interessa, puoi elencare le regole per la zona con firewall-cmd ‐‐info-zone = FedoraWorkstation .
Lettura delle informazioni sulla zona
Per visualizzare le informazioni per una particolare zona , eseguire firewall-cmd ‐zone = ZoneName ‐‐list-all o semplicemente visualizzare le informazioni per la zona predefinita con:
[dan @ localhost ~] $ firewall-cmd --list-all
FedoraWorkstation (attivo)
target:
inversione icmp-block- default : nessuna
interfaccia:
fonti enp0s3 :
servizi: dhcpv6-client mdns porte samba-client ssh
: 1025-65535 /
protocolli udp 1025-65535 / tcp :
masquerade: no
forward-port:
source-port:
icmp-blocks:
rich regole:
Ora esploriamo l'output. La prima riga mostra a quale zona si applicano le seguenti informazioni e se quella zona è attualmente in uso.
Il target : default ci dice semplicemente che questa è la zona predefinita. Questo può essere impostato o recuperato tramite ‐‐set-default-zone = ZoneName e ‐‐get-default-zone .
icmp-block-inversion , indica se le richieste ICMP sono bloccate. Ad esempio se la macchina risponde alle richieste di ping da altre macchine sulla rete. Il campo interfacce mostra tutte le interfacce che adottano questa zona.
Gestione di servizi, porte e protocolli
Ora concentrati sulle righe dei servizi , delle porte e dei protocolli . Per impostazione predefinita, il firewall bloccherà tutte le porte, i servizi e i protocolli. Saranno ammessi solo quelli elencati.
In questo caso puoi vedere che i servizi consentiti sono servizi client molto basilari. Ad esempio, accedendo a una cartella condivisa sulla rete ( client samba ), per parlare con un server DNS o connettersi a una macchina tramite SSH (il servizio ssh ). Puoi pensare a un servizio come un protocollo in combinazione con una porta, ad esempio il servizio SSH utilizza il protocollo SSH e, per convenzione, la porta 22. Consentendo il servizio SSH, ciò che stai realmente facendo è consentire connessioni in entrata che usa il protocollo ssh sulla porta predefinita 22.
Si noti che i servizi che hanno la parola client nel loro nome, come regola empirica, si riferiscono a connessioni in uscita, ovvero connessioni che si effettuano con il proprio IP come sorgente verso l'esterno, al contrario del servizio SSH , ad esempio, che accetta connessioni in entrata (ascoltando le connessioni provenienti dall'esterno).
Puoi cercare i servizi nel file / etc / services . Ad esempio, se si desidera sapere quale porta e protocollo utilizza questo servizio:
[dan @ localhost ~] $ cat / etc / services | grep ssh
ssh 22 / tcp # Il protocollo Secure Shell (SSH)
ssh 22 / udp # Il protocollo Secure Shell (SSH)
Puoi vedere che SSH utilizza sia la porta TCP che UDP 22. Inoltre, se desideri vedere tutti i servizi disponibili, usa semplicemente firewall-cmd -get-services .
Aprire una porta
Se desideri bloccare una porta, un servizio o un protocollo, devi solo assicurarti che non sia elencato qui. Per estensione, se si desidera consentire un servizio, è necessario aggiungerlo al proprio elenco.
Supponiamo che tu voglia aprire la porta 5000 per la connessione TCP . Per fare ciò, esegui:
sudo firewall-cmd --zone = FedorwaWorkstation --permanent --add-port = 5000 / tcp
Si noti che è necessario specificare la zona per cui si applica la regola. Quando aggiungi la regola, devi anche specificare se si tratta di una porta TCP o UDP tramite come indicato sopra. Il parametro permanente imposta la regola in modo che persista anche dopo il riavvio del sistema.
Guarda di nuovo le informazioni per la tua zona:
[dan @ localhost ~] $ firewall-cmd --list-all
FedoraWorkstation (attivo)
target: impostazione predefinita
icmp-block-inversion: no
interfacce: enp0s3
fonti:
servizi: dhcpv6-client mdns samba-client ssh
porte: 1025-65535 / udp 1025-65535 / tcp 5000 / tcp
protocolli:
mascherata: no
avanti-connettori:
source-porte:
ICMP-blocchi:
regole ricche:
Allo stesso modo, se si desidera rimuovere questa porta dall'elenco, eseguire:
sudo firewall-cmd --zone = FedorwaWorkstation --permanent --remove-port = 5000 / tcp
Lo stesso remove ( --remove-protocollo , --remove-service ) e aggiungere ( --add-protocollo , --add-service ) opzioni sono disponibili per anche i servizi e protocolli .