Configuracion de pf en NetBSD 5.1

PF (packet filter) es un filtro de paquetes proveniente de OpenBSD; Incorporado en el sistema base desde NetBSD 4.0 y puede ser usado para implementar firewalls.

NetBSD 5.1 incorpora la version 4.2 de pf, por lo que  es importante leer la  FAQ correspondiente;

En esta ocasion, tengo un servidor corriendo ssh/web/dns y varios intentos de login via ssh, asi que decidi implementar una solucion para mitigar los intentos, para ello use PF y NetBSD 5.1; a continuacion detallo el proceso simple;

Editamos /etc/lkm.conf y anexamos:

/usr/lkm/pf.o   -   -   -   -  BEFORENET

En /etc/rc.conf

lkm=YES
pf=YES
pflogd=YES

y manualmente iniciamos el modulo lkm para pf

$ sudo modload /usr/lkm/pf.o

Una vez realizado el proceso, editamos a conveniencia el archivo /etc/pf.conf y agregamos lo necesario, en mi caso:

int_if = "fxp0"
localnet = $int_if:network

tcp_services = "{ ssh, smtp, domain, www, pop3, auth, https }"
udp_services = "{ domain }"

table  <bruteforce> persist

block quick from <bruteforce>

pass inet proto tcp to $localnet port $tcp_services \
        keep state (max-src-conn 100, max-src-conn-rate 15/5, \
        overload <bruteforce> flush global)

persist: Mantiene la tabla en memoria, aunque no haya reglas que refieran a ella.
max-src-conn : Indica el numero de conexiones simultaneas provenientes de un host, puedes incrementar o disminuir este valor segun sea el caso.
max-src-conn-rate: Indica la tasa de transferencia permitida por conexion, aqui es 15 conexiones cada 5 segundos, expresada: 15/5
Overload: Toda conexion que exceda la condicion anterior, sera agregada a la tabla bruteforce, y sera bloqueado todo el contenido de la tabla.

Para ver la lista de IP baneadas, usa la siguiente linea:

 $ sudo /sbin/pfctl -t bruteforce -T show 

Con estas adiciones podemos bloquear intentos fallidos via ssh hacia nuestro servidor.

5 thoughts on “Configuracion de pf en NetBSD 5.1

  1. admin Post author

    Thank you very much.
    I hope have the time to write more technical docs about the BSD operating systems and contribute helping to others.
    Best regards, you are welcome.

    Reply
  2. Edgar

    Tengo ahora pf como mi firewall en NetBSD,hasta hace unos días usé ipfilter, pero de ahora en adelante usaré pf, me he percatado que FreeBSD y NetBSD usan el mismo ejemplo pf.conf, NetBSD lo trae en /etc/pf.conf, en FreeBSD está en los ejemplos, ambos SO tienen la version del año 2007 y me he percatado también que el pf en su última versión tiene reglas bastante diferentes, por ejemplo para hacer nat es bastante diferente, mi pregunta es por qué NetBSD y FreeBSD usan pf del año 2007 (2.4), la última versión de pf trae mejores características que la 2.4?, saludos…

    Reply
    1. admin Post author

      Hola Edgar.

      Por alguna razon de portabilidad y algunas curiosidades en el kernel, ambos NetBSD y FreeBSD, no pueden tener la ultima version de pf en base.

      Saludos.

      Reply
    2. admin Post author

      Hola Edgar.
      Pf depende en mucho del kernel de OpenBSD, esta disenado por OpenBSD y para OpenBSD, nunca se ha hecho un esfuerzo de portabilidad a otros O.S, sino es por iniciativa de independientes, de ahi que cueste un poco adaptarlo a los otros dos, por ejemplo.

      De todos modos, pf es bueno y hay una FAQ para cada version de pf, lo cual es bueno para aplicarlo tanto a Net como a FreeBSD.

      Saludos,

      Reply

Leave a Reply

Your email address will not be published. Required fields are marked *


2 × = fourteen

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>