

El golpe de puerto es una forma de proteger su servidor cerrando los puertos del firewall. También se utiliza en puertos que se sabe que se utilizan. Estos puertos se abren a pedido solo si la solicitud de conexión proporciona un golpe secreto.
Contenidos
Golpear a los puertos es un «golpe secreto»
1920, cuando Prohibición Si quieres entrar, fue auténtico. Speakeasy, Sabías un golpe secreto y tenías que tocarlo correctamente para entrar.
El golpe de puerto es un equivalente moderno. Si desea que las personas accedan a los servicios de su computadora, pero no desea abrir su firewall a Internet, puede usar la función de llamada de puertos. Esto le permite cerrar los puertos del firewall que permiten conexiones entrantes y abrirlos automáticamente cuando se realiza un patrón predeterminado de intentos de conexión. La secuencia de intentos de conexión actúa como un golpe secreto. Otro golpe secreto cierra el puerto.
El golpe de puerto es nuevo, pero es Seguridad escondiéndose El concepto tiene un defecto fundamental. El secreto de cómo acceder al sistema es seguro, ya que solo un grupo específico de personas lo conoce. Sin embargo, una vez que se revela el secreto, la seguridad se desactiva cuando se revela, observa, adivina o resuelve. Le recomendamos que proteja su servidor de otras formas más potentes, como solicitar un inicio de sesión basado en claves desde su servidor SSH.
La llamada de puertos es probablemente una de esas capas, ya que el enfoque más sólido de la ciberseguridad es de varias capas. ¿Cuantas más capas tengas, mejor? Sin embargo, se puede argumentar que la activación de puertos no agrega mucho (si es que lo hay) a un sistema seguro y mejorado adecuadamente.
La ciberseguridad es un tema vasto y complejo, pero el golpe de puerto no debe usarse como la única defensa.
Relación: Cómo crear e instalar la clave SSH desde el shell de Linux
Instalación de golpe
Use esto para controlar el puerto 22, que es un puerto SSH, para indicar que el puerto golpea.Usar Una herramienta llamada golpe..usar apt-get
Si está utilizando Ubuntu u otra distribución basada en Debian, instale este paquete en su sistema. Para otras distribuciones de Linux, utilice las herramientas de administración de paquetes de la distribución de Linux.
Ingrese de la siguiente manera.
sudo apt-get install knockd
Probablemente ya tienes cortafuegos iptables Está instalado en su sistema, pero es posible que deba instalarlo iptables-persistent
paquete.Maneja cargas automáticas guardadas iptable
regla.
Ingrese lo siguiente para instalar.
sudo apt-get install iptables-persistent
Cuando aparezca la pantalla de configuración de IPV4, presione la barra espaciadora para aceptar la opción «Sí».
Presione la barra espaciadora nuevamente en la pantalla de configuración de IPv6 para aceptar la opción «Sí» y continuar.
El siguiente comando es iptables
Le permite mantener una conexión continua establecida. Luego emita otro comando para cerrar el puerto SSH.
Si alguien está usando SSH cuando emite este comando, no debe desconectarse.
sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
Este comando agrega la siguiente regla al firewall:
- -A: Agregue una regla a la tabla de reglas de firewall. Es decir, agréguelo en la parte inferior.
- aporte: Esta es una regla para las conexiones entrantes.
- -m conntrack: Las reglas de firewall actúan sobre el tráfico de red (paquetes) que coinciden con los criterios de la regla.El·
-m
Causa del parámetroiptables
Módulo adicional de coincidencia de paquetes (en este caso,conntrack
Funciona con la función de seguimiento de la conexión de red del kernel. - –C Estado ESTABLECIDO, RELACIONADO: Especifica el tipo de conexión a la que se aplica la regla: conexiones ESTABLECIDAS y RELACIONADAS. Una conexión establecida es aquella que ya está en curso. La conexión asociada es la conexión creada por la acción de la conexión establecida. Quizás alguien conectado quiera descargar el archivo. Esto puede suceder a través de una nueva conexión iniciada por el host.
- -j aceptar: Si el tráfico coincide con la regla, salte al objetivo ACEPTAR del cortafuegos. Es decir, el tráfico se acepta y se permite a través del firewall.
Ahora puede emitir un comando para cerrar el puerto.
sudo iptables -A INPUT -p tcp --dport 22 -j REJECT
Este comando agrega la siguiente regla al firewall:
- -A: Agregue la regla a la tabla de reglas de firewall. Es decir, agréguelo en la parte inferior.
- aporte: Esta regla es para conexiones entrantes.
- -p tcp: Esta regla se aplica al tráfico que utiliza el protocolo de control de transmisión.
- – Puerto 22: Esta regla se aplica específicamente al puerto 22 de destino del tráfico TCP (puerto SSH).
- -j rechazar: Si el tráfico coincide con la regla, salte al objetivo RECHAZAR del cortafuegos. Por lo tanto, si se deniega el tráfico, no se permitirá a través del firewall.
Tenemos que empezar netfilter-persistent
demonio. Puedes hacer esto con este comando:
sudo systemctl start netfilter-persistent
Querer netfilter-persistent
aprobar Guardar y recargar ciclo, Entonces carga y controla iptable
regla.
Ingrese el siguiente comando:
sudo netfilter-persistent save
sudo netfilter-persistent reload
Esto instaló la utilidad y cerró el puerto SSH (con suerte sin cerrar la conexión de nadie). A continuación, configure el golpe secreto.
Configuración golpeada
Tengo dos archivos para editar para configurar knockd
..El primero es: knockd
Archivo de configuración:
sudo gedit /etc/knockd.conf
El· gedit
Se abre el editor knockd
Se ha cargado el archivo de configuración.
Edite este archivo según sea necesario. Las secciones de interés son «openSSH» y «closeSSH». Hay cuatro entradas en cada sección:
- secuencia: Una secuencia de puertos a los que alguien necesita acceder para abrir o cerrar el puerto 22. Los puertos predeterminados son 7000, 8000 y 9000 para abrir y 9000, 8000 y 7000 para cerrar. Puede cambiarlos o agregar puertos a la lista. Aquí usamos el predeterminado.
- seq_timeout: El período durante el cual alguien debe acceder a un puerto para abrirlo o cerrarlo.
- mandoComandos enviados a:
iptables
Cortafuegos cuando se activa una acción de apertura o cierre. Estos comandos agregan una regla al firewall (abre el puerto) o eliminan la regla (cierra el puerto). - tcpflags: El tipo de paquete que cada puerto debe recibir en una secuencia secreta. Paquetes SYN (síncronos) TCP Solicitud de conexión llamada Apretón de manos de tres vías..
La sección «openSSH» se puede leer como «Para enviar un comando para abrir el puerto 22 al firewall, las solicitudes de conexión TCP a los puertos 7000, 8000 y 9000 deben realizarse en este orden en 5 segundos». Puedo hacerlo.
La sección «cerrar SSH» se puede leer como «Para enviar un comando para cerrar el puerto 22 al firewall, las solicitudes de conexión TCP a los puertos 9000, 8000 y 7000 deben realizarse en este orden en 5 segundos». Puedo hacerlo.
Reglas del cortafuegos
Las entradas de «comando» en las secciones openSSH y closeSSH siguen siendo las mismas excepto por un parámetro. He aquí cómo configurarlos.
- -A: Agregue la regla al final de la lista de reglas de firewall (para el comando openSSH).
- -D: Elimine el comando de la lista de reglas de firewall (para el comando closeSSH).
- aporte: Esta regla se aplica al tráfico de red entrante.
- -sorbo%: Dirección IP del dispositivo que solicita la conexión.
- -pag: Protocolo de red; en este caso es TCP.
- – Dport: Puerto de destino. En este ejemplo, es el puerto 22.
- -j aceptar: Salte al destino de aceptación en el firewall. En otras palabras, hace que el paquete pase el resto de las reglas sin realizar ninguna acción.
Editar un archivo de configuración dañado
Las ediciones que realiza en el archivo se resaltan en rojo a continuación.
Extiende «seq_timeout» a 15 segundos. Esto es generoso, pero si alguien invoca manualmente la solicitud de conexión, es posible que necesite tanto tiempo.
En la sección «openSSH», -A
Opciones de comando (adicionales) -I
(insertar). Este comando inserta una nueva regla de firewall en. Arriba De la lista de reglas de firewall.Si te vas -A
Opción, es agregar Lista de reglas de firewall y bajo..
El tráfico entrante se prueba de arriba a abajo para cada regla de firewall de la lista. Ya existe una regla para cerrar el puerto 22. Por lo tanto, si el tráfico entrante se prueba con esa regla antes de que se muestre la regla que permite el tráfico, se denegará la conexión. La primera vez que verifica esta nueva regla, se permite la conexión.
El comando cerrar elimina las reglas agregadas por openSSH de las reglas del firewall. El tráfico SSH será procesado nuevamente por la regla existente de «puerto 22 cerrado».
Después de realizar estas ediciones, guarde el archivo de configuración.
Relación: Cómo editar un archivo de texto gráficamente usando gedit en Linux
Editar un archivo de control golpeado
El· knockd
El archivo de control es completamente simple. Sin embargo, antes de poder editarlo y editarlo, debe conocer el nombre interno de la conexión de red. Para encontrarlo, ingrese el siguiente comando:
ip addr
La conexión que utiliza esta máquina para estudiar este artículo es enp0s3
.. Anote el nombre de la conexión.
El siguiente comando knockd
Archivo de control:
sudo gedit /etc/default/knockd
Este es knockd
Al archivo gedit
..
Algunas ediciones que deben realizarse están resaltadas en rojo.
Se cambió la entrada «START_KNOCKD =» de 0 a 1.
También borré el hash #
Desde el comienzo de la entrada «KNOCKD_OPTS =», reemplace «eth1» con el nombre de su conexión de red, enp0s3
..Por supuesto, la conexión de red eth1
, No cambies.
La evidencia está en el pudín
Es hora de ver si funciona.comienzo knockd
Daemon usando este comando:
sudo systemctrl start knockd
Luego salte a otra máquina e intente conectarse.Instalado knockd
Las herramientas en esa computadora tampoco lo son porque quieran configurar la activación de puertos. knockd
El paquete proporciona otra herramienta llamada knock
.. Utilice esta máquina para disparar y golpear en una secuencia secreta.
Utilice el siguiente comando para enviar una secuencia secreta de solicitudes de conexión al puerto en la computadora host que golpea el puerto con la dirección IP 192.168.4.24.
knock 192.168.4.24 7000 8000 9000 -d 500
Es esto knock
Apunte a la computadora con la dirección IP 192.168.4.24 y realice solicitudes de conexión a los puertos 7000, 8000 y 9000 en secuencia. -d
(Retraso) 500 ms entre ellos.
Luego, un usuario llamado «dave» envía una solicitud SSH a 192.168.4.24.
ssh dave@192.168.4.24
Una vez que se acepta la conexión e ingresa la contraseña, se iniciará la sesión remota.Su símbolo del sistema dave@nostromo
Para dave@howtogeek
.. Para cerrar sesión en la computadora remota, escriba:
exit
Su símbolo del sistema regresa a la computadora local.Él usa knock
Una vez más, esta vez apunte a los puertos en orden inverso y cierre el puerto SSH en la computadora remota.
knock 192.168.4.24 9000 8000 7000 -d 500
Claro, esta no fue una sesión remota particularmente útil, pero muestra que el puerto golpea y cierra el puerto y cabe en una captura de pantalla.
Entonces, ¿cómo se ve esto desde el otro lado? El administrador del sistema para el host de golpe de puerto utiliza el siguiente comando para ver las nuevas entradas que llegan al registro del sistema.
tail -f /var/log/syslog
- Verá tres entradas openSSH. Estos ocurren cuando cada puerto se convierte en el objetivo de la utilidad de golpe remoto.
- Cuando se cumplen las tres etapas de la secuencia de activación,Ábrete Sésamo,Está registrado
- Comando para insertar una regla en
iptables
Se enviará la lista de reglas. Permita el acceso a través de SSH en el puerto 22 desde una dirección IP específica en la PC que dio el golpe secreto correcto (192.168.4.23). - El usuario «dave» se conecta durante unos segundos y luego se desconecta.
- Verá tres entradas closeSSH. Estos ocurren cuando cada puerto se convierte en el objetivo de la utilidad de golpe remoto. Esto le dice al host de golpe de puerto que cierre el puerto 22.
- Cuando se activan las tres etapas, vuelve a aparecer el mensaje «ABRIR SÉSAMO». Se envía un comando al firewall para eliminar la regla. (¿Por qué no usas «CERRAR SÉSAMO» al cerrar un puerto? ¿Quién sabe?)
Ahora la única regla iptables
La lista de reglas para el puerto 22 es la primera que ingresó para cerrar ese puerto. Por tanto, el puerto 22 se vuelve a cerrar.
Golpe en la cabeza
Ese es el truco de la sala de golpeo en el puerto. Trátelo como una distracción y no lo haga en el mundo real. O, si lo necesita, no confíe en él como la única forma de seguridad.