Ús de FirewallD per gestionar el vostre tallafoc a CentOS 7

FirewallD és un tallafoc gestionat dinàmicament que proporciona suport per a les regles del tallafoc IPv4 i IPv6 i les zones del tallafoc que està disponible als servidors basats en RHEL 7. És un reemplaçament directe iptablesi funciona amb el codi del nucli netfilter.

En aquest article farem un breu cop d'ull a la gestió del tallafoc a CentOS 7 mitjançant l' firewall-cmdordre.

Comprovant si FirewallD s'està executant

El primer pas és comprovar si FirewallD està instal·lat i en funcionament. Això es pot fer mitjançant l' systemdexecució del següent:

$ systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2016-03-10 15:07:00 UTC; 1min 30s ago
   ...

Alternativament, podeu comprovar amb l' firewall-cmdeina:

$ firewall-cmd --state
running

Gestió de zones

FirewallD funciona utilitzant el concepte d' zoneson una zona defineix el nivell de confiança utilitzat per a una connexió. Podeu dividir diferents interfícies de xarxa en diferents zones per tal d'aplicar regles de tallafoc específiques per interfície o podeu utilitzar una zona per a totes les interfícies.

Fora de la caixa, tot es fa a la publiczona predeterminada , però hi ha altres zones preconfigurades que també es poden aplicar.

Llista de totes les zones disponibles

És possible que hàgiu d'obtenir una llista de totes les zones disponibles, de les quals n'hi ha diverses fora de la caixa. De nou, això es pot fer amb firewall-cmd:

$ firewall-cmd --get-zones
block dmz drop external home internal public trusted work

Comprovació de la zona per defecte

Podeu descobrir la zona per defecte que està configurada actualment mitjançant firewall-cmd:

$ firewall-cmd --get-default-zone
public

Si voleu canviar la zona per defecte (per exemple, a home), això es pot fer executant:

$ firewall-cmd --set-default-zone=home
success

Aquesta informació es reflectirà al fitxer de configuració principal, /etc/firewalld/firewalld.conf. Tanmateix, es recomana que no modifiqueu aquest fitxer manualment i que utilitzeu firewall-cmd.

Comprovació de les zones assignades actualment

Podeu obtenir una llista de les zones a les quals teniu les interfícies assignades executant:

$ firewall-cmd --get-active-zones
public
  interfaces: eth0

També podeu comprovar la zona d'una única interfície ( eth0en aquest cas) executant:

$  firewall-cmd --get-zone-of-interface=eth0
public

Creació de zones

Si les zones preconfigurades per defecte no s'adapten del tot a les vostres necessitats, la manera més senzilla de crear una zona nova ( zone1) és de nou mitjançant firewall-cmd:

$ firewall-cmd --permanent --new-zone=zone1
success

Després de la creació, heu de tornar a carregar:

$ firewall-cmd --reload
success

Aplicació d'una zona a una interfície

Per assignar permanentment una interfície de xarxa a una zona, podeu utilitzar, firewall-cmdperò recordeu incloure el --permanentsenyalador per mantenir el canvi. Si feu servir NetworkManager, també hauríeu d'assegurar-vos d'utilitzar nmcliper configurar la zona de connexió.

$ firewall-cmd --permanent --zone=internal --change-interface=eth1`
success

Aconseguint la configuració permanent d'una zona

Per comprovar la configuració permanent d'una zona ( publicen aquest cas), incloses les interfícies assignades, els serveis permesos, la configuració del port i més, executeu:

$ firewall-cmd --permanent --zone=public --list-all
public (default)
  interfaces:
  sources:
  services: dhcpv6-client ssh
  ports:
  masquerade: no
  forward-ports:
  icmp-blocks:
  rich rules:

Gestió de serveis

Un cop hàgiu assignat i configurat les vostres zones necessàries, podeu començar a afegir serveis a les zones. Els serveis descriuen els protocols i els ports als quals es pot accedir per a una zona.

Llistat dels serveis existents

Una sèrie de serveis comuns estan preconfigurats dins de firewalld. Aquests es poden enumerar:

$ firewall-cmd --get-services
RH-Satellite-6 amanda-client bacula bacula-client dhcp dhcpv6 dhcpv6-client dns freeipa-ldap freeipa-ldaps freeipa-replication ftp high-availability http https imaps ipp ipp-client ipsec iscsi-target kerberos kpasswd ldap ldaps libvirt libvirt-tls mdns mountd ms-wbt mysql nfs ntp openvpn pmcd pmproxy pmwebapi pmwebapis pop3s postgresql proxy-dhcp radius rpc-bind rsyncd samba samba-client smtp ssh telnet tftp tftp-client transmission-client vdsm vnc-server wbem-https

També podeu obtenir una llista dels serveis habilitats per a la zona predeterminada:

$ firewall-cmd --list-services
dhcpv6-client ssh

Afegir un servei a una zona

Podeu habilitar un servei determinat per a una zona ( public) permanentment utilitzant la --add-servicebandera:

$ firewall-cmd --permanent --zone=public --add-service=http
success

A continuació, torneu a carregar la sessió actual del tallafoc:

$ firewall-cmd --reload
success

Aleshores, per verificar-ho, s'ha afegit:

$ firewall-cmd --zone=public --list-services
dhcpv6-client http ssh

Eliminació d'un servei d'una zona

Podeu eliminar un servei determinat per a una zona ( public) permanentment utilitzant la --remove-servicebandera:

$ firewall-cmd --permanent --zone=public --remove-service=http
success

A continuació, torneu a carregar la sessió actual del tallafoc:

$ firewall-cmd --reload
success

Aleshores, per verificar-ho, s'ha afegit:

$ firewall-cmd --zone=public --list-services
dhcpv6-client ssh

Afegir/eliminar diversos serveis d'una zona

Podeu afegir o eliminar diversos serveis (per exemple, httpi https) d'una zona, d'un en un o tots alhora, embolicant els noms dels serveis desitjats entre claus ( {, }):

$ firewall-cmd --permanent --zone=public --add-service=
success

$ firewall-cmd --permanent --zone=public --list-services
dhcpv6-client http https ssh

Creació de nous serveis

De vegades és possible que hàgiu d'afegir nous serveis personalitzats, per exemple, si heu canviat el port del dimoni SSH. Els serveis es defineixen mitjançant fitxers XML trivials, els fitxers predeterminats es troben a /usr/lib/firewalld/services:

$  tree /usr/lib/firewalld/services
/usr/lib/firewalld/services
├── amanda-client.xml
├── bacula-client.xml
├── bacula.xml
├── dhcpv6-client.xml
├── dhcpv6.xml
├── dhcp.xml
├── dns.xml
├── freeipa-ldaps.xml
├── freeipa-ldap.xml
├── freeipa-replication.xml
├── ftp.xml
├── high-availability.xml
├── https.xml
├── http.xml
...

La manera més senzilla de crear un servei nou és copiar un d'aquests fitxers de servei existents i modificar-lo. Els serveis personalitzats haurien de residir a /etc/firewalld/services. Per exemple, per personalitzar el servei SSH:

$ cp /usr/lib/firewalld/services/ssh.xml /etc/firewalld/services/ssh-custom.xml

El contingut d'aquest fitxer copiat hauria de semblar:

$ cat /etc/firewalld/services/ssh-custom.xml
<?xml version="1.0" encoding="utf-8"?>
<service>
  <short>SSH</short>
  <description>Secure Shell (SSH) is a protocol for logging into and executing commands on remote machines. It provides secure encrypted communications. If you plan on accessing your machine remotely via SSH over a firewalled interface, enable this option. You need the openssh-server package installed for this option to be useful.</description>
  <port protocol="tcp" port="22"/>
</service>

Per canviar el port, hauríeu de canviar el nom curt del servei i el port. També podeu canviar la descripció si ho desitgeu, però només són metadades addicionals que poden utilitzar una interfície d'usuari o una altra aplicació. En aquest exemple, estic canviant el port a 1234:

$ nano /etc/firewalld/services/ssh-custom.xml
<?xml version="1.0" encoding="utf-8"?>
<service>
  <short>SSH-Custom</short>
  <description>Secure Shell (SSH) is a protocol for logging into and executing commands on remote machines. It provides secure encrypted communications. If you plan on accessing your machine remotely via SSH over a firewalled interface, enable this option. You need the openssh-server package installed for this option to be useful.</description>
  <port protocol="tcp" port="1234"/>
</service>

Un cop desat, hauràs de tornar a carregar el tallafoc i després podràs aplicar la teva regla a la teva zona:

$ firewall-cmd --reload
success

$ firewall-cmd --permanent --zone=public --add-service=ssh-custom
success

Gestió portuària

A més d'utilitzar serveis, també podeu permetre manualment els ports per protocol. Per permetre el port TCP 7777per a la publiczona:

$ firewall-cmd --permanent --zone=public --add-port=7777/tcp
success

També podeu afegir un interval de ports:

$ firewall-cmd --permanent --zone=public --add-port=7000-8000/tcp
success

Per eliminar (i, per tant, denegar) el port TCP 7777de la publiczona:

$ firewall-cmd --permanent --zone=public --remove-port=7777/tcp
success

També podeu llistar els ports permesos actualment per a una zona determinada ( public) després de tornar a carregar la sessió del tallafoc actual:

$ firewall-cmd --zone=public --list-ports
7000-8000/tcp

Habilitant FirewallD

Un cop hàgiu configurat el tallafoc al vostre gust, haureu d'assegurar-vos d'activar-lo mitjançant systemd per assegurar-vos que s'iniciï a l'inici:

$ systemctl enable firewalld

Conclusió

Hi ha moltes més configuracions i opcions dins de FirewallD, com ara el reenviament de ports, l'emmascarament i la comunicació amb el tallafoc mitjançant D-Bus. Esperem que aquesta guia us hagi ajudat a entendre els conceptes bàsics i us hagi donat les eines per començar amb el tallafocs des del vostre servidor. Algunes lectures addicionals a continuació us ajudaran a treure el màxim profit del vostre tallafoc.

Deixa un comentari

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

La Intel·ligència Artificial no està en el futur, és aquí mateix en el present. En aquest bloc Llegiu com les aplicacions d'Intel·ligència Artificial han afectat diversos sectors.

Atacs DDOS: una breu visió general

Atacs DDOS: una breu visió general

També ets víctima d'atacs DDOS i estàs confós sobre els mètodes de prevenció? Llegiu aquest article per resoldre les vostres consultes.

Us heu preguntat mai com guanyen diners els pirates informàtics?

Us heu preguntat mai com guanyen diners els pirates informàtics?

Potser haureu sentit que els pirates informàtics guanyen molts diners, però us heu preguntat mai com guanyen aquest tipus de diners? anem a discutir.

Invents revolucionaris de Google que us facilitaran la vida.

Invents revolucionaris de Google que us facilitaran la vida.

Vols veure els invents revolucionaris de Google i com aquests invents van canviar la vida de tots els éssers humans actuals? A continuació, llegiu al bloc per veure els invents de Google.

Divendres essencial: què va passar amb els cotxes impulsats per IA?

Divendres essencial: què va passar amb els cotxes impulsats per IA?

El concepte de cotxes autònoms per sortir a les carreteres amb l'ajuda de la intel·ligència artificial és un somni que tenim des de fa temps. Però malgrat les diverses promeses, no es veuen enlloc. Llegeix aquest blog per saber-ne més...

Singularitat tecnològica: un futur llunyà de la civilització humana?

Singularitat tecnològica: un futur llunyà de la civilització humana?

A mesura que la ciència evoluciona a un ritme ràpid, fent-se càrrec de molts dels nostres esforços, també augmenten els riscos de sotmetre'ns a una singularitat inexplicable. Llegeix, què pot significar per a nosaltres la singularitat.

Funcionalitats de les capes darquitectura de referència de Big Data

Funcionalitats de les capes darquitectura de referència de Big Data

Llegeix el blog per conèixer de la manera més senzilla les diferents capes de l'Arquitectura Big Data i les seves funcionalitats.

Evolució de lemmagatzematge de dades – Infografia

Evolució de lemmagatzematge de dades – Infografia

Els mètodes d'emmagatzematge de les dades que han anat evolucionant poden ser des del naixement de les dades. Aquest bloc tracta l'evolució de l'emmagatzematge de dades a partir d'una infografia.

6 avantatges sorprenents de tenir dispositius domèstics intel·ligents a les nostres vides

6 avantatges sorprenents de tenir dispositius domèstics intel·ligents a les nostres vides

En aquest món digital, els dispositius domèstics intel·ligents s'han convertit en una part crucial de les vides. A continuació, es mostren alguns avantatges sorprenents dels dispositius domèstics intel·ligents sobre com fan que la nostra vida valgui la pena i sigui més senzilla.

Lactualització del suplement de macOS Catalina 10.15.4 està causant més problemes que no pas solucions

Lactualització del suplement de macOS Catalina 10.15.4 està causant més problemes que no pas solucions

Recentment, Apple va llançar macOS Catalina 10.15.4, una actualització de suplements per solucionar problemes, però sembla que l'actualització està causant més problemes que provoquen el bloqueig de les màquines Mac. Llegiu aquest article per obtenir més informació