firewalld è il programma firewall predefinito che viene preinstallato su Red Hat Enterprise Linux e le sue distribuzioni Linux derivate, come AlmaLinux.
Per impostazione predefinita, il firewall è attivato, il che significa che un numero molto limitato di servizi è in grado di ricevere il traffico in entrata. Questa è una bella funzionalità di sicurezza, ma significa che l'utente deve essere sufficientemente informato per configurare il firewall ogni volta che installa un nuovo servizio sul sistema, come HTTPD o SSH per esempio. In caso contrario, le connessioni da Internet non possono raggiungere questi servizi.
Invece di disabilitare completamente il firewall su AlmaLinux, possiamo consentire determinate porte attraverso il firewall, che consente alle connessioni in entrata di raggiungere i nostri servizi. In questa guida vedremo come consentire una porta attraverso il firewall su AlmaLinux. Sentiti libero di seguire se hai appena installato AlmaLinux o migrato da CentOS ad AlmaLinux.
In questo tutorial imparerai:
- Come consentire una porta o un servizio attraverso il firewall su AlmaLinux
- Come ricaricare il firewall per rendere effettive le modifiche
- Come verificare quali porte e servizi sono aperti nel firewall
- Come chiudere una porta dopo averla configurata come aperta
- Esempi di comandi per consentire le porte più comuni tramite firewall
Categoria | Requisiti, convenzioni o versione del software utilizzata |
---|---|
Sistema | AlmaLinux |
Software | firewall |
Altro | Accesso privilegiato al tuo sistema Linux come root o tramite sudo comando. |
Convenzioni | # – richiede che i comandi linux dati vengano eseguiti con i privilegi di root direttamente come utente root o usando sudo comando$ – richiede che i comandi linux dati vengano eseguiti come un normale utente non privilegiato |
Come consentire una porta tramite firewall su AlmaLinux
Segui le istruzioni passo passo di seguito per consentire porte o servizi tramite firewalld su AlmaLinux. Vedrai anche come controllare le porte aperte configurate da firewalld.
- Quando si verifica la presenza di porte firewall aperte su Linux RHEL 8 / CentOS 8, è importante sapere che le porte firewall possono essere aperte in due modi diversi. Innanzitutto, la porta del firewall può essere aperta come parte di un servizio preconfigurato. Prendi questo esempio in cui apriamo la porta per
HTTP
alpublic
zone.# firewall-cmd --zone=public --add-service=http --permanent
Ovviamente, aggiungere il servizio HTTP a firewalld equivale ad aprire la porta
80
. - In secondo luogo, le porte possono essere aperte direttamente come porte personalizzate predefinite dall'utente. Prendi questo esempio in cui apriamo la porta
8080
.# firewall-cmd --zone=public --add-port 8080/tcp --permanent
Poiché 8080 non ha un servizio associato, è necessario specificare il numero di porta anziché il nome di un servizio se vogliamo aprire questa porta.
- Per verificare quali porte di servizio sono aperte, eseguire il comando seguente.
# firewall-cmd --zone=public --list-services cockpit dhcpv6-client http https ssh
I servizi di cui sopra (cockpit, DHCP, HTTP, HTTPS e SSH) hanno i relativi numeri di porta aperti.
- Per controllare quali numeri di porta sono aperti, usa questo comando.
# firewall-cmd --zone=public --list-ports 20/tcp 8080/tcp
Le porte sopra,
20
e8080
, sono aperti al traffico in entrata. - Dopo aver autorizzato le porte e i servizi attraverso il firewall, dovremo ricaricare firewalld affinché le modifiche abbiano effetto. Tutte le regole con il
--permanent
l'opzione diventerà ora parte della configurazione di runtime. Le regole senza questa opzione verranno eliminate.# firewall-cmd --reload
- Possiamo anche vedere un elenco di tutti i servizi e le porte aperte utilizzando il
--list-all
opzione.# firewall-cmd --list-all public (active) target: default icmp-block-inversion: no interfaces: ens160 sources: services: cockpit dhcpv6-client http ssh ports: 443/tcp protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules:
- Nota che firewalld funziona con le zone. A seconda della zona utilizzata dalle interfacce di rete, potrebbe essere necessario aggiungere la porta consentita a quella zona particolare. Il primo passaggio precedente mostra come aggiungere una regola alla zona "pubblica". Per vedere le regole per quella zona in particolare, continua a usare il
--zone=
sintassi.# firewall-cmd --list-all --zone=public public (active) target: default icmp-block-inversion: no interfaces: ens160 sources: services: cockpit dhcpv6-client http ssh ports: 443/tcp protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules:
- Nel caso sia necessario chiudere una delle porte aperte precedentemente configurate, è possibile utilizzare la seguente sintassi dei comandi. In questo esempio, chiudiamo la porta per HTTPS.
# firewall-cmd --zone=public --permanent --remove-service=https
Questo è tutto ciò che c'è da fare. Per ulteriori informazioni su firewalld e firewall-cmd
Comando Linux, consulta la nostra guida dedicata all'introduzione a firewalld e firewall-cmd.
Esempi di porte comuni
Usa i comandi seguenti come guida di riferimento per consentire alcuni dei servizi più comuni attraverso il firewall su AlmaLinux.
- Consenti HTTP tramite firewall.
# firewall-cmd --zone=public --add-service=http --permanent
- Consenti HTTPS tramite firewall.
# firewall-cmd --zone=public --add-service=https --permanent
- Consenti MySQL attraverso il firewall.
# firewall-cmd --zone=public --add-service=mysql --permanent
- Consenti SSH attraverso il firewall.
# firewall-cmd --zone=public --add-service=ssh --permanent
- Consenti DNS tramite firewall.
# firewall-cmd --zone=public --add-service=dns --permanent
- Consenti PostgreSQL attraverso il firewall.
# firewall-cmd --zone=public --add-service=postgresql --permanent
- Consenti telnet attraverso il firewall.
# firewall-cmd --zone=public --add-service=telnet --permanent
Pensieri conclusivi
In questa guida abbiamo visto come consentire una porta o un servizio attraverso il firewall su AlmaLinux. Ciò ha comportato l'utilizzo del comando firewall-cmd associato a firewalld, che semplifica il processo una volta che conosciamo la sintassi corretta da utilizzare. Abbiamo anche visto diversi esempi per consentire molti dei servizi più comuni attraverso il firewall. Ricordati di prestare particolare attenzione a quale zona applichi le nuove regole.