Este documento fornece uma configuração de exemplo do Secure Shell (SSH) nas interfaces internas e externas da versão 7.x, e mais recente, do Cisco Series Security Appliance. A configuração do Series Security Appliance remotamente com a linha de comando envolve o uso de Telnet ou SSH. Como as comunicações Telnet são enviadas em texto claro, que inclui senhas, o SSH é altamente recomendado. O tráfego SSH é criptografado em um túnel e, dessa forma, ajuda a proteger as senhas e outros comandos de configuração contra interceptação.
O Security Appliance permite conexões SSH com o Security Appliance para fins de gerenciamento. O Security Appliance permite um máximo de cinco conexões SSH simultâneas para cada contexto de segurança, se disponível, e um máximo global de 100 conexões para todos os contextos combinados.
Neste exemplo de configuração, o PIX Security Appliance é considerado o servidor SSH. O tráfego dos clientes SSH (10.1.1.2/24 e 172.16.1.1/16) para o servidor SSH é criptografado. O Security Appliance oferece suporte à funcionalidade de shell remoto SSH fornecida nas versões 1 e 2 do SSH e oferece suporte às cifras DES (Data Encryption Standard) e 3DES. As versões 1 e 2 do SSH são diferentes e não são interoperáveis.
Não existem requisitos específicos para este documento.
As informações neste documento são baseadas no Cisco PIX Firewall Software versão 7.1 e 8.0.
As informações neste documento foram criadas a partir de dispositivos em um ambiente de laboratório específico. Todos os dispositivos utilizados neste documento foram iniciados com uma configuração (padrão) inicial. Se a sua rede estiver ativa, certifique-se de que entende o impacto potencial de qualquer comando.
Observação: o SSHv2 é suportado no PIX/ASA versão 7.x e posterior e não é suportado nas versões anteriores à 7.x.
Essa configuração também pode ser usada com o Cisco ASA 5500 Series Security Appliance com versões de software 7.x e posteriores.
Consulte as Convenções de Dicas Técnicas da Cisco para obter mais informações sobre convenções de documentos.
Nesta seção, você encontrará informações para configurar os recursos descritos neste documento.
Observação: cada etapa de configuração é apresentada com as informações necessárias para usar a linha de comando ou o Adaptive Security Device Manager (ASDM).
Nota:Use a Command Lookup Tool (somente clientes registrados) para obter mais informações sobre os comandos usados nesta seção.
Este documento utiliza a seguinte configuração de rede:
Este documento utiliza as seguintes configurações:
Conclua estas etapas para configurar o acesso SSH ao Security Appliance:
As sessões SSH sempre exigem um nome de usuário e senha para autenticação. Há duas maneiras de atender a esse requisito.
Configure um nome de usuário e uma senha e use AAA:
Sintaxe:
pix(config)#username username password password pix(config)#aaa authentication {telnet | ssh | http | serial} console {LOCAL | server_group [LOCAL]}
Nota:Se você usa um grupo de servidores TACACS+ ou RADIUS para a autenticação, é possível configurar o Security Appliance para usar o banco de dados local como método de fallback quando o servidor AAA não está disponível. Especifique o nome do grupo de servidores e LOCAL (LOCAL diferencia maiúsculas de minúsculas). Recomendamos que você use o mesmo nome de usuário e senha no banco de dados local que o servidor AAA, pois o prompt do Security Appliance não fornece nenhuma indicação de qual método é usado.
Observação: Exemplo:
pix(config)#aaa authentication ssh console TACACS+ LOCAL
Observação: Como alternativa, você pode usar o banco de dados local como o principal método de autenticação sem fallback. Para fazer isso, insira LOCAL sozinho.
Exemplo:
pix(config)#aaa authentication ssh console LOCAL
OU
Use o nome de usuário padrão de pix e a senha Telnet padrão de cisco. Você pode alterar a senha do Telnet com este comando:
pix(config)#passwd password
Observação: o comando password também pode ser usado nessa situação. Ambos os comandos fazem a mesma coisa.
Gere um par de chaves RSA para o PIX Firewall, que é necessário para o SSH:
pix(config)#crypto key generate rsa modulus modulus_size
Observação: O modulus_size (em bits) pode ser 512, 768, 1024 ou 2048. Quanto maior o tamanho do módulo de chave especificado, maior será o tempo necessário para gerar o par de chaves RSA. O valor de 1024 é recomendado.
Observação: o comando usado para gerar um par de chaves RSA é diferente nas versões do software PIX anteriores à 7.x. Em versões anteriores, um nome de domínio deve ser definido antes que você possa criar chaves.
Observação: no modo de contexto múltiplo, você deve gerar as chaves RSA para cada contexto. Além disso, comandos de criptografia não são suportados no modo de contexto do sistema.
Especifique os hosts que podem se conectar ao Security Appliance.
Esse comando especifica o endereço de origem, a máscara de rede e a interface do(s) host(s) que podem se conectar com o SSH. Ele pode ser inserido várias vezes para vários hosts, redes ou interfaces. Neste exemplo, um host no interior e um host no exterior são permitidos.
pix(config)#ssh 172.16.1.1 255.255.255.255 inside pix(config)#ssh 10.1.1.2 255.255.255.255 outside
Opcional: Por padrão, o Security Appliance permite o SSH versão 1 e versão 2. Insira este comando para restringir conexões a uma versão específica:
pix(config)# ssh version
Observação: o version_number pode ser 1 ou 2.
Opcional: Por padrão, as sessões SSH são fechadas após cinco minutos de inatividade. Esse tempo limite pode ser configurado para durar entre 1 e 60 minutos.
pix(config)#ssh timeout minutes
Forneça o nome de usuário e a senha de login do PIX 500 Series Security Appliance enquanto abre a sessão SSH. Quando você inicia uma sessão SSH, um ponto (.) é exibido no console do Security Appliance antes que o prompt de autenticação de usuário SSH seja exibido:
hostname(config)# .
A exibição do ponto não afeta a funcionalidade do SSH. O ponto aparece no console quando uma chave do servidor é gerada ou uma mensagem é descriptografada com chaves privadas durante a troca de chave SSH antes que a autenticação do usuário ocorra. Essas tarefas podem levar até dois minutos ou mais. O ponto é um indicador de progresso que verifica se o Security Appliance está ocupado e não travou.
As versões 1.x e 2 do SSH são protocolos totalmente diferentes e não são compatíveis. Baixar um cliente compatível. Consulte a seção Obter um cliente SSH de Configurações avançadas para obter mais informações.
Este documento utiliza esta configuração:
Configuração de PIX |
---|
PIX Version 7.1(1) ! hostname pix enable password 8Ry2YjIyt7RRXU24 encrypted names ! interface Ethernet0 nameif outside security-level 0 ip address 192.168.200.1 255.255.255.0 ! interface Ethernet1 nameif inside security-level 100 ip address 172.16.5.10 255.255.0.0 ! passwd 2KFQnbNIdI.2KYOU encrypted ftp mode passive pager lines 24 mtu outside 1500 mtu inside 1500 no failover icmp permit any outside no asdm history enable arp timeout 14400 route outside 10.1.1.0 255.255.255.0 192.168.200.1 1 timeout xlate 3:00:00 timeout conn 1:00:00 half-closed 0:10:00 udp 0:02:00 icmp 0:00:02 timeout sunrpc 0:10:00 h323 0:05:00 h225 1:00:00 mgcp 0:05:00 timeout mgcp-pat 0:05:00 sip 0:30:00 sip_media 0:02:00 timeout uauth 0:05:00 absolute !--- AAA for the SSH configuration username ciscouser password 3USUcOPFUiMCO4Jk encrypted aaa authentication ssh console LOCAL http server enable http 172.16.0.0 255.255.0.0 inside no snmp-server location no snmp-server contact snmp-server enable traps snmp authentication linkup linkdown coldstar telnet timeout 5 !--- Enter this command for each address or subnet !--- to identify the IP addresses from which !--- the security appliance accepts connections. !--- The security appliance accepts SSH connections from all interfaces. ssh 10.1.1.2 255.255.255.255 outside !--- Allows the users on the host 172.161.1.1 !--- to access the security appliance !--- on the inside interface. ssh 172.16.1.1 255.255.255.255 inside !--- Sets the duration from 1 to 60 minutes !--- (default 5 minutes) that the SSH session can be idle, !--- before the security appliance disconnects the session. ssh timeout 60 console timeout 0 ! class-map inspection_default match default-inspection-traffic ! ! policy-map global_policy class inspection_default inspect dns maximum-length 512 inspect ftp inspect h323 h225 inspect h323 ras inspect netbios inspect rsh inspect rtsp inspect skinny inspect esmtp inspect sqlnet inspect sunrpc inspect tftp inspect sip inspect xdmcp ! service-policy global_policy global Cryptochecksum:a6b05fd04f9fbd0a39f1ca7328de91f7 : end |
Observação: Para acessar a interface de gerenciamento do ASA/PIX usando o SSH, emita este comando: ssh 172.16.16.160 255.255.255.255 Management
Conclua estas etapas para configurar o dispositivo para SSH usando ASDM:
Escolha Configuration > Properties > Device Administration > User Accounts para adicionar um usuário com o ASDM.
Escolha Configuration > Properties > Device Access > AAA Access > Authentication para configurar a autenticação AAA para SSH com ASDM.
Escolha Configuration > Properties > Device Administration > Password para alterar a senha do Telnet com o ASDM.
Escolha Configuration > Properties > Certificate > Key Pair, clique em Add e use as opções padrão apresentadas para gerar as mesmas chaves RSA com o ASDM.
Escolha Configuration > Properties > Device Access > Secure Shell para usar o ASDM para especificar os hosts com permissão para se conectar ao SSH e para especificar as opções de versão e tempo limite.
Clique em File > Save Running Configuration to Flash para salvar a configuração.
Conclua estes passos:
Escolha Configuration > Device Management > Users/AAA > User Accounts para adicionar um usuário com o ASDM.
Escolha Configuration > Device Management > Users/AAA > AAA Access > Authentication para configurar a autenticação AAA para SSH com ASDM.
Escolha Configuration > Device Setup > Device Name/Password para alterar a senha do Telnet com o ASDM.
Escolha Configuration > Device Management > Certificate Management > Identity Certificates, clique em Add e use as opções padrão apresentadas para gerar as mesmas chaves RSA com o ASDM.
Em Add a new Identity certificate, clique em New para adicionar um par de chaves padrão, caso não exista. Em seguida, clique em Gerar agora.
Escolha Configuration > Device Management > Management Access > Command Line (CLI) > Secure Shell (SSH) para usar o ASDM para especificar os hosts que podem se conectar ao SSH e para especificar as opções de versão e tempo limite.
Clique em Save na parte superior da janela para salvar a configuração.
Quando solicitado a salvar a configuração na memória flash, escolha Apply para salvar a configuração.
Para adicionar acesso Telnet ao console e definir o timeout de ociosidade, execute o comando telnet no modo de configuração global. Por padrão, as sessões Telnet que ficam ociosas por cinco minutos são fechadas pelo Security Appliance. Para remover o acesso Telnet de um endereço IP previamente definido, use a forma no desse comando.
telnet {{hostname | IP_address mask interface_name} | {IPv6_address interface_name} | {timeout number}} no telnet {{hostname | IP_address mask interface_name} | {IPv6_address interface_name} | {timeout number}}
O comando telnet permite especificar quais hosts podem acessar o console do Security Appliance com Telnet.
Observação: você pode ativar Telnet para o Security Appliance em todas as interfaces. No entanto, o Security Appliance impõe que todo o tráfego Telnet para a interface externa seja protegido por IPsec. Para habilitar uma sessão Telnet para a interface externa, configure o IPsec na interface externa para incluir o tráfego IP gerado pelo Security Appliance e habilite o Telnet na interface externa.
Observação: Em geral, se alguma interface tiver um nível de segurança de 0 ou inferior a qualquer outra interface, o PIX/ASA não permitirá Telnet para essa interface.
Observação: não é recomendável acessar o Security Appliance por meio de uma sessão Telnet. As informações de credencial de autenticação, como senha, são enviadas como texto não criptografado. A comunicação entre o cliente e o servidor Telnet acontece apenas com o texto não criptografado. A Cisco recomenda usar SSH para uma comunicação de dados mais segura.
Se você digitar um endereço IP, também deverá digitar uma máscara de rede. Não há máscara de rede padrão. Não use a máscara de sub-rede da rede interna. A máscara de rede é apenas uma máscara de bits para o endereço IP. Para limitar o acesso a um único endereço IP, use 255 em cada octeto; por exemplo, 255.255.255.255.
Se o IPsec funcionar, você poderá especificar um nome de interface não seguro, que geralmente é a interface externa. No mínimo, você pode configurar o comando crypto map para especificar um nome de interface com o comando telnet.
Execute o comando password para definir uma senha para o acesso Telnet ao console. O padrão é cisco. Execute o comando who para ver quais endereços IP acessam atualmente o console do Security Appliance. Execute o comando kill para terminar uma sessão de console Telnet ativa.
Para habilitar uma sessão Telnet para a interface interna, revise estes exemplos:
Exemplo 1
Este exemplo permite que somente o host 10.1.1.1 obtenha acesso ao console do Security Appliance por meio de Telnet:
pix(config)#telnet 10.1.1.1 255.255.255.255 inside
Exemplo 2
Este exemplo permite que apenas a rede 10.0.0.0/8 obtenha acesso ao console do Security Appliance por meio de Telnet:
pix(config)#telnet 10.0.0.0 255.0.0.0 inside
Exemplo 3
Este exemplo permite que todas as redes obtenham acesso ao console do Security Appliance por meio de Telnet:
pix(config)#telnet 0.0.0.0 0.0.0.0 inside
Se você usar o comando aaa com a palavra-chave do console, o acesso ao console Telnet deverá ser autenticado com um servidor de autenticação.
Observação: se você tiver configurado o comando aaa para exigir autenticação para o acesso ao console Telnet do Security Appliance e a solicitação de login do console expirar, você poderá obter acesso ao Security Appliance no console serial. Para fazer isso, insira o nome de usuário do Security Appliance e a senha definida com o comando enable password.
Execute o comando telnet timeout para definir o tempo máximo que uma sessão Telnet do console pode ficar ociosa antes de ser desconectada pelo Security Appliance. Você não pode usar o comando no telnet com o comando telnet timeout.
Este exemplo mostra como alterar a duração máxima de inatividade da sessão:
hostname(config)#telnet timeout 10 hostname(config)#show running-config telnet timeout telnet timeout 10 minutes
Se você observar as funções RADIUS, poderá usar o RADIUS para a funcionalidade SSH.
Quando é feita uma tentativa de acessar o Security Appliance com Telnet, SSH, HTTP ou uma conexão de console serial e o tráfego corresponde a uma declaração de autenticação, o Security Appliance solicita um nome de usuário e uma senha. Em seguida, ele envia essas credenciais ao servidor RADIUS (ACS) e concede ou nega o acesso à CLI com base na resposta do servidor.
Consulte a seção Suporte a Servidor AAA e Banco de Dados Local de Configurando Servidores AAA e o Banco de Dados Local para obter mais informações.
Por exemplo, o ASA Security Appliance 7.0 precisa de um endereço IP do qual o Security Appliance aceite conexões, como:
hostname(config)#ssh source_IP_address mask source_interface
Consulte a seção Permitindo o Acesso SSH de Configurando Servidores AAA e o Banco de Dados Local para obter mais informações.
Consulte PIX/ASA: Exemplo de Configuração de Proxy Cut-Through para Acesso à Rede Usando Servidor TACACS+ e RADIUS para obter mais informações sobre como configurar o acesso SSH/Telnet ao PIX com autenticação ACS.
Use esta seção para confirmar se a sua configuração funciona corretamente.
A Output Interpreter Tool ( somente clientes registrados) (OIT) oferece suporte a determinados comandos show. Use o OIT para visualizar uma análise da saída do comando show.
Execute o comando debug ssh para ativar a depuração SSH.
pix(config)#debug ssh SSH debugging on
Esta saída mostra que a solicitação de autenticação do host 10.1.1.2 (fora do PIX) para "pix" foi bem-sucedida:
pix# Device ssh opened successfully. SSH0: SSH client: IP = '10.1.1.2' interface # = 1 SSH: host key initialised SSH0: starting SSH control process SSH0: Exchanging versions - SSH-1.99-Cisco-1.25 SSH0: send SSH message: outdata is NULL server version string:SSH-1.99-Cisco-1.25SSH0: receive SSH message: 83 (83) SSH0: client version is - SSH-1.99-3.2.0 SSH Secure Shell for Windows client version string:SSH-1.99-3.2.0 SSH Secure Shell for WindowsSSH0: begin ser ver key generation SSH0: complete server key generation, elapsed time = 1760 ms SSH2 0: SSH2_MSG_KEXINIT sent SSH2 0: SSH2_MSG_KEXINIT received SSH2: kex: client->server aes128-cbc hmac-md5 none SSH2: kex: server->client aes128-cbc hmac-md5 none SSH2 0: expecting SSH2_MSG_KEXDH_INIT SSH2 0: SSH2_MSG_KEXDH_INIT received SSH2 0: signature length 143 SSH2: kex_derive_keys complete SSH2 0: newkeys: mode 1 SSH2 0: SSH2_MSG_NEWKEYS sent SSH2 0: waiting for SSH2_MSG_NEWKEYS SSH2 0: newkeys: mode 0 SSH2 0: SSH2_MSG_NEWKEYS receivedSSH(pix): user authen method is 'no AAA', aaa server group ID = 0 SSH(pix): user authen method is 'no AAA', aaa server group ID = 0 SSH2 0: authentication successful for pix !--- Authentication for the PIX was successful. SSH2 0: channel open request SSH2 0: pty-req request SSH2 0: requested tty: vt100, height 25, width 80 SSH2 0: shell request SSH2 0: shell message received
Se um usuário fornecer um nome de usuário errado, por exemplo, "pix1" em vez de "pix", o PIX Firewall rejeitará a autenticação. Esta saída de depuração mostra a autenticação com falha:
pix# Device ssh opened successfully. SSH0: SSH client: IP = '10.1.1.2' interface # = 1 SSH: host key initialised SSH0: starting SSH control process SSH0: Exchanging versions - SSH-1.99-Cisco-1.25 SSH0: send SSH message: outdata is NULL server version string:SSH-1.99-Cisco-1.25SSH0: receive SSH message: 83 (83) SSH0: client version is - SSH-1.99-3.2.0 SSH Secure Shell for Windows client version string:SSH-1.99-3.2.0 SSH Secure Shell for WindowsSSH0: begin server key generation SSH0: complete server key generation, elapsed time = 1960 ms SSH2 0: SSH2_MSG_KEXINIT sent SSH2 0: SSH2_MSG_KEXINIT received SSH2: kex: client->server aes128-cbc hmac-md5 none SSH2: kex: server->client aes128-cbc hmac-md5 none SSH2 0: expecting SSH2_MSG_KEXDH_INIT SSH2 0: SSH2_MSG_KEXDH_INIT received SSH2 0: signature length 143 SSH2: kex_derive_keys complete SSH2 0: newkeys: mode 1 SSH2 0: SSH2_MSG_NEWKEYS sent SSH2 0: waiting for SSH2_MSG_NEWKEYS SSH2 0: newkeys: mode 0 SSH2 0: SSH2_MSG_NEWKEYS receivedSSH(pix1): user authen method is 'no AAA', aaa server group ID = 0 SSH(pix1): user authen method is 'no AAA', aaa server group ID = 0 SSH2 0: authentication failed for pix1 !--- Authentication for pix1 was not successful due to the wrong username.
Da mesma forma, se o usuário fornecer a senha incorreta, esta saída de depuração mostrará a autenticação com falha.
pix# Device ssh opened successfully. SSH0: SSH client: IP = '10.1.1.2' interface # = 1 SSH: host key initialised SSH0: starting SSH control process SSH0: Exchanging versions - SSH-1.99-Cisco-1.25 SSH0: send SSH message: outdata is NULL server version string: SSH-1.99-Cisco-1.25SSH0: receive SSH message: 83 (83) SSH0: client version is - SSH-1.99-3.2.0 SSH Secure Shell for Windows client version string:SSH-1.99-3.2.0 SSH Secure Shell for WindowsSSH0: begin server key generation SSH0: complete server key generation, elapsed time = 1920 ms SSH2 0: SSH2_MSG_KEXINIT sent SSH2 0: SSH2_MSG_KEXINIT received SSH2: kex: client->server aes128-cbc hmac-md5 none SSH2: kex: server->client aes128-cbc hmac-md5 none SSH2 0: expecting SSH2_MSG_KEXDH_INIT SSH2 0: SSH2_MSG_KEXDH_INIT received SSH2 0: signature length 143 SSH2: kex_derive_keys complete SSH2 0: newkeys: mode 1 SSH2 0: SSH2_MSG_NEWKEYS sent SSH2 0: waiting for SSH2_MSG_NEWKEYS SSH2 0: newkeys: mode 0 SSH2 0: SSH2_MSG_NEWKEYS receivedSSH(pix): user authen method is 'no AAA', aaa server group ID = 0 SSH(pix): user authen method is 'no AAA', aaa server group ID = 0 SSH2 0: authentication failed for pixSSH(pix): user authen method is 'no AAA', aaa server group ID = 0 SSH2 0: authentication failed for pix !--- Authentication for PIX was not successful due to the wrong password.
Execute este comando para verificar o número de sessões SSH que estão conectadas e o estado da conexão ao PIX:
pix#show ssh session SID Client IP Version Mode Encryption Hmac State Username 0 10.1.1.2 1.99 IN aes128-cbc md5 SessionStarted pix OUT aes128-cbc md5 SessionStarted pix
Escolha Monitoring > Properties > Device Access > Secure Shell Sessions para exibir as sessões com o ASDM.
Execute este comando para exibir a parte pública das chaves RSA no Security Appliance:
pix#show crypto key mypubkey rsa Key pair was generated at: 19:36:28 UTC May 19 2006 Key name: <Default-RSA-Key> Usage: General Purpose Key Modulus Size (bits): 1024 Key Data: 30819f30 0d06092a 864886f7 0d010101 05000381 8d003081 89028181 00c172f4 95f66c34 2c2ced37 aa3442d8 12158c93 131480dd 967985ab 1d7b92d9 5290f695 8e9b5b0d d88c0439 6169184c d8fb951c 19023347 d6b3f939 99ac2814 950f4422 69b67328 f64916b1 82e15341 07590da2 390fbefd 38758888 7319196c de61aef1 165c4bab 03d081d5 ddaf15cc c9ddb204 c2b451e0 f19ce0f3 485b1d69 8b020301 0001
Escolha Configuration > Properties > Certificate > Key Pair e clique em Show Details para visualizar as chaves RSA com o ASDM.
Esta seção fornece informações que podem ser usadas para o troubleshooting da sua configuração.
Certas situações, como quando você atualiza o software PIX ou altera a versão do SSH no PIX, podem exigir que você remova e recrie as chaves RSA. Execute este comando para remover o par de chaves RSA do PIX:
pix(config)#crypto key zeroize rsa
Escolha Configuration > Properties > Certificate > Key Pair e clique em Delete para remover chaves RSA com ASDM.
Mensagem de erro no PIX/ASA:
%PIX|ASA-3-315004: Fail to establish SSH session because RSA host key retrieval failed.
A mensagem de erro correspondente na máquina do cliente SSH:
Selected cipher typenot supported by server.
Para resolver esse problema, remova e recrie as chaves RSA. Execute este comando para remover o par de chaves RSA do ASA:
ASA(config)#crypto key zeroize rsa
Execute este comando para gerar a nova chave:
ASA(config)# crypto key generate rsa modulus 1024
Mensagem de Erro:
ssh_exchange_identification: read: Connection reset by peer
Para resolver esse problema, siga estas etapas:
Recarregue o ASA ou remova todas as configurações relacionadas ao SSH e as chaves RSA.
Reconfigure os comandos SSH e gere novamente as chaves RSA.
Quando o ASA está no modo de failover, não é possível fazer SSH para o ASA em espera através do túnel VPN. Isso ocorre porque o tráfego de resposta para o SSH pega a interface externa do ASA em standby.
Revisão | Data de publicação | Comentários |
---|---|---|
1.0 |
10-Mar-2006 |
Versão inicial |