Tengo una pequeña red de servidores y me gustaría aumentar la seguridad general. No tengo suficiente tiempo / dinero / paranoia para configurar una VPN: ¿cuál es una forma básica de aumentar la seguridad de mi sistema?
Una cosa podría ser exigir que los usuarios envíen su clave e ingresen una contraseña. Esto es un poco difícil de google porque todo sobre "contraseña de clave ssh" se trata de sshing sin contraseña. :-)
Un esquema con el que siempre he querido jugar es exigir que las conexiones entrantes solo provengan de una lista blanca de direcciones IP de dyndns. Sé que algunos jefes de seguridad vomitarían al pensar en la idea, pero el hecho es que agregaría una complejidad muy significativa para explotar una caja.
¿Qué piensas? ¿Qué más hay?
Respuestas:
El inicio de sesión con contraseña y clave es el mismo que "solo con clave". Durante la creación de la clave, se le solicita que ingrese la frase de contraseña. Si lo deja en blanco, no se le pedirá una contraseña. Si completa alguna frase de contraseña, se le solicitará cada vez que desee iniciar sesión.
Si le preocupa la seguridad, considere algunos de estos consejos mencionados trillones de veces en este foro:
Etcétera etcétera.
Actualización: Consulte la respuesta aquí para saber cómo solicitar una clave pública y una contraseña del sistema local con un servidor OpenSSH.
fuente
Una idea que encontré interesante es el bloqueo de puertos : básicamente, para establecer la conexión ssh, primero debe probar una secuencia de otros puertos, antes de que el servidor ssh reconozca una solicitud de conexión. Si no se utiliza la secuencia correcta de puertos, no hay respuesta, por lo que parece que no hay ningún servidor ssh en ejecución. La secuencia de puertos es personalizable y se puede compartir con los usuarios previstos; todos los demás serían efectivamente incapaces de conectarse.
No lo he intentado yo mismo, pero por lo que he escuchado (que en realidad no es mucho) la sobrecarga es insignificante y disminuye enormemente su perfil de visibilidad.
fuente
Parches relacionados con habilitar directamente en SSH y mucha discusión relevante:
Esto también se puede hacer sin modificación al tener un script de verificación de contraseña combinado con el uso de la
ForceCommand
opción de configuración.Finalmente, aunque no existe ningún módulo para ello, si movió la autenticación de clave pública a PAM, entonces podría requerir que se pasen ambos pasos antes de que PAM considere que la autenticación fue exitosa.
fuente
Solo usa
en
sshd_config
si está utilizando sshd de ssh.com. Esta característica no está disponible en OpenSSH.fuente
RequiredAuthentications
definitivamente no es una extensión estándar de OpenSSHTambién puede usar contraseñas de un solo uso para aumentar la seguridad. Esto permitiría a los usuarios iniciar sesión desde una terminal insegura, que puede tener un keylogger, si previamente generaron la siguiente contraseña. También hay generadores de contraseñas que se pueden instalar incluso en teléfonos Java MIDP más antiguos, que lleva consigo todo el tiempo.
fuente
Le recomendaría que nunca ejecute un sshd, rdp o tales servicios de administración sin restricción de IP. De hecho, sugeriría limitar el acceso a dichos servicios a los administradores que se conectan a través de VPN.
fuente
Con respecto a su pregunta original sobre la necesidad de una clave y una contraseña, si está ejecutando RHEL o CentOS 6.3, esto ahora es posible. Las notas de la versión RHEL 6.3 lo describen, es cuestión de agregar esto a su sshd_config
fuente
Estoy totalmente de acuerdo con 3molo. OpenSSH es el servidor SSH predeterminado de Linux y Unix. No hay razón para que lo cambiemos, especialmente por seguridad. VPN debería ser la mejor solución, que puede encriptar nuestro tráfico y proporcionar la autorización de contraseña de 2 pasos.
fuente
No estoy seguro de por qué nadie lo ha mencionado, pero debe asegurarse de generar las claves durante más tiempo que los 1024 bits predeterminados que ya no se consideran seguros.
fuente