Rematando con pfBlockerNG en Pfsense
Terminamos el bloque Pfsense con pfBlockerNG
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
https://www.maxmind.com/en/geolite2/signup
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.
tomas vergara
Escrito a las 23:15h, 06 abrilcomo 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
TL
Escrito a las 09:29h, 07 abrilBuenas, eso lo puedes ver en https://tech.lobobrothers.com/squidsquidguardlightsquid-y-clam-av-en-pfsense/ y más concretamente en la parte II, utilizando las ACL por grupo, pero es aconsejable que te leas la parte I primero.