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.
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.confLas 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:
pf_enable = "YES”
pf_rules = "/ usr / local / etc / pf.conf"
pflog_enable = "YES"
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.confComo 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:
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_servicesAlgo vital a tener en cuenta, es que pf tiene un orden definido para establecer las reglas y este es:
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.
Para verificar el estado de habilitación de pf ejecutamos la línea:
pfctl -e
Para iniciar el servicio pf ejecutamos la siguiente línea:
service pf start
Comprobamos el servicio ejecutando:
service pf check
En este punto también podremos ejecutar alguna de las siguientes opciones:
/etc/rc.d/pf checkpfctl -n -f /usr/local/etc/pf.confSi deseamos detener el servicio pf ejecutamos:
service pf stopPara reiniciar el servicio pf:
service pf restart
Si deseamos ver el estado actual del servicio pf:
service pf status
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:
pfctl -vvsr show
pfctl -s statepfctl -s state | more
pfctl -d
pfctl -e
pfctl -F all
pfctl -F queue
pfctl -F info
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.
Gracias por este tutorial de como instalar y configurar Firewall pf. De 10 esto.