Rematando con pfBlockerNG en Pfsense

Terminamos el bloque Pfsense con pfBlockerNG

 
Este post es la tercera entrega sobre pfsense:
 
    1. Implementando Pfsense con Suricata
    2. Configurando Suricata en Pfsense
    3. Rematando con pfBlockerNG en Pfsense

 

pfBlockerNG es un paquete que nos permitirá bloquear direcciones IP basado en listas públicas, países, dominios o listas propias, el cual podemos encontrar en pfsense y que junto a Suricata conseguiremos un firewall opensource muy completo respecto a seguridad.

Lo primero es instalar el paquete igual que hemos hecho en otras ocasiones, nos dirigimos al apartado System/Package Manager/Available Packages y buscamos pfblocker y seleccionamos instalar.

Una vez instalado lo primero es configurar correctamente el servicio DNS en Services/DNS Resolver donde lo importante es establecer que redes son Wan y cuales Lan quedando en nuestro laboratorio de la siguiente manera, puesto que por defecto el servicio dns de pfsense está configurado para escuchar en todas las interfaces. Quizá esto deberíamos meterlo en el primer post pero supuestamente o eso imagino, a nadie se lo ocurre poner un firewall en producción sin tenerlo totalmente listo.

Le damos a salvar aplicando cambios y empezamos a configurar en el apartado Firewall/pfBlockerNG 

Para proteger la parte Lan y evitar que se hagan conexiones hacia las listas de ips maliciosas lo primero sería configurar DNSBL la cual tiene muchísimas opciones por lo que no veremos todas, solamente una configuración básica, donde por defecto nos sirve a excepción de los cinco puntos principales :

  • Enable DNSBL - Jeje si no la activamos de nada sirve las demás
  • DNSBL Virtual IP - En esta opción debemos poner una ip privada que no sea parte de ninguna de nuestras redes privadas donde será redirigido todo lo rechazado para poder monitorizar y hacer estudios del comportamiento en tu Lan.
  • DNSBL Listening Interface - Seleccionamos la interfaz Lan donde queremos activar el servicio.
  • DNSBL Firewall Rule - Si tenemos otras interfaces Lan seleccionaríamos esta casilla para que nos abriera automáticamente la comunicación entre las otras Lan y el servicio que estamos configurando, en nuestro caso solo tenemos una Lan a proteger por lo tanto no hace falta activarla.
  • List Action - Que acción realizará el firewall cuando haya una conexión con alguna ip de nuestras listas.

 

Nuestra configuración quedaría así.

Una vez tenemos esto las siguientes 2 opciones nos permitirá proteger nuestra Lan en función de listas.

DNSBL Feeds nos permite agregar listas de terceros, cuantas más listas más recursos necesitamos en nuestro firewall tenerlo en cuenta. Vamos agregar las siguientes por ser listas gratis muy buenas.

Nos dirijimos a DNSBL Feeds y damos añadir, vamos a clasificarlas como queramos. Por ejemplo la primera clasificación.

Malware_Dominios la cual podemos actualizar una vez cada semana por ser un poco la menos peligrosa y las que menos se actualizan a nivel de origen,gastando menos recursos, con las siguientes listas

http://www.malwaredomainlist.com/hostslist/hosts.txt

https://adaway.org/hosts.txt

Por supuesto podéis meter las que más os gusten, crear o descargar.

No hay que olvidar marcar List Action en Unbound.

Ahora crearemos otra que actualizaremos cada 6 horas por ejemplo siendo categoría peligrosa con las siguientes listas.

https://www.dshield.org/feeds/suspiciousdomains_High.txt

https://someonewhocares.org/hosts/hosts

Por desgracia en Diciembre de 2019 discontinuaron las listas de ransomwaretracker las cuales eran indispensables, a día de hoy podríamos pasaros una copia, pero las listas sin vida no tienen sentido.

 En cuanto a DNSBL EasyList son unas listas incorporadas en el propio paquete que aprovecharemos configurando de la siguiente manera.

Una vez realizada esa parte vamos a proteger también la parte Wan, para ello nos dirigimos Firewall/pfBlockerNG/IPv4 y le damos a añadir nuestra primera lista

Aquí las vamos a clasificar en niveles, el primero Level-1 con las siguientes listas actualizando cada 2 horas y en ambos sentidos. En esta lista tenemos que tener en cuenta que se incluyen las redes privadas por lo tanto si vuestro laboratorio es igual que el que estamos tratando donde la Wan del firewall está en nuestra Lan, hasta terminar podéis dejarlas en OFF para no ser bloqueados.

https://rules.emergingthreats.net/blockrules/compromised-ips.txt

https://rules.emergingthreats.net/fwrules/emerging-Block-IPs.txt

https://raw.githubusercontent.com/firehol/blocklist-ipsets/master/firehol_level1.netset

Level-2 con las siguientes listas en ambos sentidos cada 4 horas

https://raw.githubusercontent.com/firehol/blocklist-ipsets/master/firehol_level2.netset

https://cinsscore.com/list/ci-badguys.txt

 

Pasamos a Level-3 cada 8 horas y en ambos sentidos

https://raw.githubusercontent.com/firehol/blocklist-ipsets/master/firehol_level3.netset

https://lists.blocklist.de/lists/all.txt

http://sanyalnet-cloud-vps2.freeddns.org/blocklist.txt o http://sanyalnet-cloud-vps.freeddns.org/blocklist.txt 

La parte de IPv6 es exactamente igual os dejo a vosotros que busquéis listas y respecto a GeoIP echarle un vistazo si queréis bloquear países pero antes si no lo habéis hecho tenéis que registraros en MaxMind, la versión gratis es GeoLite2 en este enlace

GeoLite2 Free Downloadable Databases

Ahora solo nos falta tres cosillas activar el servicio en Firewall/pfBlockerNG y revisar los parámetros a nuestro gusto por ejemplo si habéis cambiado el idioma y utilizáis MaxMind seleccionáis el mismo idioma

Ahora forzamos un update en Firewall/pfBlockerNG/Update y comprobamos que todas nuestras listas devuelven un 200 OK y que el proceso finaliza correctamente, si alguna lista fallara revisar la url de dicha lista o si ha sido discontinuada, este proceso se debería revisar por lo menos una vez al mes para saber que no tenemos listas discontinuadas como la de ransomwaretracker.

Y por último nos iremos a Services/Service Watchdog y añadimos pfBlockerNG, este paso hacerlo siempre que añadáis cualquier servicio e incluso revisar los que tenéis por si os interesa monitorizar alguno.

Para comprobar que está funcionando en este laboratorio basta con activar las reglas Level-1 intentar entrar al firewall por la Wan donde seréis bloqueados, lanzais el comando pfctl -d desde la consola y en Firewall/pfBlockerNG/Alerts en Deny veréis lo siguiente

Como podemos comprobar está trabajando perfectamente bloqueando nuestra ip en función de la lista firehol de Level1

También observareis en Firewall/Rules las reglas que ha añadido pfBlockerNG en función de nuestras categorías

Bueno pues hasta aquí hemos llegado en estos post sobre pfsense+suricata y pfBlockerNG, se podría estar escribiendo meses sobre pfsense, si necesitas una guía sobre cualquier aspecto o problema en pfsense, no lo dudes escríbenos.

A vivir la vida felices

TL.

Gracias por leer nuestros posts.

2 Comentarios
  • tomas vergara
    Escrito a las 23:15h, 06 abril Responder

    como podrias blouqear unos pcs y otros no....me explico debo permitir el paso de cirtas paginas a algunos pcs y blouqearselas a otgros dentro del mismo segmento de red .....podrias decime como hacerlo

    gracias

Comenta la entrada