Ver destacados

Cómo configurar firewall en FreeBSD con PF Linux

Te explicamos cómo habilitar, configurar y utilizar firewall en FreeBSD con PF Linux
Escrito por
9.6K Visitas  |  Publicado dic 20 2017 11:15
Favorito
Compartir
Comparte esta pagina a tus Amigos y Contactos usando las siguientes Redes Sociales


La seguridad en cualquier sistema operativo siempre debe ser una de las premisas principales por las cuales luchar cada día ya que de allí dependen múltiples elementos como archivos de los usuarios, configuraciones, servicios y demás. Una configuración incorrecta de los parámetros de seguridad está asociada a una vulnerabilidad que deja puertas abiertas para que los atacantes puedan tener libre acceso para llevar a cabo sus acciones.

 

Uno de los principales mecanismos de seguridad esta ligado al firewall del sistema ya que gracias a él es posible filtrar paquetes entrantes y salientes de la red y crear diversas reglas con el fin de mejorar la seguridad tanto del sistema como de los aplicativos y objetos almacenados en l.

 

Es por ello que hoy Solvetic explicará en detalle cómo configurar el firewall en FreeBSD usando pf.

 

Qué es pf
PF (Packet Filter – Filtro de Paquetes) ha sido desarrollado como un software de firewall para sistemas FreeBSD con el cual podremos crear cientos de reglas que nos permiten administrar de una forma mucho mas centralizada el acceso y comportamiento de todos los elementos del sistema.

 

Ahora veremos como habilitar y configurar pf en FreeBSD.

 


1. Cómo activar el firewall Linux


Aunque pf esta integrado en FreeBSD, debemos agregar las siguientes líneas en el archivo /etc/rc.conf con algún editor deseado:
nano /etc/rc.conf
Las líneas a añadir son:
echo 'pf_enable="YES"' >> /etc/rc.confecho 'pf_rules="/usr/local/etc/pf.conf"' >> /etc/rc.confecho 'pflog_enable="YES"' >> /etc/rc.confecho 'pflog_logfile="/var/log/pflog"' >> /etc/rc.conf

 

Una vez añadamos estas líneas guardamos los cambios usando las teclas Ctrl + O y salimos del editor usando Ctrl + X.

 

Las líneas que hemos añadido son:

 

Habilita el servicio PF
pf_enable = "YES”

Toma las reglas de PF desde este archivo especifico
pf_rules = "/ usr / local / etc / pf.conf"

Habilita el soporte de registro para PF
pflog_enable = "YES"

 

Hace referencia al archivo donde pflogd debe almacenar el archivo de registro
pflog_logfile = "/ var / log / pflog"
Allí serán almacenados los registros en el archivo /var/log/pflog.

 

 


2. Cómo crear reglas en el archivo /usr/local/etc/pf.conf Linux


Una vez añadidas las líneas anteriores, accederemos al archivo /usr/local/etc/pf.conf para crear las reglas que debe leer pf y las cuales serán tenidas en cuenta a la hora de la protección.
Accedemos usando algún editor:
nano /usr/local/etc/pf.conf
Como se trata de un archivo nuevo, las posibilidades de reglas son miles, para este caso podemos ir al siguiente enlace y copiar la regla, la cual aplica a un servidor web, y pegarla en nuestro archivo de configuración:

 

 Reglas PF

 

 

Allí debemos tener en cuenta modificar el adaptador de red en el campo ext_if por el correcto en cada caso.

 

En este archivo hemos añadido las siguientes reglas:

# vim: set ft=pf# /etc/pf.confext_if="em0"webports = "{http, https}"int_tcp_services = "{domain, ntp, smtp, www, https, ftp}"int_udp_services = "{domain, ntp}"set skip on loset loginterface $ext_if# Normalizationscrub in all random-id fragment reassembleblock return in log allblock out allantispoof quick for $ext_if# Block 'rapid-fire brute force attemptstable <bruteforce> persistblock quick from <bruteforce># ftp-proxy needs to have an anchoranchor "ftp-proxy/*"# SSH is listening on port 26pass in quick proto tcp to $ext_if port 26 keep state (max-src-conn 15, max-src-conn-rate 5/3, overload <bruteforce> flush global)# Webserverpass proto tcp from any to $ext_if port $webports# Allow essential outgoing trafficpass out quick on $ext_if proto tcp to any port $int_tcp_servicespass out quick on $ext_if proto udp to any port $int_udp_services
Algo vital a tener en cuenta, es que pf tiene un orden definido para establecer las reglas y este es:

 

Macros
Las macros deben definirse antes de que sean referenciadas en pf.conf

Tables
Las tablas proporcionan un mecanismo para aumentar el rendimiento y la flexibilidad de las reglas

Opciones (Options)
Las opciones ajustan el comportamiento del motor de filtrado de paquetes.

Traffic Normalization (Normalización del tráfico)
Esta regla protege las máquinas internas contra inconsistencias en los protocolos e implementaciones de Internet.

Queueing
Proporciona control de ancho de banda basado en reglas definidas

Translation
Esta opción especifica cómo se deben mapear o redireccionar las direcciones.

Packet Filtering (Filtrado de paquetes)
Ofrece un bloqueo basado en reglas

 

Una vez creadas las reglas guardamos los cambios usando Ctrl + O y salimos del editor usando Ctrl + X.

 


3. Cómo habilitar del servicio pf Linux


A continuación ejecutaremos una serie de comandos para comprobar e iniciar el servicio de pf en FreeBSD.

 

Paso 1

Para verificar el estado de habilitación de pf ejecutamos la línea:
pfctl -e

 

Paso 2

Para iniciar el servicio pf ejecutamos la siguiente línea:
service pf start

 

Paso 3

Comprobamos el servicio ejecutando:
service pf check

 

 

Paso 4

En este punto también podremos ejecutar alguna de las siguientes opciones:
/etc/rc.d/pf checkpfctl -n -f /usr/local/etc/pf.conf
Si deseamos detener el servicio pf ejecutamos:
service pf stop
Para reiniciar el servicio pf:
service pf restart

 

 

Paso 5

Si deseamos ver el estado actual del servicio pf:
service pf status

 

Paso 6

El firewall pf hace uso del servicio pflog para almacenar y registrar todos los eventos de seguridad que acontecen en el sistema, las opciones de uso son:
service pflog start (Inicia el servicio)service pflog stop (Detiene el servicio)service pflog restart (Reinicia el servicio)

 


4. Cómo usar pf en FreeBSD Linux


Será necesario usar el comando pfctl para poder visualizar el conjunto de reglas de pf y la configuración de los parámetros, incluyendo la información de estado del filtro de paquetes.
Para ver esta información ejecutamos lo siguiente:
pfctl -s rules

 

Adicional a esto, tendremos más opciones como:

 

Añadir el número de regla
pfctl -vvsr show

 

Mostrar el estado
pfctl -s statepfctl -s state | more

 

Deshabilitar pf
pfctl -d

 

Habilitar pf
pfctl -e

 

Borrar todas las reglas
pfctl -F all

 

Borrar solo las consultas
pfctl -F queue

 

Borrar todos los estados
pfctl -F info

 

 

Visualizar los eventos de pf
tcpdump -n -e -ttt -r /var/log/pflog

 

 

Podemos ver como pf es una práctica herramienta a la hora de trabajar con el firewall en FreeBSD.

 

Te explicamos los pasos que debes seguir para saber cómo configurar firewall Iptables y aumentar la seguridad en Linux con todo detalle.

¿Te ayudó este Tutorial?

Ayuda a mejorar este Tutorial!
¿Quieres ayudarnos a mejorar este tutorial más? Puedes enviar tu Revisión con los cambios que considere útiles. Ya hay 0 usuario que han contribuido en este tutorial al enviar sus Revisiones. ¡Puedes ser el próximo!