Ú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.


Instal·leu Plesk a CentOS 7

Instal·leu Plesk a CentOS 7

Utilitzeu un sistema diferent? Plesk és un tauler de control d'amfitrió web propietari que permet als usuaris administrar els seus llocs web personals i/o de clients, bases de dades

Com instal·lar Squid Proxy a CentOS

Com instal·lar Squid Proxy a CentOS

Squid és un popular programa Linux gratuït que us permet crear un servidor intermediari web de reenviament. En aquesta guia, veureu com instal·lar Squid a CentOS per convertir-vos-hi

Com instal·lar Lighttpd (LLMP Stack) a CentOS 6

Com instal·lar Lighttpd (LLMP Stack) a CentOS 6

Introducció Lighttpd és una bifurcació d'Apache destinada a ser molt menys intensiu en recursos. És lleuger, d'aquí el seu nom, i és bastant senzill d'utilitzar. Instal·lant

Configuració de xarxes estàtiques i IPv6 a CentOS 7

Configuració de xarxes estàtiques i IPv6 a CentOS 7

Recentment, VULTR ha fet canvis al seu extrem, i ara tot hauria de funcionar bé des de la caixa amb NetworkManager habilitat. Si voleu desactivar

Modificació dIcinga2 per utilitzar el model mestre/client a CentOS 6 o CentOS 7

Modificació dIcinga2 per utilitzar el model mestre/client a CentOS 6 o CentOS 7

Icinga2 és un sistema de supervisió potent i, quan s'utilitza en un model de client mestre, pot substituir la necessitat de controls de monitoratge basats en NRPE. El mestre-client

Com instal·lar Apache Cassandra 3.11.x a CentOS 7

Com instal·lar Apache Cassandra 3.11.x a CentOS 7

Utilitzeu un sistema diferent? Apache Cassandra és un sistema de gestió de bases de dades NoSQL gratuït i de codi obert dissenyat per proporcionar escalabilitat, alta

Com instal·lar Microweber a CentOS 7

Com instal·lar Microweber a CentOS 7

Utilitzeu un sistema diferent? Microweber és un CMS d'arrossegar i deixar anar de codi obert i una botiga en línia. El codi font de Microweber està allotjat a GitHub. Aquesta guia us mostrarà

Com instal·lar Vanilla Forum a CentOS 7

Com instal·lar Vanilla Forum a CentOS 7

Utilitzeu un sistema diferent? Vanilla Forum és una aplicació de fòrum de codi obert escrita en PHP. És totalment personalitzable, fàcil d'utilitzar i admet externa

Com instal·lar Mattermost 4.1 a CentOS 7

Com instal·lar Mattermost 4.1 a CentOS 7

Utilitzeu un sistema diferent? Mattermost és una alternativa autoallotjada de codi obert al servei de missatgeria Slack SAAS. En altres paraules, amb Mattermost, ca

Creació duna xarxa de servidors de Minecraft amb BungeeCord a Debian 8, Debian 9 o CentOS 7

Creació duna xarxa de servidors de Minecraft amb BungeeCord a Debian 8, Debian 9 o CentOS 7

Què necessitareu Un Vultr VPS amb almenys 1 GB de RAM. Accés SSH (amb privilegis d'arrel/administrador). Pas 1: instal·lació de BungeeCord Primer de tot

Permet xifrar a Plesk

Permet xifrar a Plesk

El tauler de control de Plesk inclou una integració molt agradable per Lets Encrypt. Lets Encrypt és un dels únics proveïdors SSL que ofereix certificats complets

Permet xifrar a cPanel

Permet xifrar a cPanel

Lets Encrypt és una autoritat de certificació dedicada a proporcionar certificats SSL de manera gratuïta. cPanel ha creat una integració perfecta perquè tu i el teu client

Com instal·lar Concrete5 a CentOS 7

Com instal·lar Concrete5 a CentOS 7

Utilitzeu un sistema diferent? Concrete5 és un CMS de codi obert que ofereix moltes característiques distintives i útils per ajudar els editors a produir continguts fàcilment i

Com instal·lar el tauler de revisió a CentOS 7

Com instal·lar el tauler de revisió a CentOS 7

Utilitzeu un sistema diferent? Review Board és una eina gratuïta i de codi obert per revisar el codi font, la documentació, les imatges i molts més. És un programari basat en web

Configura lautenticació HTTP amb Nginx a CentOS 7

Configura lautenticació HTTP amb Nginx a CentOS 7

En aquesta guia, aprendràs a configurar l'autenticació HTTP per a un servidor web Nginx que s'executa a CentOS 7. Requisits Per començar, necessitareu el

Com instal·lar GoAccess a CentOS 7

Com instal·lar GoAccess a CentOS 7

Utilitzeu un sistema diferent? GoAccess és un analitzador de registres web de codi obert. Podeu utilitzar-lo per analitzar els registres en temps real al terminal o

Com instal·lar YOURLS a CentOS 7

Com instal·lar YOURLS a CentOS 7

YOURLS (Your Own URL Shortener) és una aplicació d'anàlisi de dades i escurçament d'URL de codi obert. En aquest article, tractarem el procés d'instal·lació

Com instal·lar i configurar ArangoDB a CentOS 7

Com instal·lar i configurar ArangoDB a CentOS 7

Utilitzeu un sistema diferent? Introducció ArangoDB és una base de dades NoSQL de codi obert amb un model de dades flexible per a documents, gràfics i claus-valors. És

Utilitzant Etckeeper per al control de versions de /etc

Utilitzant Etckeeper per al control de versions de /etc

Introducció El directori /etc/ té un paper crític en el funcionament d'un sistema Linux. La raó d'això és perquè gairebé totes les configuracions del sistema

Per què hauríeu dutilitzar SSHFS? Com muntar un sistema de fitxers remot amb SSHFS a CentOS 6

Per què hauríeu dutilitzar SSHFS? Com muntar un sistema de fitxers remot amb SSHFS a CentOS 6

Molts administradors de sistemes gestionen grans quantitats de servidors. Quan s'hagi d'accedir als fitxers a través de diferents servidors, inicieu sessió a cadascun individualment ca

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.

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.

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.

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ó