«Me lo contaron y lo olvidé; lo vi y lo entendí; lo hice y lo aprendí».

— Confucio

Seguridad router MikroTik – WISP desde cero

En este apartado veremos como proteger nuestro equipo y a nuestros clientes de posible ataques exteriores.

Para ello vamos a configurar una serie de reglas en el firewall, y veremos como pasar las reglas del software al hardware, para utilizar los procesadores dedicados para esa función y así descargar la CPU.

Reglas de filtrado

Lo primero es crear una lista en Address Lists con las IP internas que va a tener nuestro router, con ello conseguiremos aplicar reglas de forma general a nuestras redes.

Vamos a empezar por crear las reglar en IP>Firewall>Filter Rules. las reglas básicas que debe tener todos los Firewall son las siguientes:

/ip firewall filter
add action=accept chain=input comment="*************Accept established connection packets" connection-state=established
add chain=input comment="Accept related connection packets" connection-state=related
add action=drop chain=input comment="Drop invalid packets" connection-state=invalid
add action=accept chain=forward comment="*************Accept established connection packets" connection-state=established
add action=accept chain=forward comment="Accept related connection packets" connection-state=related
add action=drop chain=forward comment="Drop invalid packets" connection-nat-state=!dstnat connection-state=invalid
add chain=input comment="*************Permitir Protocolos ICMP" connection-limit=15,32 icmp-options=0:0 limit=5,5 protocol=icmp
add chain=input icmp-options=8:0 limit=5,5 protocol=icmp
add chain=input icmp-options=3:3 limit=5,5 protocol=icmp
add chain=input icmp-options=11:0 limit=5,5 protocol=icmp
add chain=input icmp-options=3:4 limit=5,5 protocol=icmp
add action=drop chain=input protocol=icmp
add action=tarpit chain=input comment="*************Impedir Atacante DOS genere nuevas conecxiones" protocol=tcp src-address-list="Lista Negra"
add action=add-src-to-address-list address-list="Lista Negra" address-list-timeout=1d chain=input comment="Deteccion de DOS" connection-limit=100,32
add action=drop chain=forward comment="Block Atakante DOS" protocol=tcp src-address-list="Lista Negra"
add action=drop chain=input comment="*************Block Intrusos WebProxy" dst-port=3128 in-interface=ether2 protocol=tcp
add action=drop chain=input comment="Block Intrusos DNS" dst-port=53 in-interface=ether2 protocol=udp
add action=accept chain=forward comment="Block Port 25" dst-port=25 protocol=tcp src-address-list=verified-smtp-user
add action=add-src-to-address-list address-list=smtp-spammers address-list-timeout=none-dynamic chain=forward dst-port=25 protocol=tcp src-address-list=locales
add action=drop chain=forward dst-port=25 protocol=tcp src-address-list=smtp-spammers
add action=accept chain=input comment="*************Permitir el Acceso al Router desde Redes Conocidas" src-address-list="Permitir IPs for Access"
add action=drop chain=input comment="*************Drop all INPUT"

Con esta configuración solo podríamos entrar al router médiate una IP de la lista de «Permitir IPs for Access», es decir una IP local de la LAN.

En los distintos grupos de las reglas de filtrado, realizamos lo siguiente:

  • Aceptamos los paquetes establecidos, relacionados y denegamos los inválidos del input.
  • Aceptamos los paquetes establecidos, relacionados y denegamos los inválidos del forward.
  • Permitimos el protocolo ICMP que nosotros queremos.
  • Impedimos los ataques de denegación de servicio
  • Bloquear los intrusos del WebProxy
  • Bloquear el puerto 53 que se utiliza para los DNS
  • Añadir las IP que usen el puerto 25 a una lista para ser bloqueados y aceptar las IP que estén verificadas.
  • Permitir el acceso al router desde las IP especificadas en una lista.
  • El DROP general que lo bloquea todo.

Quedaría así

Acceso seguro al router

Si queremos acceder al router desde la WAN, tenemos dos opciones, la insegura que seria abrir el puerto de acceso al router para acceder directamente a él, y la mas segura que seria montar un servidor L2TP con IPsec, permitir el acceso desde el exterior para la VPN y ponerle al cliente una IP de las permitidas. De esta manera conseguimos darle mas seguridad a la red.

Abrir puerto de acceso externo

Para el primer caso abriremos el puerto externos para acceder al router.

Acceder por VPN

Para ello crearemos un servidor L2TP con IPsec como explicamos en este post: Configuración de VPN con Túnel L2TP/IPsec – MikroTik

Una vez dentro nuestra IP estara en el rango de las IP permitidas y podremos acceder al router.

Firewall Raw

Hay reglas que podemos añadir al apartado Raw del Firewall, de esta manera conseguimos un filtrado en el que la CPU no interviene al llevar los nuevos modelos de los CCR un chip dedicado solo a esto.

En este caso podemos añadir dos reglas a RAW y quitarlas del Filter Rules.

En el apartado Raw crearemos estas reglas y las reglas para que no afecten a las IP internas, aceptando la lista de «locales».

Con esta configuraciones estaremos un poquito mas seguros