Introduction
Este documento descreve o modelo de segurança por trás da criptografia de senha da Cisco e as limitações de segurança dessa criptografia.
Background
Uma origem que não é da Cisco lançou um programa para decodificar senhas de usuário (e outras senhas) em arquivos de configuração da Cisco. O programa não descriptografa senhas definidas com o comando enable secret
comando. A preocupação inesperada que o programa causou entre os usuários da Cisco levou à suspeita de que muitos usuários confiam na criptografia de senha da Cisco para obter mais segurança do que a projetada para oferecer.
Observação: a Cisco recomenda que todos os dispositivos Cisco IOS® implementem o modelo de segurança de autenticação, autorização e contabilização (AAA). AAA pode utilizar bancos de dados local, RADIUS e TACACS+.
Prerequisites
Requirements
Não existem requisitos específicos para este documento.
Componentes Utilizados
Este documento não se restringe a versões de software e hardware específicas.
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. Se a rede estiver ativa, certifique-se de que você entenda o impacto potencial de qualquer comando.
Conventions
For more information on document conventions, refer to the Cisco Technical Tips Conventions.
Senhas de usuário
Senhas de usuário e a maioria das outras senhas (não enable secret
s) nos arquivos de configuração do Cisco IOS, são criptografados com um esquema que é muito fraco pelos padrões criptográficos modernos.
Embora a Cisco não distribua um programa de descriptografia, pelo menos dois programas de descriptografia diferentes para senhas do Cisco IOS estão disponíveis para o público na Internet; a primeira versão pública de tal programa que a Cisco conhece foi no início de 1995. Esperamos que qualquer criptógrafo amador seja capaz de criar um novo programa com pouco esforço.
O esquema usado pelo Cisco IOS para senhas de usuário nunca foi projetado para resistir a um determinado ataque inteligente. O esquema de criptografia foi criado para evitar o roubo de senhas por simples espionagem ou farejamento. Ele nunca foi projetado para proteger contra alguém que realiza um esforço de decifração de senha no arquivo de configuração.
Devido ao algoritmo de criptografia fraco, sempre foi a posição da Cisco que os usuários tratam qualquer arquivo de configuração que contenha senhas como informações confidenciais, da mesma forma que tratariam uma lista de senhas em texto claro.
Os Comandos enable secret e enable password
O enable password
não é mais recomendável usar o comando. Use o enable secret
para melhor segurança. O único caso em que a enable password
pode ser testado é quando o dispositivo está em um modo de inicialização que não suporta o comando enable secret
comando.
Os segredos de ativação são divididos em hash com o algoritmo MD5. Até onde se sabe na Cisco, é impossível recuperar um comando enable secret com base no conteúdo de um arquivo de configuração (além obviamente dos ataques de dicionários).
Observação: isso se aplica somente a senhas definidas com enable secret
, e não a senhas definidas com enable password
. De fato, a força da criptografia usada é a única diferença significativa entre os dois comandos.
Quais suportes de imagem do Cisco IOS permitem segredo?
Examine sua imagem de inicialização com o comando show version
no modo operacional normal (imagem completa do Cisco IOS) para ver se a imagem de inicialização suporta o comando enable secret
comando. Se isso acontecer, remova a enable password
. Se a imagem de inicialização não suportar enable secret
, observe estas advertências:
-
O uso de uma senha de ativação pode ser desnecessário se você tiver segurança física para que ninguém possa recarregar o dispositivo para a imagem de inicialização.
-
Se alguém tiver acesso físico ao dispositivo, poderá subverter facilmente a segurança do dispositivo sem precisar acessar a imagem de inicialização.
-
Se você definir o enable password
para o mesmo que o enable secret
, você fez o enable secret
propenso a ataques como o enable password
.
-
Se você definir enable password
a um valor diferente porque a imagem de inicialização não oferece suporte enable secret
, os administradores do roteador devem lembrar-se de uma nova senha que é usada com pouca frequência em ROMs que não suportam a enable secret
comando. Com uma senha de ativação separada, os administradores precisam lembrar a senha quando forçam um tempo de inatividade para uma atualização de software, que é o único motivo para fazer login no modo de inicialização.
Outras senhas
Quase todas as senhas e outras cadeias de caracteres de autenticação nos arquivos de configuração do Cisco IOS são criptografadas com o esquema fraco e reversível usado para as senhas de usuário.
Para determinar qual esquema foi usado para criptografar uma senha específica, verifique o dígito antes da cadeia de caracteres criptografada no arquivo de configuração. Se esse dígito for 7, a senha foi criptografada com o algoritmo fraco. Se o dígito for 5, a senha foi misturada com o algoritmo MD5 mais forte.
Por exemplo, no comando de configuração:"
enable secret 5 $1$iUjJ$cDZ03KKGh7mHfX2RSbDqP.
O segredo habilitado recebeu o código hash MD5, enquanto no comando:
username jdoe password 7 07362E590E1B1C041B1E124C0A2F2E206832752E1A01134D
A senha foi criptografada com o algoritmo reversível fraco.
Arquivos de configuração
Quando você envia informações de configuração em e-mail, limpe a configuração das senhas tipo 7. Você pode usar o comando show tech-support
que limpa as informações por padrão. Amostra show tech-support
a saída do comando é exibida aqui:
...
hostname routerA
!
aaa new-model
aaa authentication login default local
aaa authentication ppp default if-needed local
enable secret 5
!
username jdoe password 7
username headquarters password 7
username hacker password 7
...
Quando você salva os arquivos de configuração em um servidor TFTP, altere os privilégios desse arquivo quando ele não estiver em uso ou coloque-o atrás de um firewall.
O algoritmo pode ser alterado?
A Cisco não tem planos imediatos para suportar um algoritmo de criptografia mais forte para as senhas de usuário do Cisco IOS. Se a Cisco decidir introduzir esse recurso no futuro, ele definitivamente impõe uma carga administrativa adicional aos usuários que escolherem aproveitá-lo.
Não é possível, no caso geral, trocar as senhas de usuário para o algoritmo baseado em MD5 usado para habilitar segredos, porque o MD5 é um hash unidirecional e a senha não pode ser recuperada dos dados criptografados. Para suportar certos protocolos de autenticação (nomeadamente o CHAP), o sistema precisa de acesso ao texto claro das senhas dos usuários e, portanto, deve armazená-las com um algoritmo reversível.
Problemas de gerenciamento de chaves tornariam uma tarefa não trivial mudar para um algoritmo reversível mais forte, como o Data Encryption Standard (DES). Embora fosse fácil modificar o Cisco IOS para usar o DES para criptografar senhas, não haveria nenhuma vantagem de segurança nessa abordagem, se todos os sistemas Cisco IOS usassem a mesma chave DES. Se fossem usadas chaves diferentes por sistemas diferentes, seria introduzida uma sobrecarga administrativa para todos os administradores de rede Cisco IOS e a portabilidade dos arquivos de configuração entre os sistemas seria danificada. A demanda do usuário por uma criptografia de senha reversível mais forte foi pequena.
Informações Relacionadas