Problema: Aprire Porte su CentOS/RHEL
Aprire porte su sistemi CentOS o RHEL è un compito per amministratori di sistema e sviluppatori. È necessario quando si vuole consentire a specifico traffico di rete di attraversare il firewall per raggiungere i servizi sul server. Il processo può essere confuso per chi è nuovo ai firewall Linux, specialmente su queste distribuzioni che usano firewalld come impostazione predefinita.
Apertura di Porte su CentOS/RHEL
Uso di FirewallD per la Gestione delle Porte
FirewallD è lo strumento firewall predefinito per CentOS e RHEL. Gestisce le regole del firewall. Segui questi passaggi per aprire le porte con FirewallD:
-
Controlla lo stato di FirewallD:
sudo firewall-cmd --state -
Elenca le porte aperte:
sudo firewall-cmd --list-ports -
Apri una porta (es. porta 80 per HTTP):
sudo firewall-cmd --add-port=80/tcp --permanent -
Ricarica le regole del firewall:
sudo firewall-cmd --reload
Configurazione di IPTables per l'Accesso alle Porte
IPTables è uno strumento firewall più vecchio. Usalo per aprire le porte:
-
Controlla le regole IPTables:
sudo iptables -L -
Aggiungi una regola per aprire una porta (es. porta 22 per SSH):
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT -
Salva le nuove regole:
sudo service iptables save -
Riavvia IPTables:
sudo service iptables restart
Fai attenzione quando apri le porte, poiché può influire sulla sicurezza del tuo sistema. Apri solo le porte necessarie e monitora spesso i log del firewall.
Verifica delle Porte Aperte su CentOS
Uso di Netstat per Elencare le Porte Aperte
Netstat è uno strumento per controllare le porte aperte sul tuo sistema CentOS. Per usare netstat:
- Apri un terminale.
- Esegui questo comando:
sudo netstat -tulnQuesto mostra tutte le porte TCP e UDP in ascolto.
L'output mostra:
- Protocollo (TCP o UDP)
- Indirizzo locale e numero di porta
- Indirizzo esterno e numero di porta
- Stato della connessione
Ad esempio:
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
Questo significa che la porta 22 (SSH) è aperta e in ascolto per connessioni.
Uso di LSOF per Controllare le Porte in Ascolto
LSOF (List Open Files) è un altro strumento per identificare le porte aperte. Per usare LSOF:
-
Installa LSOF se non è presente nel tuo sistema:
sudo yum install lsof -
Esegui questo comando per vedere le porte in ascolto:
sudo lsof -i -P -n | grep LISTEN
Questo comando mostra:
- Il nome del processo che usa la porta
- L'utente che esegue il processo
- Il numero di porta
Ad esempio:
sshd 1234 root 3u IPv4 12345 0t0 TCP *:22 (LISTEN)
Questo mostra che il demone SSH è in ascolto sulla porta 22.
Sia netstat che LSOF forniscono informazioni sulle porte aperte sul tuo sistema CentOS, aiutandoti a verificare le impostazioni del firewall.
Metodi Alternativi per la Configurazione delle Porte
Uso dello Strumento System-Config-Firewall
System-config-firewall è uno strumento per gestire le impostazioni del firewall su CentOS. Offre un'interfaccia visuale per chi preferisce alternative alle operazioni da riga di comando.
Per usare system-config-firewall:
-
Installa lo strumento:
sudo yum install system-config-firewall -
Avvia l'applicazione:
sudo system-config-firewall -
Nell'interfaccia, seleziona "Altre Porte" e clicca "Aggiungi".
-
Scegli il protocollo (TCP o UDP) e inserisci il numero di porta.
-
Clicca "Applica" per salvare le modifiche.
Questo metodo è utile per gli utenti che preferiscono strumenti visuali.
Gestione delle Porte Specifica per il Cloud
Quando esegui CentOS su piattaforme cloud, potresti dover considerare impostazioni firewall aggiuntive per il tuo provider cloud.
Per CentOS ospitato sul cloud:
-
Controlla la documentazione del tuo provider cloud per la gestione del firewall.
-
Usa il pannello di controllo della piattaforma cloud o gli strumenti CLI per gestire i gruppi di sicurezza di rete.
-
Configura sia il firewall CentOS che il firewall del provider cloud per consentire il traffico desiderato.
-
Alcuni provider cloud potrebbero richiedere l'apertura delle porte a livello di rete prima di configurare il firewall a livello di sistema operativo.
-
Testa la tua configurazione per assicurarti che entrambi i firewall cloud e OS funzionino correttamente insieme.
Ricorda, gli ambienti cloud possono avere pratiche di sicurezza diverse rispetto alle configurazioni on-premises. Segui sempre le linee guida di sicurezza del tuo provider cloud quando gestisci porte e regole firewall.
Risoluzione dei Problemi di Accesso alle Porte su CentOS
Quando affronti problemi di accesso alle porte su CentOS, potresti incontrare queste difficoltà. Ecco alcune soluzioni per aiutarti a risolverle:
-
Porta non si apre:
- Controlla le regole del firewall usando
firewall-cmd --list-all - Aggiungi la porta alla zona corretta
- Ricarica il firewall dopo aver apportato modifiche
- Controlla le regole del firewall usando
-
Servizio non si avvia:
- Verifica se il servizio è in esecuzione con
systemctl status nome_servizio - Controlla i log del servizio per errori
- Assicurati che il servizio utilizzi la porta corretta
- Verifica se il servizio è in esecuzione con
-
Impostazioni SELinux errate:
- Usa
sestatusper verificare se SELinux è attivo - Esegui
semanage port -l | grep numero_portaper controllare le etichette delle porte SELinux - Se necessario, aggiungi il contesto SELinux corretto con
semanage port -a -t etichetta_porta_t -p tcp numero_porta
- Usa
-
Applicazioni in conflitto:
- Usa
netstat -tulnoss -tulnper verificare se un'altra applicazione usa la porta - Arresta o modifica l'applicazione in conflitto se necessario
- Usa
Per controllare i log del firewall per tentativi di connessione:
-
Attiva la registrazione per i pacchetti negati:
sudo firewall-cmd --set-log-denied=all --permanent sudo firewall-cmd --reload -
Visualizza i log del firewall:
sudo journalctl -f -u firewalld -
Cerca voci con "FINAL_REJECT" o "FINAL_DROP" che mostrano connessioni bloccate
-
Controlla le voci del log per trovare l'IP di origine, la porta di destinazione e il protocollo del traffico bloccato





