GNU/Linux >> Linux Esercitazione >  >> Linux

Come configurare Firewall con Firewalld su CentOS 8

Un firewall è un modo per proteggere il tuo sistema dal traffico indesiderato proveniente da reti esterne. Gli strumenti firewall gratuiti e commerciali sono abbondanti; alcuni di questi includono Iptables, UFW, Juniper, pfSense, SonicWall e altri.

Tra questi, FirewallD è uno strumento software firewall gratuito per il sistema operativo CentOS/RHEL/Fedora. È un controller frontend per iptables e fornisce un'interfaccia a riga di comando per implementare le regole del firewall. Rispetto a Iptables, FirewallD utilizza zone e servizi invece di catene e regole e gestisce dinamicamente i set di regole. FirewallD fornisce lo strumento da riga di comando firewall-cmd per gestire il runtime e la configurazione permanente.

Caratteristiche

  • Supporta il protocollo IPv4 e IPv6
  • Elenco delle zone predefinite
  • CLI e configurazione grafica
  • API D-Bus completa
  • Bridge Ethernet
  • Semplice registro dei pacchetti negati
  • Inserimento nella whitelist dell'applicazione
  • Integrazione dei pupazzi

In questo tutorial impareremo come configurare il firewall con FirewallD su CentOS 8.

Prerequisiti

  • Un nuovo CentOS 8 VPS sulla piattaforma Atlantic.Net Cloud
  • Una password di root configurata sul tuo server

Fase 1:crea un server cloud Atlantic.Net

Per prima cosa, accedi al tuo server Atlantic.Net Cloud. Crea un nuovo server, scegliendo CentOS 8 come sistema operativo con almeno 1 GB di RAM. Collegati al tuo Cloud Server tramite SSH e accedi utilizzando le credenziali evidenziate in alto nella pagina.

Dopo aver effettuato l'accesso al server CentOS 8, esegui il comando seguente per aggiornare il sistema di base con gli ultimi pacchetti disponibili.

dnf update -y

Passaggio 2:installa Firewalld

dnf install firewalld -y

Una volta installato, avvia il servizio FirewallD e abilitalo all'avvio al riavvio del sistema con il seguente comando:

systemctl start firewalld
systemctl enable firewalld

Puoi anche verificare lo stato di FirewallD usando il seguente comando:

firewall-cmd --state

Uscita:

running

Fase 3:utilizzo di base di FirewallD

FirewallD gestisce un insieme di regole utilizzando le zone. Ogni zona ha la propria configurazione per accettare o rifiutare i pacchetti a seconda del livello di fiducia che hai nelle reti a cui è connesso il tuo computer.

Puoi elencare tutte le zone disponibili usando il seguente comando:

firewall-cmd --get-zones

Dovresti vedere il seguente elenco:

block dmz drop external home internal public trusted work

Per ottenere un elenco di tutte le zone attive, eseguire il comando seguente:

firewall-cmd --get-active-zones

Dovresti vedere il seguente elenco:

public
interfaces: eth0 eth1

È possibile elencare la zona predefinita impostata per le connessioni di rete utilizzando il comando seguente:

firewall-cmd --get-default-zone

Uscita:

public

Per cambiare la zona predefinita da pubblica a casa utilizzando il seguente comando:

firewall-cmd --set-default-zone=home --permanent

Per visualizzare maggiori informazioni su qualsiasi zona utilizzando il seguente comando:

firewall-cmd --info-zone public

Dovresti ottenere il seguente output:

public (active)
target: default
icmp-block-inversion: no
interfaces: eth0 eth1
sources:
services: cockpit dhcpv6-client ssh
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:

Puoi anche elencare tutti i servizi disponibili eseguendo il comando seguente:

firewall-cmd --get-services

Dovresti ottenere il seguente output:

RH-Satellite-6 amanda-client amanda-k5-client amqp amqps apcupsd audit bacula bacula-client bb bgp bitcoin bitcoin-rpc bitcoin-testnet bitcoin-testnet-rpc bittorrent-lsd ceph ceph-mon cfengine cockpit condor-collector ctdb dhcp dhcpv6 dhcpv6-client distcc dns dns-over-tls docker-registry docker-swarm dropbox-lansync elasticsearch etcd-client etcd-server finger freeipa-4 freeipa-ldap freeipa-ldaps freeipa-replication freeipa-trust ftp ganglia-client ganglia-master git grafana gre high-availability http https imap imaps ipp ipp-client ipsec irc ircs iscsi-target isns jenkins kadmin kdeconnect kerberos kibana klogin kpasswd kprop kshell kube-apiserver ldap ldaps libvirt libvirt-tls lightning-network llmnr managesieve matrix mdns memcache minidlna mongodb mosh mountd mqtt mqtt-tls ms-wbt mssql murmur mysql nfs nfs3 nmea-0183 nrpe ntp nut openvpn ovirt-imageio ovirt-storageconsole ovirt-vmconsole plex pmcd pmproxy pmwebapi pmwebapis pop3 pop3s postgresql privoxy prometheus proxy-dhcp ptp pulseaudio puppetmaster quassel radius rdp redis redis-sentinel rpc-bind rsh rsyncd rtsp salt-master samba samba-client samba-dc sane sip sips slp smtp smtp-submission smtps snmp snmptrap spideroak-lansync spotify-sync squid ssdp ssh steam-streaming svdrp svn syncthing syncthing-gui synergy syslog syslog-tls telnet tentacle tftp tftp-client tile38 tinc tor-socks transmission-client upnp-client vdsm vnc-server wbem-http wbem-https wsman wsmans xdmcp xmpp-bosh xmpp-client xmpp-local xmpp-server zabbix-agent zabbix-server

Fase 4:Consenti e Nega le porte con Firewalld

Firewalld fornisce uno strumento da riga di comando firewall-cmd per aggiungere e rimuovere porte nel tuo sistema.

Ad esempio, per consentire le porte TCP 80 e 22 nell'area pubblica, eseguire il comando seguente:

firewall-cmd --zone=public --permanent --add-port=80/tcp --add-port=22/tcp

Quindi, ricarica il demone FirewallD per salvare la configurazione:

firewall-cmd --reload

Ora, elenca la porta aggiunta con il seguente comando:

firewall-cmd --info-zone public

Dovresti vedere il seguente output:

public (active)
target: default
icmp-block-inversion: no
interfaces: eth0 eth1
sources:
services: cockpit dhcpv6-client ssh
ports: 80/tcp 22/tcp
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:

Puoi anche negare o rimuovere facilmente la porta dalla zona utilizzando l'opzione –remove-port.

Ad esempio, per negare o rimuovere la porta 80 dalla zona pubblica, eseguire il comando seguente:

firewall-cmd --zone=public --permanent --remove-port=80/tcp

Passaggio 5:Consenti e nega servizi con FirewallD

Puoi anche consentire e negare in base al nome del servizio invece di utilizzare una porta con FirewallD.

Ad esempio, consenti il ​​servizio FTP nell'area pubblica eseguendo il comando seguente:

firewall-cmd --zone=public --permanent --add-service=ftp
firewall-cmd --reload

Puoi negare o rimuovere il servizio FTP dall'area pubblica utilizzando il seguente comando:

:

firewall-cmd --zone=public --permanent --remove-service=ftp
firewall-cmd --reload

Fase 6:imposta il mascheramento IP con FirewallD

Il masquerading IP è un processo o metodo che consente ai tuoi computer in una rete con indirizzi IP privati ​​di comunicare con Internet utilizzando l'indirizzo del tuo server. È molto utile quando vuoi che un altro computer comunichi a Internet senza acquistare IP aggiuntivi dal tuo ISP.

Prima di configurare il masquerading IP, verificare se il masquerading è attivo o meno con il seguente comando:

firewall-cmd --zone=public --query-masquerade

Dovresti vedere che il mascheramento IP è disabilitato nella zona pubblica come mostrato di seguito:

no

Ora, imposta il masquerading IP usando il seguente comando:

firewall-cmd --zone=public --add-masquerade
firewall-cmd --reload

Puoi anche disabilitare il mascheramento IP usando l'opzione –remove-masquerade:

firewall-cmd --zone=public --remove-masquerade
firewall-cmd --reload

Conclusione

Nella guida sopra, hai imparato come utilizzare FirewallD per bloccare il traffico indesiderato nel tuo sistema. Ora dovresti essere in grado di limitare tutte le connessioni non necessarie e proteggere il tuo server dagli aggressori. Prova FirewallD su un VPS Atlantic.Net!


Linux
  1. Configura Firewall con FirewallD su CentOS 7

  2. Come disabilitare il firewall su CentOS 8 Linux

  3. Come configurare il firewall su CentOS 7

  4. Come configurare il firewall utilizzando FirewallD su CentOS 8

  5. CentOS / RHEL 7:come aprire una porta nel firewall con firewall-cmd?

Come configurare un firewall con FirewallD su CentOS 7

Come configurare un firewall con UFW su Debian 10

Come configurare un firewall con UFW su Debian 9

Come configurare un firewall con GUFW su Linux

Come installare Kubernetes con Minikube su CentOS 8

Come installare Nginx con il modulo RTMP su CentOS 8