Cargando



Firewall CentOS 7: Configurar, habilitar, deshabilitar y crear reglas

Tutorial para configurar, habilitar, deshabilitar y crear reglas dentro del Firewalld de CentOS 7 y mejorar la seguridad.


jun 17 2019 15:51
Avanzado
Total de Apartados : 14
jun 17 2019 17:07

Una de las medidas incluidas en los Sistemas Operativos para aumentar los niveles de seguridad y establecer un control sobre las conexiones entrantes y salientes del sistema. El Firewall es una parte fundamental en la seguridad de nuestros equipos independientemente del sistema ya que es el guardián que impide que contenido indebido pueda dañar nuestros equipos. Por suerte en sistemas como Linux, el Firewall ya viene integrado por defecto y nos ofrece multitud de opciones para enfrentarnos a estas situaciones. Concretamente en CentOS el Firewall integrado se llama firewalld y realiza diferentes tareas de seguridad en nuestra distro de Linux.

 

Una de las medidas de seguridad más importantes que debemos llevar en nuestro sistema operativo es la implementación de un firewall. Conoce los mejores que puedes instalar en Linux a continuación.

 

Es muy importante conocer todo lo que un Firewall nos ofrece a nivel de protección y es importante saber que en CentOS 7 la solución incluida a nivel de Firewall es llamada Firewalld la cual nos ofrece las siguientes ventajas.

 

Ventajas Firewalld
Las ventajas del Firewall de CentOS 7 son:
  • Es un cortafuegos dinámico.
  • Estable.
  • Múltiples opciones de configuración.
  • Soporta configuraciones Ipv4, Ipv6 y puentes de Ethernet.
  • Podemos definir diversas formas de configuración de Firewalld (continua y en ejecución)
  • Analizaremos en detalle cómo funciona Firewalld en CentOS 7 y de esta manera comprenderemos todo su gran alcance.

 

 


1. Términos básicos en Firewalld CentOS 7


Antes de ver cómo usar Firewalld en CentOS 7 existen diversos términos a los cuales es importante les prestemos atención ya que estarán de forma continua en CentOS 7.

 

Qué es una zona
Una zona de red es aquella cuya función es definir el nivel de confianza que tendrá la conexión de red.

 

Estas zonas son administradas por Firewalld en diversos grupos de reglas y una zona puede ser usada por muchas conexiones de red.

 

Existen diversos tipos de zona en Firewalld, las cuales son:

 

Drop
Es el nivel de confianza más bajo, ya que todos los paquetes de entrada son rechazados de forma automática y solo habilita los paquetes salientes.

 

Block
Este nivel de confianza es similar a Drop con la diferencia que los paquetes entrantes son rechazados con mensajes icmp-host-prohibited para IPv4 y icmp6-adm-prohibited para IPv6.

 

Public
Este nivel de confianza hace referencia a las redes públicas no confiables, solo acepta conexiones confiables.

 

External
Este tipo de nivel es usando cuando usamos el Firewall como puerta de enlace y su enmascarado está habilitado por los routers.

 

DMZ
Este nivel es usado en equipos situados en una zona DMZ (Desmilitarizada), es decir, tiene acceso público con restricción a la red interna. Solo acepta conexiones aceptadas.

 

Work
Este nivel es usado en áreas de trabajo por lo cual la mayor parte de los equipos de la red tendrán acceso a ella.

 

Home
Este tipo de nivel es usado en un entorno de hogar y son aceptadas la mayoría de equipos.

 

Internal
Este tipo de nivel es usado en redes internas por lo que todos los equipos de la red serán aceptados.

 

Trusted
Este es el nivel más alto y confía en todas las conexiones entrantes.

 

Cualesquiera de estas zonas pueden ser configuradas en las reglas que creemos usando Firewalld en CentOS 7.

 

 


2. Cómo crear una regla permanente CentOS 7


Cuando configuramos Firewalld en CentOS 7 podemos crear dos tipos de reglas, permanentes o inmediatas, de este modo cuando editamos una regla el cambio se vera de manera automática peo al siguiente inicio de sesión esta regla será revertida.

 

Para evitar esto debemos usar el parámetro –permanent para que la regla sea continua y no se elimine en cada inicio de sesión.

-permanent

3. Cómo iniciar servicio de Firewall en CentOS 7

 

Paso 1

Es importante que antes de crear las reglas necesarias con Firewalld activemos el servicio de Firewalld, para ello ingresamos lo siguiente.
sudo systemctl start Firewalld.service
Paso 2

En caso que sea desplegado un mensaje de error indicando que Firewalld no está instalado podemos ejecutar el siguiente comando para su instalación:
Sudo yum install Firewalld -y
Paso 3

Para ver el estado del servicio de Firewall usaremos el siguiente comando. Podemos ver que su estado es running (Corriendo). De este modo hemos habilitado el servicio y estamos en condiciones de crear y editar las reglas del Firewall en CentOS 7.
Firewall-cmd –state

2-firewall-cmd-–state.png

 

 


4. Cómo ver la zona actual de CentOS 7

 

Paso 1

Podemos visualizar la zona actual en la cual se encuentra nuestro equipo usando el siguiente comando.
Firewall-cmd --get-default-zone
Paso 2

El resultado será el siguiente:

 

 

 

 

 

 

3-firewall-cmd---get-default-zone.png

 

Paso 3

Para conocer que reglas están asociadas a dicha zona podemos usar el siguiente comando:
Firewall-cmd --list-all

4-firewall-cmd---list-all.png

 

 


5. Cómo explorar las distintas zonas en CentOS 7

 

Paso 1

Podemos verificar que zonas están disponibles para usar ingresando el siguiente comando:
Firewall-cmd --get-zones

5-comando-firewall-cmd---get-zones-centos7.png

 

Paso 2

Es posible ver la configuración asociada a una zona usando el parámetro –zone; por ejemplo:
Firewall-cmd --zone=home --list-all

6-firewall-cmd---zone=home---list-all-centos-7.png

 

 


6. Cómo seleccionar zonas para las interfaces de red en CentOS 7

 

Paso 1

Es posible que en una sesión activa deseemos asignar una zona específica a una interfaz de red del equipo, para ello asignaremos la zona home a la interfaz eth0 de CentOS 7:
sudo Firewall-cmd --zone=home --change-interface=eth0

7-seleccionar-zonas-sudo-firewall-cmd---zone=home---change-interface=eth0.png

 

Paso 2

Podemos ver que su estado es correcto, podemos validar esto usando el siguiente comando:
Firewall-cmd --get-active-zones

8-firewall-cmd---get-active-zones-interfaces-centos7.png

 

Paso 3

El problema radica en que la interfaz volverá a su zona por defecto si no hemos configurado una zona definida dentro de dicha interfaz, estas configuraciones de la interfaz están alojadas dentro de la siguiente ruta:
/etc/sysconfig/network-scripts
Paso 4

Los archivos dentro de este directorio están en el formato ifcfg-interface. Por ejemplo, podemos definir la zona para la interfaz eth0 usando el siguiente comando:
sudo nano /etc/sysconfig/network-scripts/ifcfg-eth0

7. Cómo ajustar reglas para las aplicaciones en CentOS 7

 

Paso 1

Podemos agregar excepciones al Firewall para que determinadas aplicaciones puedan ser ejecutadas de forma directa sin ningún problema, para ver los servicios disponibles en CentOS 7 usaremos el siguiente comando:
Firewall-cmd --get-services

9-firewall-cmd---get-services-centos7.png

 

Paso 2

Para habilitar un servicio en una zona específica será necesario que usemos el parámetro siguiente:
--add-service= parameter
Paso 3

Si deseamos agregar el servicio http en la zona publica usaremos la siguiente sintaxis:
sudo Firewall-cmd --zone=public --add-service=http

10-sudo-firewall-cmd---zone=public---add-service=http.png

 

Paso 4

Es posible ver todos los servicios en dicha zona, incluido el recién adicionado, usando el siguiente comando.
Firewall-cmd --zone=public --list-services

11-firewall-cmd---zone=public---list-services.png

 

Paso 5

Ahora, si deseamos que dicho servicio sea permanente debemos agregar, como hemos mencionado, el parámetro –permanent.
sudo Firewall-cmd --zone=public --permanent --add-service=http

12-reglas-aplicaciones-centos7.png

 

De esta forma el servicio estará activo en cada inicio de sesión de CentOS 7.

 


8. Cómo abrir un puerto para una zona concreta en CentOS 7

 

Paso 1

Abrir un puerto en el Firewall nos brinda la posibilidad de obtener un mejor soporte para nuestras aplicaciones y programas, por ejemplo, si contamos con una aplicación que use el puerto 3500 UDP debemos agregarlo a la zona usando el parámetro –add-port así:
sudo Firewall-cmd --zone=public --add-port=3500/udp

13-abrir-puerto-en-una-zona-centos7.png

 

Paso 2

Para ver los puertos abiertos en el Firewall podemos usar el siguiente comando.
Firewall-cmd --list-ports

9. Cómo crear una zona propia en el Firewalld de CentOS 7


Aunque las zonas que están por defecto en el Firewall de CentOS 7 cubren las necesidades de una organización, es posible que deseemos crear nuestras reglas para servicios específicos.

 

Paso 1

Vamos a crear una nueva zona llamada Solvetic, por lo cual ingresaremos lo siguiente:
sudo Firewall-cmd --permanent --new-zone=Solvetic

14-crear-zona-propia-firewall-centos7.png

 

Paso 2

Podemos usar el siguiente comando para ver las zonas activas en CentOS 7:
sudo Firewall-cmd --permanent --get-zones

15-sudo-firewall-cmd---permanent---get-zones.png

 

Paso 3

Ahora para que la nueva zona se vea reflejada debemos reiniciar el servicio de Firewalld usando el siguiente comando:
sudo Firewall-cmd –reload
Paso 4

Ahora, si deseamos agregar un servicio a nuestra nueva zona, por ejemplo, SSH, usaremos el siguiente comando:
udo Firewall-cmd --zone=Solvetic --add-service=ssh

10. Cómo habilitar el Firewall para el arranque automático al iniciar sesión en CentOS7


Si deseamos que el servicio de Firewall este habilitado desde el arranque de CentOS 7 y no sea necesario habilitarlo en cada momento podemos usar el siguiente comando:
sudo systemctl enable Firewalld
De este modo Firewall estará activo en todo momento en CentOS 7 protegiendo todos los parámetros del sistema.

 


11. Cómo detener y deshabilitar Firewalld en CentOS 7

 

Paso 1

Para deshabilitar Firewalld en CentOS 7 debemos usar el siguiente comando:
systemctl disable Firewalld

16-systemctl-disable-firewalld.png

 

Paso 2

Para detener completamente Firewalld usaremos el siguiente comando:
systemctl stop Firewalld

17-detener-y-deshabilitar-firewalld-centos7.png

 


12. Cómo bloquear Firewalld en Linux CentOSy Ubuntu


Como estamos viendo con el firewall estamos también en riesgo de que software local como programas o servicios puedan realizar cambios en la configuración de nuestro Firewall si se inician como root. Pero como buenos administradores podemos controlar qué programas pueden realizar cambios y de cuáles se trata mediante la lista blanca.

 

Paso 1

Esto está desactivado por defecto, pero podemos controlarlo con los siguientes comandos:
sudo firewall-cmd --lockdown-on (Habilitar)
sudo firewall-cmd --lockdown-off (deshabilitar)
Paso 2

Otro método para gestionar esta opción de una forma más segura es hacerlo desde el archivo base de configuración pues firewall-cmd no siempre existe. Por ello ejecutamos lo siguiente:
sudo nano /etc/firewalld/firewalld.conf
Paso 3

Aquí debemos buscar la línea Lockdown=no y pasamos su estado a Lockdown=yes.

 

 

 

Paso 4

Ahora solo debes guardar los cambios y salir con estas teclas:
Guardamos los cambios usando la combinación de teclas siguiente:

 

Ctrl + O

 

Salimos del editor usando:

 

Ctrl + X

 

 


13. Cómo desactivar el Firewall en Linux CentOS Ubuntu


Los sistemas Linux y sus diferentes distribuciones incorporan un tipo de Firewall denominado UFW que busca salvaguardar la integrad de la seguridad de red controlando así las conexiones y estableciendo si son seguras o no. Como estamos viendo, dentro de CentOS este Firewall se denomina firewalld y su misión es niveles de confianza y zonas de red en función de si son nocivas o no para el sistema. Este Firewalld se encuentra integrado tanto en CentOS como en RedHat.

 

Por defecto este firewalld viene desactivado y en Solvetic te recomendamos que lo tengas habilitado para controlar qué conexiones son seguras y cuáles no. Sin embargo, hay ocasiones donde necesitamos realizar tareas o pruebas donde el Firewall lo impide y por eso necesitamos desactivarlo temporalmente. Para activar o desactivar el Firewall puedes hacer lo siguiente:

 

Tutorial con videosolución para poder deshabilitar el Firewall en CentOS o Ubuntu de Linux.

 

Para estar al día, recuerda suscribirte a nuestro canal de YouTube!
SUSCRIBETE EN YOUTUBE

 

 


14. Cómo instalar y configurar Firewall CSF en CentOS 7 Linux


Dentro de la gestion de Firewall dentro de CentOS podemos hablar del CSF Firewall. Éste es un elemento básico de seguridad dentro de la gestión de servidores web. Su principal misión es parar al tráfico oscuro de contenido malicioso que puedan entrar en el servidor. Este Firewall actúa como muro frente a intrusos o ataques brutos que intenten dañar a nuestros sistemas.

 

El Firewall CSF nos avisa en tiempo real y vía correo de todo lo que ocurre en nuestros servidores. Gracias a estos avisos podremos actuar rápidamente y paliar aquellos problemas que se presenten. Este firewall CSF realiza un análisis exhaustivo de paquetes SPI a la vez que ejecuta tareas de seguridad como las que hemos mencionado.

 

Para poder instalar y configurar el Firewall CSF en CentOS 7 haremos lo siguiente.

 

Pasos para poder instalar y configurar la herramienta CSF en sistemas CentOS 7 de Linux.

 

De esta manera podremos gestionar todos los valores de Firewalld en CentOS 7 para establecer zonas según sea la necesidad corporativa. La seguridad es muy importante y más si hablamos de un entorno laboral donde la información es mucho más delicada.

 

Tutorial para saber características y cómo instalar y configurar Firewalld en CentOS y Ubuntu Linux.


¿Te ayudó este Tutorial?


2 Comentarios


Alejandro Teba
ene 25 2017 12:44

Guardado a favoritos porque este lo voy a necesitar seguro. Estoy montando un mysql server en un centos 7. FirewallID era mi siguiente tarea, así que bien.

Muy bueno este tutorial de configurar reglas Firewall CentOS.

No esperes más y entra en Solvetic
Deja tus comentarios y aprovecha las ventajas de la cuenta de usuario ¡Únete!

X