Página principal » cómo » Cómo conectarse a su red, Parte 2 Proteja su VPN (DD-WRT)

    Cómo conectarse a su red, Parte 2 Proteja su VPN (DD-WRT)

    Le hemos mostrado cómo activar WOL de forma remota mediante "Llamada al puerto" en su enrutador. En este artículo, mostraremos cómo usarlo para proteger un servicio VPN..

    Imagen de Aviad Raviv & bfick..

    Prefacio

    Si ha utilizado la funcionalidad incorporada de DD-WRT para VPN o, tiene otro servidor VPN en su red, podría apreciar la capacidad de protegerlo de ataques de fuerza bruta ocultándolo detrás de una secuencia de detonación. Al hacer esto, filtrarás los guiones que intentan obtener acceso a tu red. Dicho esto, como se indicó en el artículo anterior, la detonación de puertos no reemplaza una buena contraseña y / o política de seguridad. Recuerde que con suficiente paciencia un atacante puede descubrir la secuencia y realizar un ataque de repetición.
    También tenga en cuenta que la desventaja de la implementación de esto es que cuando cualquier cliente de VPN desea conectarse, debe desencadenar la secuencia de detonación antemano y que si no pueden completar la secuencia por cualquier motivo, no podrán hacer VPN en absoluto.

    Visión general

    Para proteger * el servicio VPN, primero deshabilitaremos todas las comunicaciones posibles con él bloqueando el puerto de creación de instancias de 1723. Para lograr este objetivo, usaremos iptables. Esto se debe a que es así como se filtra la comunicación en la mayoría de las distribuciones modernas de Linux / GNU en general y en DD-WRT en particular. Si desea obtener más información sobre iptables checkout en su entrada de wiki, y eche un vistazo a nuestro artículo anterior sobre el tema. Una vez que el servicio esté protegido, crearemos una secuencia de detonación que abriría temporalmente el puerto de creación de instancia VPN y también lo cerraremos automáticamente después de un período de tiempo configurado, mientras mantenemos conectada la sesión VPN ya establecida..

    Nota: En esta guía, estamos utilizando el servicio VPN PPTP como ejemplo. Dicho esto, se puede usar el mismo método para otros tipos de VPN, solo tendrás que cambiar el puerto bloqueado y / o el tipo de comunicación..

    Prerrequisitos, Suposiciones y Recomendaciones

    • Se supone / es obligatorio que tenga un enrutador DD-WRT habilitado para Opkg.
    • Se asume / requiere que ya ha realizado los pasos en la guía "Cómo llamar a su red (DD-WRT)".
    • Se asume cierto conocimiento de redes.

    Pongamos manos a la obra.

    Defecto Regla de "Bloquear nuevas VPNs" en DD-WRT

    Si bien el siguiente fragmento de "código" funcionaría en todas las distribuciones de Linux / GNU que se respetan y se respetan, ya que existen muchas variantes que solo mostraremos cómo usarlas en DD-WRT. Nada lo impide, si lo desea, implementarlo directamente en el cuadro VPN. Sin embargo, cómo hacerlo, está fuera del alcance de esta guía..

    Debido a que queremos aumentar el Firewall del enrutador, es lógico que lo agreguemos a la secuencia de comandos "Firewall". De este modo, el comando iptables se ejecutará cada vez que se actualice el cortafuegos y, por lo tanto, mantendremos nuestro aumento en su lugar para mantenerlo..

    De la GUI web de DD-WRT:

    • Ir a "Administración" -> "Comandos".
    • Ingrese el siguiente "código" en el cuadro de texto:

      inline = "$ (iptables -L INPUT -n | grep -n" estado RELACIONADO, ESTABLECIDO "| awk -F: 'print $ 1')"; inline = $ (($ inline-2 + 1)); iptables -I INPUT "$ inline" -p tcp --dport 1723 -j DROP

    • Haga clic en "Guardar Firewall".
    • Hecho.

    ¿Qué es este comando "vudú"?

    El comando anterior "voodoo magic" hace lo siguiente:

    • Encuentra dónde está la línea iptable que permite que la comunicación ya establecida pase. Hacemos esto, porque A. En los enrutadores DD-WRT, si el servicio VPN está habilitado, se ubicará justo debajo de esta línea y B. Es esencial para nuestro objetivo de continuar permitiendo que las sesiones VPN ya establecidas continúen después del evento de golpes.
    • Deduce dos (2) de la salida del comando de listado para tener en cuenta el desplazamiento causado por los encabezados de columna informativos. Una vez hecho esto, agregue un (1) al número anterior, de modo que la regla que estamos insertando venga justo después de la regla que permite la comunicación ya establecida. He dejado este simple "problema matemático" aquí, solo para dejar clara la lógica de "por qué uno necesita reducir uno del lugar de la regla en lugar de agregarle uno"..

    Configuración KnockD

    Necesitamos crear una nueva secuencia de activación que permita la creación de nuevas conexiones VPN. Para hacer esto, edite el archivo knockd.conf emitiendo en un terminal:

    vi /opt/etc/knockd.conf

    Anexar a la configuración existente:

    [habilitar-VPN]
    secuencia = 02,02,02,01,01,01,2010,2010,2010
    seq_timeout = 60
    start_command = iptables -I INPUT 1 -s% IP% -p tcp --dport 1723 -j ACCEPT
    cmd_timeout = 20
    stop_command = iptables -D INPUT -s% IP% -p tcp --dport 1723 -j ACEPTAR

    Esta configuración:

    • Establezca la ventana de oportunidad para completar la secuencia, a 60 segundos. (Se recomienda mantener esto lo más corto posible)
    • Escuche una secuencia de tres golpes en los puertos 2, 1 y 2010 (este orden es deliberado para que los escáneres de puertos queden fuera de lugar).
    • Una vez que se haya detectado la secuencia, ejecute el "start_command". Este comando "iptables" colocará un "aceptar tráfico destinado al puerto 1723 de donde provinieron los golpes" en la parte superior de las reglas del firewall. (La directiva% IP% es tratada especialmente por KnockD y se reemplaza con la IP del origen de los golpes).
    • Espere 20 segundos antes de emitir el "comando_de_ detener".
    • Ejecuta el “comando_de_ detener”. Donde este comando "iptables" hace lo contrario de lo anterior y elimina la regla que permite la comunicación.
    Eso es todo, su servicio VPN ahora debería poder conectarse solo después de un "golpe" exitoso.

    Autorconsejos de

    Si bien debería estar listo, hay un par de puntos que creo que debo mencionar.

    • Solución de problemas. Recuerde que si tiene problemas, el segmento de "solución de problemas" al final del primer artículo debe ser su primera parada..
    • Si lo desea, puede hacer que las directivas "iniciar / detener" ejecuten varios comandos separándolos con un semi-colen (;) o incluso un script. Si lo hace, le permitirá hacer algunas cosas ingeniosas. Por ejemplo, me han enviado un * correo electrónico que me dice que se ha activado una secuencia y desde dónde.
    • No olvides que "hay una aplicación para eso" y aunque no se menciona en este artículo, te recomendamos que agarres el programa de aldaba de Android de StavFX..
    • Mientras esté en el tema de Android, no olvide que hay un cliente VPN PPTP generalmente integrado en el sistema operativo del fabricante..
    • El método de, bloquear algo inicialmente y luego continuar permitiendo la comunicación ya establecida, se puede utilizar en prácticamente cualquier comunicación basada en TCP. De hecho, en el Knockd en las películas DD-WRT 1 ~ 6, he hecho mucho cuando, he usado el protocolo de escritorio remoto (RDP) que usa el puerto 3389 como ejemplo.
    Nota: Para hacer esto, necesitará obtener la funcionalidad de correo electrónico en su enrutador, que actualmente no funciona, porque la instantánea SVN de los paquetes opkg de OpenWRT está en desorden. Es por eso que sugiero usar knockd directamente en el cuadro de VPN, que le permite usar todas las opciones de envío de correo electrónico que están disponibles en Linux / GNU, como SSMTP y sendEmail para mencionar algunos.

    Quien perturba mi sueño?