6Aug
Le mostramos cómo activar WOL de forma remota mediante "Port Knocking" 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, puede apreciar la capacidad de protegerlo de ataques de fuerza bruta escondiéndolo detrás de una secuencia de knock. Al hacer esto, filtrará a los kiddies de script que intentan obtener acceso a su red. Dicho esto, como se dijo en el artículo anterior, el golpeo de puertos no es un reemplazo de 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 implementar esto es que cuando un cliente VPN desee conectarse, tendrá que desencadenar antes de y, si por algún motivo no pueden completar la secuencia,no podrá VPN en absoluto. Descripción
Para proteger * el servicio VPN primero desactivaremos toda comunicación posible con él bloqueando el puerto de creación de instancias de 1723. Para lograr este objetivo, usaremos iptables. Esto se debe a que así 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 acerca de iptables, consulte la entrada de su wiki y eche un vistazo a nuestro artículo anterior sobre el tema. Una vez que el servicio esté protegido, crearemos una secuencia knock que abriría temporalmente el puerto de creación de instancias de VPN y también lo cerraría automáticamente después de una cantidad de tiempo configurada, mientras se mantiene conectada la sesión de VPN ya establecida.
Nota: En esta guía, estamos utilizando el servicio PPTP VPN como ejemplo. Dicho esto, el mismo método se puede usar para otros tipos de VPN, solo tendrá que cambiar el puerto bloqueado y / o el tipo de comunicación.
Prerrequisitos, suposiciones y amp;Recomendaciones
- Se supone / requiere que tenga un enrutador DD-WRT habilitado para Opkg.
- Se supone / requiere que ya haya realizado los pasos en la guía "Cómo llamar a su red( DD-WRT)".
- Se supone cierto conocimiento de redes.
Permite obtener grietas.
Predeterminada regla "Bloquear nuevas VPN" en DD-WRT
Si bien el siguiente fragmento de "código" probablemente funcionaría en cada uno, que se respete, usando iptables, la distribución Linux / GNU, porque hay tantas variantes por ahí que lo haremossolo muestra cómo usarlo en DD-WRT.Nada lo detiene, si lo desea, de implementarlo directamente en la caja VPN.Sin embargo, cómo hacerlo, está más allá del alcance de esta guía.
Debido a que queremos aumentar el Firewall del enrutador, es lógico que lo agreguemos al script "Firewall".De lo contrario, el comando de iptables se ejecutará cada vez que se restaure el firewall y, por lo tanto, mantendremos nuestro aumento para siempre.
Desde la GUI web de DD-WRT:
- Vaya a "Administración" - & gt;"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 ENTRADA "$ inline" -p tcp --dport 1723 -j DROP
- Haga clic en "Guardar Firewall".
- Hecho.
¿Qué es este comando "Voodoo"?
El comando "magia vudú" anterior hace lo siguiente:
- Encuentra dónde está la línea iptable que permite el paso de la comunicación ya establecida. 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 de VPN ya establecidas vivan después delgolpeando el evento.
- Deduce dos( 2) desde la salida del comando de listado para tener en cuenta el desplazamiento causado por los encabezados de columna informativos. Una vez hecho esto, agrega uno( 1) al número anterior, de modo que la regla que estamos insertando vendrá justo después de la regla que permite la comunicación ya establecida. Dejé este "problema matemático" muy simple aquí, solo para dejar en claro la lógica de "por qué uno necesita reducir uno de la regla en lugar de agregar uno".
Configuración de KnockD
Necesitamos crear una nueva secuencia de activación que permita la creación de nuevas conexiones VPN.Para ello, edite el archivo knockd.conf emitiendo en un terminal:
vi /opt/etc/ knockd.conf
Agregue a la configuración existente:
[enable-VPN]
sequence = 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% -ptcp --dport 1723 -j ACCEPT
Esta configuración:
- Establece la ventana de oportunidad para completar la secuencia, a 60 segundos.(Se recomienda mantener esto lo más corto posible)
- Escuchar una secuencia de tres golpes en los puertos 2, 1 y 2010( este orden es deliberada para desviar los escáneres de puertos de la pista).
- Una vez que se ha detectado la secuencia, ejecute el "comando_de_arranque".Este comando "iptables" colocará un "aceptar tráfico destinado al puerto 1723 desde donde vinieron los golpes" en la parte superior de las reglas del firewall.(La directiva% IP% es tratada especialmente por KnockD y se reemplaza por la IP del origen de los knock).
- Espere 20 segundos antes de emitir el "stop_command".
- Ejecuta el "comando stop".Donde este comando "iptables" hace el reverso de lo anterior y elimina la regla que permite la comunicación.
Consejos del autor
Si bien debe estar listo, hay un par de puntos que siento que es necesario 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 "start / stop" ejecuten varios comandos separándolos con un semi-colen( ;) o incluso un script. Hacerlo te permitirá hacer algunas cosas ingeniosas. Por ejemplo, llamé y me enviaste un * correo electrónico que me decía que se había 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 tomes el programa para usar Android de StavFX.
- Si bien en el tema de Android, no olvide que hay un cliente PPTP VPN 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 usar en prácticamente cualquier comunicación basada en TCP.De hecho, en las películas Knockd on DD-WRT 1 ~ 6, ya lo hice cuando utilicé el protocolo de escritorio remoto( RDP) que usa el puerto 3389 como ejemplo.
¿Quién perturba mi sueño?