Buenas prácticas para asegurar nuestro RouterOS [1ra parte]

 Leinier Cruz Salfran     13/abr/2019
IPv4, IPv6, Mikrotik, RouterOS, Seguridad, Servicios, Tutoriales


Tabla de contenidos

Introducción

Comúnmente, la preocupación principal de muchas personas que manejan equipos Mikrotik, es la de activar y poner en marcha los servicios y configuraciones que le permitan conseguir los resultados deseados, sin embargo, el tener una aplicación o servicio que es funcional, pero que no tiene en cuenta las necesidades de seguridad asociadas a la infraestructura que se está utilizando, podría acarrear consecuencias devastadoras.

En la informática, existe lo que es llamado "Seguridad en los servidores", la cual es la protección de la infraestructura computacional y todo lo relacionado con ésta. Existen una serie de estándares, protocolos, métodos, reglas y herramientas para minimizar los riesgos de penetración no autorizada a los medios o la información.

Servidores

Un servidor es un dispositivo o computadora que, formando parte de una red, provee servicios a otros dispositivos o computadoras denominadas clientes. Existe una gran variedad de servidores que desarrollan variadas funciones.

Clasificación de los servidores

Relacionando algunas de la clasificaciones de los servidores, atendiendo al servicio principal que prestan, están:

  • Servidor de archivos: Centra su función al almacenamiento de archivos y los distribuye, utilizando diferentes protocolos, a otros clientes en la red.
  • Servidor de impresiones: Controla una o más impresoras y acepta trabajos de impresión de otros clientes de la red, poniendo en cola los trabajos de impresión y realizando la mayoría o todas las otras funciones que en un sitio de trabajo se realizaría para lograr una tarea de impresión, si la impresora fuera conectada directamente con el puerto de impresora del sitio de trabajo.
  • Servidor de correo: Almacena, envía, recibe, enruta y realiza otras operaciones relacionados con el correo electrónico para los clientes de la red.
  • Servidor de fax: Almacena, envía, recibe, enruta y realiza otras funciones necesarias para la transmisión, la recepción y la distribución apropiadas de los fax.
  • Servidor de telefonía: Desarrolla trabajos relacionadas con la telefonía, contestador automático, funciones de un sistema interactivo para la respuesta por voz, almacena los mensajes de voz, encamina las llamadas y mensajes.
  • Servidor proxy: Realiza cierto tipo de funciones a nombre de otros clientes en la red para aumentar el funcionamiento de ciertas operaciones. También proporciona servicios de seguridad, incluye un cortafuegos. Permite administrar el acceso a Internet en una red de computadoras, permitiendo o negando el acceso a diferentes sitios web.
  • Servidor de acceso remoto: Controla los módem, responde llamadas telefónicas entrantes y realiza la autentificación necesaria y otros procedimientos necesarios para registrar a un usuario remoto en la red.
  • Servidor web: Almacena documentos HTML, imágenes, archivos de texto, guiones, y demás material web compuesto por datos y distribuye este contenido a clientes que la piden en la red.
  • Servidor de base de datos: Provee acceso a datos de forma simple o relacionada, a otros programas u otros dispositivos, como es definido por el modelo cliente-servidor.
  • Servidor de enlace: Maneja enlaces que proveen acceso a redes externas, ejecuta reglas de enrutamiento, enruta el tráfico de red de otros dispositivos en una red.

De acuerdo al rol que asumen dentro de una red se dividen en:

  • Servidor dedicado: Son aquellos que le dedican toda su potencia a administrar los recursos de la red, es decir, a atender las solicitudes de procesamiento de los clientes.
  • Servidor no dedicado: Son aquellos que no dedican toda su potencia a los clientes, sino también pueden jugar el rol de estaciones de trabajo, al procesar solicitudes de un usuario local.

Buenas prácticas para asegurar nuestro RouterOS

Este tutorial cubrirá solamente algunas prácticas que se recomiendan para agregar mayor nivel de seguridad a nuestros equipos Mikrotik, en aras de minimizar lo más posible los riesgos de penetración no autorizados.

Usuario administrativo

RouterOS trae por defecto un usuario con privilegios administrativos, nombrado admin, el cual no posee ninguna contraseña asociada, de forma inicial. Una de las primeras acciones que la mayoría ejecuta es establecer una contraseña a dicho usuario administrativo, para así limitar el acceso a solo quienes conozcan dicha contraseña. Si bien es válida esa acción, no detiende a un atacante malicioso de ejecutar un ataque a nuestro RouterOS para intentar obtener la contraseña de dicho usuario empleando la técnica de la fuerza bruta, y obtenerla si la contraseña no es compleja. Un mecanismo que se utiliza para elevar el nivel de seguridad en nuestro RouterOS es reemplazar ese usuario administrativo por uno que contenga un nombre de usuario diferente y una contraseña que cumpla, al menos, los requisitos medios de seguridad en las contraseñas.

Requisito medio para aumentar la seguridad en las contraseña

La mayoría de los usuarios no técnicos utilizando como contraseña palabras de uso común, las fechas de sus cumpleaños, números de identidad, números de teléfonos, nombres de sus sere amados, entre otros elementos que son, fáciles de adivinar por alguna persona que emplee suficiente tiempo en conocer a ese usuario o algun programa que ejecute la validación de estos elementos, haciéndolo doblemente fácil de adivinar. En tiempos de antaño, nuestros profesores, administratores de red, proveedores, entre otros, nos exhortaban a utilizar contraseñas que contengan un patrón que ayuda a mejorar la complejidad de las contraseñas, tales como agregar letras mayúsculas y minúsculas, números y caracteres especiales, logrando, efectivamente, complejizar nuestras contraseñas, pero no hacerlas totalmente libres de ataques por fuerza bruta como también aumentando las probabilidades de que se olviden dichas "complejas" contraseñas.

Hoy en día se exhorta que se utilice un método diferente para generar contraseñas: la conjugación de palabras. Éste método es altamente eficaz ya que con él se logran dos objetivos altamente buscados a la hora de crear una contraseña segura. El primero de ellos es aumentar la longitud y diversidad en los caracteres que contiene la contraseña, y el segundo es la fácil memorización de la contraseña, al ser algo que comúnmente se utiliza en la vida diaria: oraciones.

Para realizar una simple demostración y comparación entre los dos métodos:

Antiguo método:

  • Contraseña: NCA1A22019**
  • Detalles:
    • Contraseña corta.
    • Difícil de recordar.
    • Adivinable por algún programa de fuerza bruta en poco tiempo.

Nuevo método:

  • Contraseña: Mi Contraseña Segura Para RouterOS En Abr-2019
  • Detalles:
    • Contraseña larga.
    • Basada en la conjugación de palabras.
    • Fácil de recordar.
    • Se necesitan varios años para que un super ordenador adivine la contraseña.
Implementación
Comandos

Ejecutar el siguiente comando en la consola (usar el usuario y contraseña de su preferencia):

/user add name="usuario" password="Mi Contrasena Segura en Abr-2019" group=full

Reconectar con el nuevo usuario creado y borrar el antiguo usuario admin con el siguiente comando:

/user remove admin
Winbox

Pasos:

  1. Abrir la ventana System->Users.
  2. Agregar un nuevo usuario.
  3. Establecer los valores adecuados y guardar los cambios.
  4. Cerrar la sesión e iniciar con los datos del usuario recién creado.
  5. Abrir la ventana System->Users.
  6. Eliminar el usuario admin.

Definición de los servicios de acceso a la administración

Algo que muchos acostumbran a pasar por alto es la revisión de cuáles servicios corre nuestro RouterOS, ampliando así los puntos de acceso a la administración. Una de las buenas reglas de todo administrador de sistemas es ofrecer solamente lo que es necesario ofrecer, lo que se traduce a deshabilitar todos aquellas servicios que no son utilizados, reduciendo, efectivamente, los puntos de acceso que pueden ser vulnerados y, por ende, ofrecer acceso administrativos a atacantes mal intencionados.

RouterOS tiene activado, por defecto, algunos servicios que permiten el acceso administrativo pero que no todos utilizamos, los que se relacionan a continuación:

  • Servidor Telnet por MAC: Permite acceso a la administración utilizando el protocolo Telnet utilizando como medio de transporte paquetes IP crudos (capa 2 del modelo OSI), el que no permite seguridad adicional a la basada en credenciales.
  • Servidor Winbox por MAC: Permite acceso a la administración utilizando el protocolo Winbox utilizando como medio de transporte paquetes IP crudos (capa 2 del modelo OSI), el que no permite seguridad adicional a la basada en credenciales.
  • Servidor de API: Permite acceso a la administración utilizando un protocolo propietario de Mikrotik. Utiliza como medio de transporte el protocolo TCP, se le puede agregar cifrado a la transmisión de los datos a través de un certificado para servidores. Permite seguridad basada en direcciones IP y credenciales del sistema. Es utilizado por aplicaciones de terceros.
  • Servidor SSH: Permite acceso a la administración utilizando un protocolo de código abierto SSH. Utiliza como medio de transporte el protocolo TCP, posee cifrado intrínseco en la transmisión de los datos. Permite seguridad basada en direcciones IP y credenciales del sistema.
  • Servidor Telnet: Permite acceso a la administración utilizando un protocolo Telnet. Utiliza como medio de transporte el protocolo TCP, carece de toda posibilidad de cifrado en la transmisión de los datos. Permite seguridad basada en direcciones IP y credenciales del sistema.
  • Servidor Winbox: Permite acceso a la administración utilizando un protocolo propietario de Mikrotik. Utiliza como medio de transporte el protocolo TCP, posee cifrado intrínseco en la transmisión de los datos. Permite seguridad basada en direcciones IP y credenciales del sistema.
  • Servidor HTTP: Permite acceso a la administración utilizando un protocolo de código abierto HTTP. Utiliza como medio de transporte el protocolo TCP, se le puede agregar cifrado a la transmisión de los datos a través de un certificado para servidores. Permite seguridad basada en direcciones IP y credenciales del sistema.

Si bien algunos son útiles y/o los que más se utilizan por cada uno de los administradores de sistemas, hay muchos otros que nunca se utilizan y representan un punto más por el que se puede acceder a la administración y, por ende, un punto más a ser atacado y una probabilidad más de ingresar de forma no autorizada a la administración del equipo. Una buena práctica para reducir los riesgos de penetración no autorizada es definir cuál(es) servicio(s) provee(rán) acceso administrativo a nuestro RouterOS, siendo el preferido aquél que provea mayor conjunto de prestaciones de seguridad, entre los que sobresalen:

  • Servidor SSH.
  • Servidor Winbox.
Habilitando/Deshabilitando servicios de acceso a la administración
Comandos

Servidor Telnet por MAC (deshabilitar)

/tool mac-server set allowed-interface-list=none

Servidor Winbox por MAC (deshabilitar)

/tool mac-server mac-winbox set allowed-interface-list=none

Servidor de API (deshabilitar)

/ip service disable api
/ip service disable api-ssl

Servidor SSH (habilitar)

/ip service enable ssh

Servidor Telnet (deshabilitar)

/ip service disable telnet

Servidor Winbox (habilitar)

/ip service enable winbox

Servidor HTTP (deshabilitar)

/ip service disable www
/ip service disable www-ssl
Winbox

Pasos:

  1. Abrir la ventana Tools->Mac Server.
  2. Oprimir los botones señalados a continuación.
  3. Deshabilitar el servidor Telnet por MAC.
  4. Deshabilitar el servidor Winbox por MAC.
  5. Abrir la ventana IP->Services.
  6. Oprimir la tecla Ctrl y dar clic en los diferentes servicios que deseamos deshabilitar.
  7. Dar clic en el botón deshabilitar.
Sugerencias para entornos de producción

Otros elementos que se sugiere deshabilitar debido a que no son adecuados para entornos de producción son los que se relacionan a continuación:

  • Servidor ICMP por MAC: Atiende solicitudes ICMP enviadas a la MAC del dispositivo.
    /tool mac-server ping set allowed-interface-list=none
  • Protocolo de desubrimiento de vecinos: Se encarga de anunciarse, mostrar y reconocer otros equipos Mikrotik en la red local.
    /ip neighbor discovery-settings set discover-interface-list=none
  • Servidor de ancho de banda: Se encarga de realizar pruebas de ancho de banda entre dos equipos Mikrotik.
    /tool bandwidth-server set enabled=no 
  • Cifrado más fuerte en SSH: Deniega el uso de cifrado nulo o débil en el servicio SSH.
    /ip ssh set allow-none-crypto=no strong-crypto=yes
  • Interfaces no usadas: Se recomienda deshabilitar las interfaces que no se usan para evitar accceso no autorizado desde ellas.
    /interface set etherX disabled=yes
  • LCD: Algunos RouterBOARDS poseen un módulo LCD para fines informativos. Establécele PIN o deshabilitalo.
    /lcd set enabled=no
Personalizando los puertos de escucha de los servicios de acceso a la administración

Todos los servicios digitales a los que accedemos en Internet, ejemplo, sitio web, proxy de acceso, repositorio de códigos, servidor de juegos, entre muchos otros, están asociados a una o varias direcciones IP y a un puerto de escucha. Ésta combinación de dirección IP y puerto es la que define cómo se accede a un servicio determinado. En beneficio de la organización, se creó un listado global en donde se relacionan la mayoría de los puertos de escucha que utilizan los diferentes servicios digitales que se ofrecen en una red informática. Citando algunos ejemplos más populares:

  • Protocolo de Red de Tiempo (NTP) - 123/UDP
  • Protocolo de Configuración Dinámica de Anfitriones (DHCP) - 67/UDP
  • Servicio de Nombres de Dominio (DNS) - 53/UDP y 53/TCP
  • Protocolo de Transferencia de HiperTexto (HTTP) - 80/TCP
  • Protocolo de Transferencia Segura de HiperTexto (HTTPS) - 443/TCP
  • Consola Segura (SSH) - 22/TCP
  • Protocolo de Acceso a Mensajes de Internet (IMAP) - 143/TCP
  • Protocolo de Acceso Seguro a Mensajes de Internet (IMAP) - 993/TCP

No es diferente el caso de los servicios que ofrece nuestro RouterOS para obtener acceso a la administración: todos tienen un puerto de escucha asociado. Éstos puertos de escucha vienen con un valor predeterminado, los que pueden ser cambiados a un valor numérico en el rango 1-65535, para, así, disminuir las probabilidades de acceso no autorizado a nuestro equipo. A continuación se muestran algunos ejemplos de cómo cambiar los puertos de escucha de algunos servicios de acceso a la administración.

Comandos

SSH al puerto 1022

/ip service set ssh port=1022

Winbox al puerto 19280

/ip service set winbox port=19280

WWW al puerto 10080

/ip service set www port=10080

API al puerto 18278

/ip service set api port=18278
Winbox

Pasos:

  1. Abrir la ventana IP->Services.
  2. Hacer doble clic en el servicio a modificar.
  3. Cambiar el puerto de escucha y hacer clic en el botón OK.
Fuentes de acceso a los servicios de acceso a la administración

Existe una opción adicional en nuestro RouterOS que nos permite agregarle una capa de seguridad a los servicios de acceso a la administración. Esta opción es la "fuente de acceso", lo que traducido significa, definir el listado de direcciones o bloques de IP (CIDR) a los que permitir el uso del servicio. Esto representa una capa de seguridad adicional en los servicios de acceso a la administración, mucho más cuando no se utiliza cortafuegos para ejecutar mayor control sobre a quiénes permitir su uso. Una buena práctica es definir las direcciones IP o subred administrativa que tendra acceso a administrar nuestro equipo. A continuación se muestra cómo definir la fuente de acceso a los servicios de administración.

Consola

Definiendo el acceso al servicio SSH para la direccion IP 192.168.0.254

/ip service set ssh address=192.168.0.254/32

Definiendo el acceso al servicio WWW para la direccion IP 192.168.0.254 y la subred 192.168.255.0/29

/ip service set www address=192.168.0.254/32,192.168.255.0/29
Winbox

Pasos:

  1. Abrir la ventana IP->Services.
  2. Hacer doble clic en el servicio a modificar.
  3. Agregar las direcciones o bloques IP a los que deseamos concerle permiso de acceso y hacer clic en el botón OK.
Dualidad en el protocolo IP

En la actualidad existen dos versiones del protocolo IP: IPv4 e IPv6, las que se encargan de proveer el mecanismo de acceso entre los diferentes nodos de una red informática. En la mayoría de los casos solo se utiliza una de las dos versiones, dejando la otra libre para darle un uso específico que aumente el nivel de seguridad de nuestro equipo. Dicho esto se puede plantear cómodamente la implementación de la dualidad en el protocolo IP en nuestro RouterOS, utilizándose la versión preferida como principal para el acceso a la red Internet, y la versión restante como secundaria para temas de administración y monitorización.

Conclusiones

Dado lo extenso del tutorial se ha fragmentado en 2 partes para no abrumar al lector con tanto texto e imágenes. Lo exhortamos a que comience a realizar una buena planificación de implementación de su red en la que tenga como elemento principal la seguridad de los servicios en los equipos que proveen servicios de crítica importancia.