Il firewall installato nel sistema operativo viene utilizzato per impedire il traffico non autorizzato tra le reti di computer. Manuale o crea automaticamente regole speciali per il firewall, che sono responsabili del controllo degli accessi. Nel sistema operativo, sviluppato sul kernel Linux, Centos 7 c'è un firewall integrato ed è controllato dal firewall. Il firewalld predefinito è coinvolto e ci piacerebbe parlarne oggi.
Personalizza il firewall in Centos 7
Come menzionato sopra, il firewall standard in Centos 7 è assegnato un'utilità firewalld. Ecco perché l'impostazione del firewall sarà considerata nell'esempio di questo strumento. È possibile impostare le regole di filtraggio con gli stessi iptables, ma viene eseguita leggermente diversa. Si consiglia di familiarizzare con la configurazione dell'utilità menzionata facendo clic sul link seguente e inizieremo lo smontaggio del firewalld.Se una volta sarà temporaneamente o permanentemente disabilita il firewall, ti consigliamo di utilizzare le istruzioni presentate nell'altro articolo dal seguente link.
Per saperne di più: Disabilita firewall in Centos 7
Visualizza le regole predefinite e le zone accessibili
Anche il firewall regolare ha le sue regole definite e le zone accessibili. Prima di iniziare la modifica del politico, ti consigliamo di familiarizzare con la configurazione corrente. Questo è fatto usando semplici comandi:
- La zona predefinita determinerà il comando firewall-cmd-get-default-zone.
- Dopo la sua attivazione, vedrai una nuova stringa in cui verrà visualizzato il parametro desiderato. Ad esempio, la zona "pubblica" è considerata nello screenshot qui sotto.
- Tuttavia, diverse zone possono essere attive immediatamente, inoltre, sono legate a un'interfaccia separata. Scopri queste informazioni tramite firewall-cmd -get-zone-active-zones.
- Il comando firewall-cmd --list-tutto visualizzerà le regole impostate per la zona predefinita. Prestare attenzione allo screenshot qui sotto. Vedete che la zona attiva "Pubblica" è assegnata la regola "predefinita", la funzione predefinita, l'interfaccia ENP0S3 e due servizi aggiunti.
- Se hai bisogno di imparare tutte le zone firewall disponibili, accedere a Firewall-cmd -get-zones.
- I parametri della zona specifica sono definiti tramite firewall-cmd --zone = nome -list-tutto, dove il nome è il nome della zona.
Dopo aver determinato i parametri richiesti, è possibile passare alla loro modifica e aggiunta. Analizziamo in dettaglio molte delle configurazioni più popolari.
Impostazione delle zone di interfaccia
Come sai dalle informazioni di cui sopra, la tua zona predefinita è definita per ogni interfaccia. Sarà in esso fino a quando le impostazioni cambiano l'utente o a livello di programmazione. È possibile trasferire manualmente l'interfaccia alla zona per sessione, e viene eseguita attivando il comando sudo firewall-cmd -zone = home command --change-interface = eth0. Il risultato "successo" suggerisce che il trasferimento ha avuto successo. Richiamare che tali impostazioni vengono ripristinate immediatamente dopo aver riavviato il firewall.
Con tale modifica dei parametri, occorre tenere presente che il funzionamento dei servizi può essere ripristinato. Alcuni di loro non supportano il funzionamento in determinate zone, diciamo, SSH sebbene accessibile in "Home", ma nell'utente o nel servizio speciale funzionerà. Assicurarsi che l'interfaccia sia stata legata con successo al nuovo ramo, inserendo firewall-cmd-get-active-zones.
Se si desidera ripristinare le impostazioni effettuate in precedenza, eseguire semplicemente il riavvio del firewall: sudo systemctl riavvio firewalld.service.
A volte non è sempre conveniente cambiare la zona dell'interfaccia in una sola sessione. In questo caso, è necessario modificare il file di configurazione in modo che tutte le impostazioni siano smaltate su base permanente. Per fare ciò, ti consigliamo di utilizzare l'editor di testo NANO, che è installato dalla memoria ufficiale di sudo yum install nano. Il prossimo rimane tali azioni:
- Aprire il file di configurazione tramite l'editor immettendo sudo nano / etc / sysconfig / network-scripts / ifcfg-eth0, dove ETH0 è il nome dell'interfaccia richiesta.
- Confermare l'autenticazione dell'account per eseguire ulteriori azioni.
- Layout il parametro "Zona" e modifica il suo valore per il desiderato, ad esempio, pubblico o a casa.
- Tenere i tasti Ctrl + O per salvare le modifiche.
- Non modificare il nome del file, ma semplicemente fare clic su Invio.
- Esci dall'editor di testo tramite Ctrl + X.
Ora la zona dell'interfaccia sarà quella che hai specificato, fino alla prossima modifica del file di configurazione. Per i parametri aggiornati, eseguire sudo systemctl riavvio di rete.service e sudo systemctl riavvio firewalld.service.
Impostazione della zona predefinita
Sopra, abbiamo già dimostrato una squadra che ti consente di imparare la zona predefinita. Può anche essere modificato impostando il parametro a tua scelta. Per fare questo, nella console, è sufficiente registrarsi sudo firewall-cmd --set-default-zone = nome, dove nome è il nome della zona richiesta.
Il successo del comando sarà evidenziato dalla scritta "successo" in una linea separata. Successivamente, tutte le interfacce correnti nasceranno nella zona specificata, se l'altra non è specificata nei file di configurazione.
Creazione di regole per programmi e utilità
All'inizio dell'articolo, abbiamo parlato dell'azione di ogni zona. Definizione dei servizi, delle utilità e dei programmi in tali rami consentiranno di applicare singoli parametri per ciascuno di essi per ciascuna richiesta dell'utente. Per cominciare, ti consigliamo di familiarizzare con l'elenco completo dei servizi disponibili al momento: firewall-cmd white-services.
Il risultato verrà visualizzato direttamente nella console. Ogni server è diviso da uno spazio e puoi facilmente trovare lo strumento a cui sei interessato. Se manca il servizio richiesto, dovrebbe essere installato ulteriormente. Nelle regole di installazione, leggi nella documentazione del software ufficiale.
Il comando sopra dimostra solo i nomi dei servizi. Le informazioni dettagliate per ciascuna di esse sono ottenute attraverso il singolo file sul percorso / usr / lib / firewalld / servizi. Tali documenti hanno un formato XML, il percorso, ad esempio, a SSH è simile a questo: /usr/lib/firewalld/services/ssh.xml e il documento ha i seguenti contenuti:
Ssh.
Secure Shell (SSH) è un protocollo per l'accesso e l'esecuzione dei comandi su macchine remote. Fornisce comunicazioni crittografate sicure. Se si prevede di accedere alla macchina remotenet tramite SSH su un'interfaccia firewall, abilita questa opzione. È necessario installare il pacchetto OpenSSH-Server per questa opzione per essere utile.
Il supporto del servizio è attivato in una zona specifica manualmente. Nel terminale, è necessario impostare il firewall sudo-cmd --zone = Public --DD-Service = Command HTTP, dove --Zone = Public è una zona di attivazione e - Service (HTTP - Nome del servizio. Si noti che tale modifica sarà valida solo entro una sessione.
L'aggiunta permanente viene effettuata tramite sudo firewall-cmd --zone = Public --permanent --DD-Service = http e il risultato "successo" indica il completamento con successo dell'operazione.
È possibile visualizzare un elenco completo delle regole permanenti per una zona specifica visualizzando un elenco in una linea separata della console: sudo firewall-cmd --zone = Public --permanent -list-services.
Problema decisionale con mancanza di accesso al servizio
Le regole standard del firewall sono indicate dai servizi più popolari e sicuri come consentito, ma alcune applicazioni standard o di terze parti blocca. In questo caso, l'utente ha bisogno manualmente di modificare le impostazioni per risolvere il problema con l'accesso. Puoi farlo in due metodi diversi.
Porte Porte.
Come sapete, tutti i servizi di rete utilizzano una porta specifica. È facilmente rilevato da un firewall, e possono essere eseguiti blocchi. Per evitare tali azioni dal firewall, è necessario aprire la porta desiderata del sudo firewall-cmd --zone = Public - PortD-Port = 0000 / TCP, dove ---Zone = Public è un'area portuale, - Porta = 0000 / TCP - Numero di porta e protocollo. L'opzione Firewall-Cmd - List-PORTS visualizza un elenco di porte aperte.
Se è necessario aprire le porte incluse nell'intervallo, utilizzare la stringa di firewall-cmd sudo -zone = Public - PORT-PORT = 0000-9999 / UDP, dove --Add-port = 0000-9999 / UDP - Intervallo di porta e il loro protocollo.
I comandi sopra riportati consentono solo di testare l'uso di parametri simili. Se è passato con successo, è necessario aggiungere le stesse porte alle impostazioni costanti, e questo è fatto immettendo firewall-cmd --zone = Public --permanent --Add-port = 0000 / TCP o sudo firewall-cmd - Zona = Public --permanent --Add-port = 0000-9999 / udp. L'elenco dei porti permanenti aperti è considerato come segue: sudo firewall-cmd --zone = Public --permanent -list-porti.
Definizione di servizio.
Come puoi vedere, aggiungere porte non causa alcuna difficoltà, ma la procedura è complicata quando le applicazioni utilizzano una grande quantità. Per tenere traccia di tutte le porte usate diventa difficile, in considerazione di cui la determinazione del servizio sarà un'opzione più corretta:
- Copia il file di configurazione scrivendo sudo cp /usr/lib/firewalld/services/service.xml /etc/firewalld/services/example.xml, dove service.xml è il nome del file di servizio e l'esempio.xml è il nome delle sue copie.
- Aprire una copia per modificare tramite qualsiasi editor di testo, ad esempio, sudo nano /etc/firewalld/services/example.xml.
- Ad esempio, abbiamo creato una copia del servizio http. Nel documento, si vedano fondamentalmente vari metadati, ad esempio, un breve nome e una descrizione. Influisce sul server a lavorare solo la modifica del numero di porta e del protocollo. Sopra la stringa "" dovrebbe essere aggiunto per aprire la porta. TCP - Protocollo usato, un numero di porta 0000.
- Salva tutte le modifiche (Ctrl + O), chiudere il file (Ctrl + X), quindi riavviare il firewall per applicare i parametri attraverso il firewall-cmd a sudo -reload. Successivamente, il servizio apparirà nell'elenco di disponibili, che può essere visualizzato tramite firewall-cmd -get-services.
Devi solo scegliere la soluzione più appropriata al problema del servizio con accesso al servizio ed eseguire le istruzioni fornite. Come puoi vedere, tutte le azioni vengono eseguite abbastanza facilmente, e non dovrebbero esserci difficoltà.
Creando zone personalizzate
Sai già che inizialmente un gran numero di zone diverse con regole definite è stata creata in firewalld. Tuttavia, si verificano situazioni quando l'amministratore di sistema deve creare una zona utente, come "PublicWeb" per il server Web installato o "Privatedns" - per il server DNS. Su questi due esempi, analizzeremo l'aggiunta dei rami:
- Crea due nuove zone permanenti di sudo firewall-cmd --permanent --new-zone = Publicweb e sudo firewall-cmd --permanent --new-zone = Privatedns.
- Saranno disponibili dopo il riavvio del sudo firewall-cmd --reload tool. Per visualizzare zone permanenti, immettere i firewall sudo-cmd --permanent -get-zones.
- Assegna loro i servizi necessari, come "ssh", "http" e "https". Questi sono finiti dal firewall sudo-cmd --zone = Publicweb --Add-service = ssh, sudo firewall-cmd --zone = Publicweb --do-service = Publicweb --do firewall-cmd - Publicweb - PublicWeb - Add- service = https, dove --zone = Publicweb è il nome della zona da aggiungere. È possibile visualizzare l'attività dei servizi in attesa di firewall-cmd --zone = PublicWeb --List-tutto.
Da questo articolo, hai imparato come creare zone personalizzate e aggiungere servizi a loro. Abbiamo già detto loro come predefinite e assegnazioni di interfacce sopra, è possibile specificare solo i nomi corretti. Non dimenticare di riavviare il firewall dopo aver effettuato alcun cambiamento permanente.
Come puoi vedere, firewalld firewall è uno strumento abbastanza volumetrico che ti consente di creare la configurazione più flessibile del firewall. Resta solo per assicurarsi che l'utilità avvia con il sistema e le regole specificate iniziano immediatamente il loro lavoro. Rendilo con il comando di firewalld systemctl abilitare il comando firewalld.