Bienvenidos nuevamente a mi sección de Mikrotik
En esta oportunidad voy a comentarles un poco cómo funciona el firewall de Mikrotik.
El firewall de RouterOs implementa un filtrado de paquetes que proporciona funciones de seguridad que se utilizan para administrar el flujo de datos hacia, desde y a través del router.
Correctamente configurado desempeña un papel clave en la implementación de una infraestructura de red eficiente y segura. El firewall de RouterOs tiene características muy potente, les voy a explicar algunas de las más comunes para mantener su Router seguro.
Chains o Cadenas
Por defecto RouterOs, trae tres chain predefinidas a saber:
- INPUT: Es utilizada para marcar todos los paquetes que tiene como destino el router. Ejemplo:
Supongamos que tenemos:
WAN 1 = 2.2.2.2
Queremos evitar que nos hagan ping colocamos el siguiente comando: /ip firewall filter add chain=input protocol=icmp action=drop in-interface=»1 – ADSL»
- FORWARD: Es utilizada para marcar todos los paquetes que pasan a través del router, es decir son todos los paquetes que van con destino a nuestra LAN. Ejemplo:
Vamos a bloquear youtube y facebook utilizando esta chain en toda la LAN.
Primero vamos a crear LAYER7 para facebook y youtube
/ip firewall layer7-protocol add name=Youtube regexp=»^.*(Youtube.com).*\$»
/ip firewall layer7-protocol add name=Facebook regexp=»^.*(Facebook.com).*\$»
Podemos seguir agregando dominios de la siguiente manera (Facebook.com|Youtube.com) y así lo podemos tener en una sola sentencia.
Ahora, lo bloqueamos
/ip firewall filter
add chain=forward layer7-protocol=Facebook action=drop
add chain=forward layer7-protocol=Youtube action=drop
Importante, antes de bloquear cualquier página hay que revisar exactamente a dónde está buscando conectarse, por ejemplo:
facebook y youtube tienen otros subdominios que le permiten conectarse sin problema.
- OUTPUT: Esta chain se utiliza para marcar todos los paquetes que salen de Mikrotik; todo lo que va a internet o a otras LAN que tengamos conectadas. Ejemplo:
Supongamos que queremos bloquear los DNS de CloudFlare para que nuestra red no les haga consultas.
/ip firewall filter chain=output dst-address=1.1.1.1 action=drop
Repasemos :
- INPUT: Todas las conexiones que viene dirigidas al Mikrotik.
- FORWARD: Todas las conexiones que atraviesan nuestro Mikrotik.
- OUTPUT: Todas las conexiones que salen des nuestro Mikrotik.
Vamos con una configuración sencilla, bastante útil para los routers de casa.
Protegiendo nuestro Router
Suponiendo que nuestra LAN es 192.168.0.0/24:
- la vamos a agregar a una lista
- adicionalmente agregaremos unas ip de Mikrotik (para poder actualizarlo y mantener contacto con la cloud de Mikrotik)
- para finalizar agregamos los DNS que utilizaremos con mayor frecuencia.
/ip firewall address-list
add address=192.168.0.0/24 list=allowed_to_router
add address=download.mikrotik.com list=allowed_to_router
add address=cloud.mikrotik.com list=allowed_to_router
add address=1.1.1.1 list=DNS
add address=8.8.8.8 list=DNS
/ip firewall filter
add chain=input src-address-list=allowed_to_router action=accept
add chain=input src-address-list=DNS action=accept
add action=accept chain=input in-interface=»ether1″ protocol=udp src-address-list=DNS src-port=53
add action=drop chain=input in-interface=»ether1″ protocol=icmp src-address-list=!DNS
add action=drop chain=input src-address-list=!DNS
add action=accept chain=forward comment=»Proteccion para Clientes» connection-state=established,related
add action=drop chain=forward connection-state=invalid
add action=drop chain=forward comment=»Drop new connections from internet which are not dst-natted» connection-nat-state=!dstnat connection-state=new in-interface=»ether1″
/ip firewall nat
add action=masquerade chain=srcnat
Con esta sencilla configuración, tendremos nuestro Mikrotik protegido y solo se estará conectando lo que realmente se solicite desde nuestra red interna.
¡Hasta la próxima! @Network_DKnight
Gracias Francisco por enseñarnos a usar el cortafuegos de RouterOS… ahora me toca investigar cómo usar listas para bloquear páginas web a los equipos que me interese en lugar de a todos los dispositivos de la red 👍🏻
Me gustaMe gusta
De nada amigo.!
la parte de las listas es sencillas, puedes guiarte con las que hice en la publicación. Recuerda algo importante, todas las sentencias son leídas de manera secuencial. por ejemplo:
Permitir
Permitr
Bloquear todo lo demas.
Es igual que las access-list de Cisco. =)
Me gustaMe gusta
Muchas gracias por compartir.
Aunque está muy bien el filtrado de dominio, en sitios que generan mucho contenido como youtube, echo en falta una discriminación «layer 8». No tiene mucho sentido prohibir todo el sitio puesto que los vídeos que pueden consumir los chavales les pueden ayudar, por ejemplo si queremos que puedan ver videos de derivadas, porque estamos trabajando eso ¿cómo podemos permitir el video de unicoos https://www.youtube.com/watch?v=m_APcwjkup8 o uno que sepamos que es válido para nuestra asignatura?
Un saludo, Julio.
Me gustaMe gusta
Interesante propuesta Julio pero no termino de ver la necesidad de controlar, a nivel de usuario, salvo que vayamos a dejar sólo al profesor proyectar dichos vídeos (de ahí mi propuesta del uso de listas de equipos autorizados) 🤔
Me gustaMe gusta
Hola Julio,
Si es posible hacer la separación que indicas, es más puedes bloquear partes especificas de X dominios. Pero para eso se necesita tener un conocimiento bastante elevado en cuanto a la sintaxis del protocolo Layer 7. En este link puedes encontrar información al respecto http://l7-filter.sourceforge.net/protocols.
Me gustaMe gusta
Lo único que tenéis que tener en cuenta al usar los filtros de capa 7 es que pueden consumir muchos recursos de vuestro mikrotik y que se ponga lento, impidiendo el acceso a internet, si tenéis muchos equipos conectados a la red. En esos casos es preferible montar unas dns internas y controlar por ahí. Redirigimos cualquier uso de dns en el mikrotik al equipo que nos interese:
/ip firewall nat add chain=dstnat action=dst-nat to-addresses=192.168.XX.X to-ports=53 protocol=tcp dst-port=53
Y ese dns pondríamos la página a un servidor interno, donde indicamos que esa web no está permitida.
Me gustaLe gusta a 1 persona
Muchas gracias, pregunto. Igual que está esta regla
/ip firewall filter chain=output dst-address=1.1.1.1 action=drop
que bloquea las DNS hacia 1.1.1.1 si se quiere bloquear todo el trafico desde el mikrotik ej. 172.21.0.1 hacia la red superior de acceso a internet o otro router 192.168.1.1/24 como sería esa regla?
/ip firewall filter chain=output dst-address=192.168.1.0/24 action=drop
/ip firewall filter chain=output dst-address=192.168.1.1/24 action=accept
Y así todos los host que vienen de la red 172.21.0.x que van a 192.168.1.x no ve los host de la 192.168.1.x solamente pueden acceder a «internet» que es el router 192.168.1.1
Muchas gracias
Me gustaMe gusta