Estoy configurando un enrutador Cisco 2901. Tengo una contraseña de inicio de sesión en la línea de la consola, y las líneas vty están configuradas para aceptar solo conexiones ssh con autenticación de clave pública. La línea auxiliar está cerrada. Solo hay dos administradores que accederán al enrutador y ambos estamos autorizados a realizar cualquier configuración en el enrutador.
No soy un experto en equipos Cisco, pero considero que esto es adecuado para asegurar el acceso a la configuración del enrutador. Sin embargo, en cada guía que he leído, debo establecer un secreto de habilitación, independientemente de cualquier otra contraseña de usuario o línea.
¿Hay algo más en la contraseña de habilitación que no sepa? ¿Hay alguna otra forma de acceder al enrutador que no sean las líneas de consola, auxiliar o vty?
EDITAR:
He agregado la configuración real a continuación para ser más claro sobre mi situación. Lo siguiente funciona, al requerir una contraseña de habilitación, o una username
configuración aparte de la que está dentro ip ssh pubkey-chain
.
aaa new-model
ip ssh time-out 60
ip ssh authentication-retries 2
ip ssh version 2
ip ssh pubkey-chain
username tech
key-hash ssh-rsa [HASH]
ip scp server enable
line vty 0 4
transport input ssh
Respuestas:
No, no lo haces, técnicamente. Pero si puede ingresar al modo de habilitación sin uno depende de cómo inicie sesión.
Aquí está la versión de gratificación instantánea:
Puede ingresar a través de la consola sin una contraseña de habilitación, pero se quedará atascado en el modo de usuario si usa una contraseña de inicio de sesión vty simple sin un conjunto de contraseña de habilitación.
Aquí está la versión ansiosa de StackExchange:
La autenticación de Cisco es un desastre para un principiante. Hay mucho equipaje heredado allí. Permítanme tratar de analizar esto en un sentido del mundo real.
Todos los que tienen un inicio de sesión empresarial en un enrutador o conmutador van directamente al modo privilegiado (habilitar). El modo de usuario es básicamente un lobby frontal, y tiene poco más propósito que mantener el borrador fuera. En las grandes organizaciones donde tiene grandes redes y grupos de trabajo igualmente vastos, puede ser justificable tener a alguien que pueda llamar a la puerta principal y asegurarse de que alguien todavía esté allí. (Es decir, iniciar sesión y ejecutar los comandos más triviales solo para ver que el dispositivo, de hecho, responde y no está en llamas). Pero en todos los entornos en los que he trabajado, el nivel 1 tenía al menos alguna capacidad para romper cosas.
Como tal, y particularmente en un escenario como el suyo, conocer la contraseña de habilitación es obligatorio para hacer cualquier cosa. Se podría decir que este es un segundo nivel de seguridad: una contraseña para ingresar al dispositivo, otra para escalar a privilegios administrativos, pero eso me parece un poco tonto.
Como ya se señaló, puede (y muchas personas lo hacen) usar la misma contraseña, lo que no ayuda mucho si alguien ha obtenido acceso no autorizado a través de telnet / ssh. Tener contraseñas estáticas y globales compartidas por todos es posiblemente más problemático que tener solo un token requerido para ingresar. Finalmente, la mayoría de los otros sistemas (servicios, dispositivos, etc.) no requieren una segunda capa de autenticación, y generalmente no se consideran inseguros debido a esto.
OK, esa es mi opinión sobre el tema. Tendrá que decidir por sí mismo si tiene sentido a la luz de su propia postura de seguridad. Vamos a ir al grano.
Cisco (sabiamente) requiere que establezca una contraseña de acceso remoto de forma predeterminada. Cuando ingresa al modo de configuración de línea ...
... puede decirle al enrutador que omita la autenticación:
... y rápidamente hackeado, pero su atacante terminará en modo de usuario. Entonces, si tiene configurada una contraseña de habilitación, al menos tiene algo limitado el daño que se puede hacer. (Técnicamente, tampoco puedes seguir adelante sin una contraseña de habilitación. Más sobre eso en un momento ...)
Naturalmente, nadie haría esto en la vida real. Su requisito mínimo, por defecto y por sentido común, es establecer una contraseña simple:
Ahora, se le pedirá una contraseña y volverá a terminar en modo de usuario. Si
enable
ingresa a través de la consola, puede escribir para obtener acceso sin tener que ingresar otra contraseña. Pero las cosas son diferentes a través de telnet, donde probablemente obtendrá esto en su lugar:Continuando ... Probablemente ya sepa que, por defecto, todas sus contraseñas configuradas se muestran como texto sin formato:
Esta es una de esas cosas que tensa el esfínter de los conscientes de la seguridad. Si se trata de ansiedad justificada, es algo que debe decidir usted mismo. Por un lado, si tiene acceso suficiente para ver la configuración, probablemente tenga acceso suficiente para cambiar la configuración. Por otro lado, si por casualidad le has revelado tu configuración a alguien que no tiene los medios, entonces ... bueno, ahora sí tienen los medios.
Afortunadamente, esa primera línea en el fragmento de arriba
no service password-encryption
es la clave para cambiar eso:Ahora, cuando miras la configuración, ves esto:
Esto es marginalmente mejor que las contraseñas de texto sin formato, porque la cadena que se muestra no es lo suficientemente memorable como para navegar por los hombros. Sin embargo, es trivial descifrar, y uso ese término libremente aquí. Literalmente, puede pegar esa cadena arriba en una de una docena de crackers de contraseñas de JavaScript en la primera página de resultados de Google, y recuperar el texto original de inmediato.
Estas llamadas contraseñas "7" se consideran comúnmente "ofuscadas" en lugar de "cifradas" para resaltar el hecho de que es apenas mejor que nada.
Sin embargo, resulta que todos esos
password
comandos están en desuso. (O si no lo son, deberían serlo). Es por eso que tiene las siguientes dos opciones:La versión secreta está codificada con un algoritmo unidireccional, lo que significa que la única forma de recuperar el texto original es mediante fuerza bruta, es decir, probando todas las cadenas de entrada posibles hasta que genere el hash conocido.
Cuando ingresa la contraseña cuando se le solicita, pasa por el mismo algoritmo de hash y, por lo tanto, debe terminar generando el mismo hash, que luego se compara con el del archivo de configuración. Si coinciden, se acepta su contraseña. De esa forma, el enrutador no conoce el texto sin formato, excepto durante el breve momento en que crea o ingresa la contraseña. Nota: Siempre existe la posibilidad de que alguna otra entrada pueda generar el mismo hash, pero estadísticamente es una probabilidad muy baja (léase: insignificante).
Si tuviera que usar la configuración anterior usted mismo, el enrutador permitirá que existan las líneas
enable password
yenable secret
, pero el secreto se obtiene de la solicitud de contraseña. Este es uno de esos ismos de Cisco que no tiene mucho sentido, pero es así. Además, no haysecret
un comando equivalente desde el modo de configuración de línea, por lo que está atascado con contraseñas ofuscadas allí.Bien, ahora tenemos una contraseña que no se puede recuperar (fácilmente) del archivo de configuración, pero todavía hay un problema. Se transmite en texto sin formato cuando inicia sesión a través de telnet. No es bueno. Queremos SSH.
SSH, diseñado con una seguridad más sólida en mente, requiere un poco de trabajo extra, y una imagen IOS con un cierto conjunto de características. Una gran diferencia es que una contraseña simple ya no es lo suficientemente buena. Necesita graduarse para la autenticación basada en el usuario. Y mientras lo hace, configure un par de claves de cifrado:
¡Ahora estás cocinando con gas! Observe que este comando usa
secret
contraseñas. (Sí, puedes, pero no deberías, usarpassword
). Laprivilege 15
parte le permite omitir el modo de usuario por completo. Cuando inicia sesión, pasa directamente al modo privilegiado:En este escenario, no es necesario usar una contraseña de habilitación (o secreto).
Si aún no está pensando, "wow ... qué confusión fue eso ", tenga en cuenta que hay otra publicación de largo aliento todavía al acecho detrás del comando
aaa new-model
, donde puede sumergirse en cosas como servidores de autenticación externos (RADIUS , TACACS +, LDAP, etc.), listas de autenticación (que definen las fuentes a utilizar y en qué orden), niveles de autorización y contabilidad de actividad del usuario.Guarde todo eso por un tiempo en que tenga ganas de quedar fuera de su enrutador por un tiempo.
¡Espero que ayude!
fuente
enable
y funciona. Además, tener un nombre de usuario con privilegio 15 todavía requiere que escriba enable. ¿Esto se debe a un nuevo modelo?Sí, debes configurarlo en algo. Así es como funciona el IOS. Puede hacerlo igual que su contraseña de inicio de sesión, si lo desea.
Para múltiples usuarios, le recomiendo que configure la autenticación AAA, que le permitirá pasar directamente al modo de activación sin tener que ingresar otra contraseña. También le permitirá realizar un seguimiento de la actividad de los administradores individuales. (Pero aún necesita establecer la contraseña secreta de habilitación en algo).
fuente
aaa authorization exec default local
para ingresar exec privilegiado automáticamente.Para agregar a la información existente aquí.
enable
La primera opción para configurar la
enable
contraseña esenable password
.Como puede ver, la contraseña se almacena en texto sin formato. Esto es mala .
El segundo es
enable secret
.Esto es mejor . Al menos tenemos un hash de la contraseña ahora. Sin embargo, esto solo usa MD5 salado, por lo que es razonablemente fácil de descifrar con una gran lista de palabras y openssl.
La tercera opción (y el propósito de esta respuesta) es la
enable algorithm-type
que nos permite usar PBKDF2 o SCRYPT.Esto es definitivamente lo mejor .
Philip D'Ath ha escrito un buen resumen sobre por qué elegir el tipo 9. Thomas Pornin e Ilmari Karonen proporcionan información más detallada.
fuente
Básicamente es una capa extra de seguridad. Si no tiene una versión de IOS que admita el cifrado de contraseña de servicio, solo habilite las contraseñas cifradas mientras que las contraseñas de consola y VTY son texto sin formato. Si alguien pudiera obtener una copia de su configuración (por ejemplo, desde una copia de seguridad o una computadora desatendida que se conectó por telnet), la contraseña de habilitación cifrada dificultaría el control de su enrutador, incluso si pueden telnet.
Incluso con VTY cifrado y contraseñas de consola, aún debe tener una contraseña de habilitación diferente para estar seguro y proporcionar una barrera adicional.
fuente
Cierre 1 de los 2 usuarios administradores. Francisco tiene una gran cantidad de cualquier, cualquier, cualquier tipo de punto de entrada para hackear a través de Connect. Con dos administradores. Conectado, Cisco creerá que un intruso también está conectado y bloqueará el progreso sin un inicio de sesión adecuado. Una vez que se restablezca el control, debería poder agregar
fuente