Superposición del sitio

Parte 1: Configuración del Firewall en CentOS 7 utilizando FirewallD

Firewalld es una solución completa de cortafuegos dinámico y administrable, con el cual podemos definir a través de zonas el nivel de confianza de las redes o interfaces que utilice para conectarse. Cuenta con soporte para IPv4 y IPv6. Una de las opciones mas apreciables de firewalld es que puede aplicarse configuraciones en ejecución, que no sobreviven ante un reinicio del sistema a demás de configuraciones permanentes.

Configuración en ejecución

En modo de ejecución el cambio de zonas no es permanente. Los cambios se iran luego reiniciar el servicio o el sistema.

[code language=»bash»]
firewall-cmd [–zone=<zone>] –add-service=<service>
[/code]

Configuración permanente

El modo permanente no afectan la ejecución directamente. Estas opciones solo se habilitan después de reiniciar el servicio o el sistema.
para ejecutar una instrucción de manera permanente debe utilizar
«–permanent» delante de cualquier opción.

[code language=»bash»]
firewall-cmd –permanent [–zone=<zone>] –add-service=<service>
[/code]

Opciones de Firewalld

Iniciar el servicio de firewall.

[code language=»bash»]
systemctl start firewalld
[/code]

reiniciar el servicio de firewall.

[code language=»bash»]
systemctl restart firewalld
[/code]

Detener el servicio de firewall.

[code language=»bash»]
systemctl stop firewalld
[/code]

Verificar el estado del firewall.

[code language=»bash»]
firewall-cmd –state
output
running|not running
[/code]

Verificar la zona y la interfaz activa utilizada actualmente por el firewalld.

[code language=»bash»]
firewall-cmd –get-active-zones
output
public
interfaces: enp2s0
[/code]

Zonas disponibles

Estas zonas son establecidas por defecto para el firewalld de acuerdo al nivel de confianza predefinido de las zonas:

drop Cualquier paquete de entrada es abandonada, no hay respuesta. Solo conexiones de salida son posibles.

block Cualquier conexión de entrada es rechazada con un mensaje icmp-host-prohibited para IPv4 y icmp6-adm-prohibited para IPv6. Solo conexiones iniciadas dentro de este sistema son posibles.

public Para uso de áreas publicas. Usted no confía de las otras computadoras en la red que quieran hacer daño a su computador. Solo conexiones seleccionadas son aceptadas.

external Para el uso de redes externas con el enmascarado habilitado por los routers. Usted no confía en las computadoras en la red pueden hacer daño a su computador. Solo conexiones de entrada seleccionadas son aceptadas.

dmz Para computadores en una zona des militarizada que son de acceso publico con acceso limitado a su red interna. Solo conexiones seleccionadas son aceptadas.

work Para el uso en áreas de trabajo. Usted confía mayormente en que las computadores de la red no hagan daño a su computador. Solo coneciones de entrada seleccionadas son aceptadas.

home Para uso en el área del hogar. Usted confía en que las computadores de la red no representan peligro para su computador. Solo conexiones de entrada seleccionadas son aceptadas.

internal Para el uso de redes internas. Usted confía que las computadores de la red no representa peligro para su computador. Solo conexiones de entrada seleccionadas son aceptadas.

trusted Todas las conexiones son aceptas.

ver la zonas disponibles

[code language=»bash»]
firewall-cmd –get-zones
output
block dmz drop external home internal public trusted work
[/code]

Verificar si el servicio http esta habilitado en la zona public

[code language=»bash»]
firewall-cmd [–zone=<zone>] –query-service=<service>
[/code]

Ejemplo de uso

[code language=»bash»]
firewall-cmd –zone=public –query-service=http
output
no|si
[/code]

Habilita un servicio en una zona, es útil cuando sabes el nombre del servicio y quieres habilitar el puerto por defecto asignado a el mismo.

[code language=»bash»]
firewall-cmd [–zone=<zone>] –add-service=<service>
[/code]

Ejemplo de uso.

Habilita el servicio http en una zona, puedes o no utilizar la opción «–permanent»

[code language=»bash»]
firewall-cmd –permanent –zone=public –add-service=http
output
success
[/code]

Recargar el firewall para aplicar los cambios.

[code language=»bash»]
firewall-cmd –-reload
output
success
[/code]

Verificar los servicios habilitados en el firewall en la zona public.

[code language=»bash»]
firewall-cmd –zone=public –list-services
output
ssh dhcpv6-client http
[/code]

Deshabilita un servicio en la zona, es útil cuando sabes el nombre del servicio y quieres habilitar el puerto por defecto.

[code language=»bash»]
firewall-cmd [–zone=<zone>] –remove-service=<service>
[/code]

Ejemplo de uso.

[code language=»bash»]
firewall-cmd –zone=public –remove-service=http
[/code]

El modo de pánico para bloquear todo el trafico de red en caso de un ataque informático.

[code language=»bash»]
firewall-cmd –panic-on
[/code]

Deshabilita el modo de pánico

[code language=»bash»]
firewall-cmd –panic-off
[/code]

Definir una regla para el firewall según el nombre del servicio nos impide definir un puerto diferente al utilizado por defecto, para suplir esta limitante puedes utilizar la combinación de puerto protocolo donde el
protocolo puede ser tcp o udp y un numero de puerto que puede ir desde el 0 al 65535 esto teniendo en cuenta las restricciones definidas por la entidad regulatoria IANA.

Habilita una combinación de puerto y protocolo para una zona

[code language=»bash»]
firewall-cmd [–zone=<zone>] –add-port=<port>/<protocol>
[/code]

ejemplo de uso

[code language=»bash»]
firewall-cmd –zone=external –add-port=22/tcp
[/code]

Deshabilita una combinación de puerto y protocolo en una zona

[code language=»bash»]
firewall-cmd [–zone=<zone>] –remove-port=<port>/<protocol>
[/code]

Buscar combinación de puerto y protocolo en una zona

[code language=»bash»]
firewall-cmd [–zone=<zone>] –query-port=<port>/<protocol>
[/code]

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *