Questo articolo fornisce informazioni di base su come utilizzare il tuo firewalld
firewall software. Questo firewall è la soluzione firewall predefinita per le distribuzioni Linux® basate su RHEL® 7 e CentOS® 7.
Nota :Se devi apportare modifiche al firewall su un server RackConnect®, devi farlo tramite il tuo Dedicated Firewall Manager.
Prerequisiti
Devi avere i seguenti prerequisiti:
- Conoscenza di base di Secure Shell (SSH®)
- Accesso sudo o amministrativo al tuo server
- Un server cloud non RackConnect che esegue RHEL 7 o CentOS 7
Cos'è firewalld?
Il firewalld
service è la soluzione firewall software predefinita e più comune utilizzata in RHEL e CentOS 7. È un wrapper su iptables
che utilizza una sintassi diversa per applicare nuove regole.
Come funziona firewalld?
Il firewalld
il servizio utilizza le zone per controllare l'accesso al firewall. Le zone sono insiemi di regole precostruiti per vari livelli di attendibilità. Probabilmente hai una zona per una determinata posizione o scenario, come home
, public
o trusted
. Diverse zone abilitano diversi servizi di rete e tipi di traffico in entrata negando tutto il resto. Dopo aver abilitato firewalld
per la prima volta, public
è la zona predefinita.
Ecco alcuni esempi di zone:
Zona | Cosa fa |
---|---|
public | Questo è l'esterno zona o zona con connessione a Internet. Non ti fidi delle connessioni provenienti dal mondo esterno e consenti solo servizi specifici. |
internal | Questo è tradizionalmente l'dentro della rete dietro il firewall. |
dmz | Questa zona è per l'uso su computer situati in una DMZ (zona demilitarizzata). Solo alcune connessioni in entrata possono accedere alla rete interna riservata. |
drop | Traffico destinato al drop la zona viene eliminata senza alcuna risposta. Usalo come un buco nero per IP dannosi. |
trusted | trusted accetta tutte le connessioni. Usa questa zona con parsimonia. |
Abilitazione e controllo dello stato del firewalld
Prima di iniziare, devi assicurarti che firewalld
è in esecuzione sul tuo server. Puoi controllare con il seguente comando:
firewall-cmd --state
Se il servizio è avviato, dovresti ricevere un output che indica che il servizio è in esecuzione.
Se il servizio non è in esecuzione, puoi avviarlo eseguendo il comando seguente:
systemctl start firewalld
Puoi anche abilitare firewalld
per iniziare all'avvio eseguendo il comando seguente:
systemctl enable firewalld
Zone in firewalld
Prima di aggiungere regole, devi rivedere le impostazioni predefinite in firewalld
.
Per controllare la zona predefinita in firewalld
, puoi eseguire il seguente comando:
firewall-cmd --get-default-zone
Per impostazione predefinita, questa zona è impostata su public
. Puoi vedere altre zone usando il seguente comando:
firewall-cmd --get-zones
Questo comando elenca le zone disponibili in firewalld
.
Come notato in precedenza, le diverse zone in firewalld
hanno funzionalità diverse. Puoi specificare la zona e le connessioni del controller ethernet per avere un maggiore controllo sull'accesso al tuo server, ma per scopi di Rackspace, usi la configurazione predefinita e modifichi il public
zona.
firewalld
di base regola l'anatomia
Quando scrivi un firewalld
regola, hai bisogno di alcuni elementi di base nella regola.
-
Specificare il comando.
-
Specifica la zona e cambia.
-
Imposta la persistenza.
Mettendo tutto insieme, ottieni qualcosa come il seguente esempio:
firewall-cmd --zone=public --add-source=127.0.0.1 --permanent
Questo comando abilita l'accesso dall'IP 127.0.0.1
al public
zona. Ci sono altri flag disponibili, ma questa è la costruzione di base di un firewalld
regola.
Bandiera permanente e regole avanzate
La bandiera permanente può impostare la persistenza delle regole e consentire la messa a punto delle regole utilizzando regole avanzate .
Bandiera permanente
L'utilizzo del flag permanente non attiva la regola nella configurazione in esecuzione. Per assicurarti che la regola persista, devi aggiungere la regola una seconda volta con il flag permanente.
Esempio di bandiera permanente:
firewall-cmd --add-source=12.345.67.89 --zone=trusted --permanent
Regole ricche
Le regole avanzate offrono un maggiore controllo grazie alle opzioni granulari personalizzate. Le regole avanzate possono configurare la registrazione, il masquerading, il port forwarding e la limitazione della velocità.
Esempio di regole avanzate:
firewall-cmd --add-rich-rule='rule family=ipv4 source address="123.45.69.78" port port="11" protocol=tcp accept' --permanent
Nota :Una combinazione di regole complesse e regole regolari può portare a una configurazione disordinata. L'utilizzo solo di regole avanzate per determinate regole, come l'accesso SSH, può aiutarti a mantenere pulita la tua configurazione.
Esempio di comandi
Infine, ecco alcuni esempi di firewalld
comandi.
Comando | Cosa fa |
---|---|
firewall-cmd --add-source=12.345.67.89 --zone=trusted | Questo comando accetta il traffico dall'IP specificato alla zona attendibile. |
firewall-cmd --zone=drop --add-source=12.345.67.89/24 | Questo comando elimina il traffico dall'intervallo IP specificato. |
firewall-cmd --zone=public --add-service=ssh | Questo comando consente il traffico tramite SSH nella zona pubblica. |
firewall-cmd --zone=public --list-all | Questo comando elenca tutte le specifiche impostate per la zona, come sorgenti, servizi, regole avanzate e così via. |
firewall-cmd --add-rich-rule='rule family=ipv4 source address="123.456.789.123" port port="22" protocol=tcp accept' --permanent | Questo comando aggiunge una regola avanzata per consentire l'accesso dall'IP specificato sulla porta 22 su TCP sul public zona. |
Ulteriori letture
Questo documento scalfisce solo la superficie delle possibilità con firewalld
. Puoi rivedere il man
pagina per firewalld
oppure consulta la documentazione ufficiale per firewalld
su https://firewalld.org/documentation/man-pages/firewall-cmd.html.