Compilação, Instalação, Configuração e Utilização Novembro de 1998 Centro de Atendimento a Incidentes de Segurança - CAIS Secure Shell
Índice: Introdução Download Compilação e Instalação Configuração Utilização
Introdução Por que usar? Autenticação - Proteção Anti-Spoofing Garante que o cliente e o servidor são quem dizem se; A troca periódica de chave de sessão impede o hijacking da conexão. Criptografia - Proteção Anti-Sniffing Garante a privacidade dos dados em trânsito: senhas, chaves, e-mail etc.
Introdução Problemas Troca inicial de chaves (pode sofrer um ataque Manin-the-middle ); Conscientização da necessidade de uso de conexões encriptadas; Clientes ssh para Windows não são à altura dos clientes telnet.
Download ftp://ftp.unicamp.br ftp://ftp.unicamp.br/pub/security/tools/ssh/ssh- 1.2.26.tar.gz ftp://turmalina.na-sp.rnp.br/pub/packages/security/ssh
Compilação e Instalação Pacote GNU típico #./configure # make # make install Observação: se houver no sistema a biblioteca do TCP Wrappers, libwrap, convém fazer a compilação do ssh já com essa biblioteca inclusa. #./configure --with-libwrap
Configuração Arquivo /etc/sshd_config Port 22 ListenAddress 0.0.0.0 HostKey /etc/ssh_host_key RandomSeed /etc/ssh_random_seed ServerKeyBits 1024 LoginGraceTime 600 KeyRegenerationInterval 3600 PermitRootLogin no IgnoreRhosts yes
Configuração Arquivo /etc/sshd_config StrictModes yes QuietMode no X11Forwarding no X11DisplayOffset 10 FascistLogging yes PrintMotd no KeepAlive yes SyslogFacility DAEMON RhostsAuthentication no RhostsRSAAuthentication yes
Arquivo /etc/sshd_config RSAAuthentication yes PasswordAuthentication yes PermitEmptyPasswords no UseLogin no CheckMail no PidFile /etc/sshd.pid AllowHosts *.cais.rnp.br *na-cp.rnp.br DenyHosts * Umask 022 SilentDeny yes Configuração Observação: O texto em itálico somente deve ser utilizado no caso da compilação com libwrap.
Configuração Arquivo /etc/ssh_config ForwardAgent yes ForwardX11 no RhostsAuthentication no RhostsRSAAuthentication yes RSAAuthentication yes TISAuthentication no PasswordAuthentication yes FallBackToRsh no UseRsh no
Configuração Arquivo /etc/ssh_config BatchMode no StrictHostKeyChecking no IdentityFile ~/.ssh/identity Port 22 Cipher idea EscapeChar ~
Configuração Inicialização do servidor ssh inetd standalone
Configuração Inicialização - inetd Inclusão da seguinte linha no arquivo /etc/services ssh 22/tcp (ssh) Inclusão da linha abaixo no /etc/inetd.conf (uso com TCP Wrappers) ssh stream tcp nowait root /usr/sbin/tcpd /usr/local/sbin/sshd -i Inclusão da linha abaixo no /etc/inetd.conf (compilado com libwrap) ssh stream tcp nowait root /usr/local/sbin/ssh /usr/local/sbin/sshd -i Reinicialize o inetd.
Configuração Inicialização - standalone Inclusão da chamada do sshd na inicialização do sistema. Exemplo: Slackware 3.5 # echo /usr/local/sbin/sshd & >> /etc/rc.d/rc.local Coloque o serviço no ar, executando /usr/local/sbin/sshd & Observação: Verifique se /etc/rc.d/rc.local tem permissão de execução (0700).
Utilização Utilização do ssh Substituição do telnet, rlogin, rsh, rexec etc; Substituição do ftp; Redirecionamento de portas de serviços com baixo nível de segurança; etc.
Substituição do telnet, rlogin, rsh, rexec... Utilização O ssh pode substituir os serviços acima elevando assim o nível de segurança pelos motivos já citados. Exemplo de substituição do telnet e rlogin: # brooks: forster [5]> ssh cais1.cais.rnp.br forster@cais1.cais.rnp.br s password: Last login: Tue Nov 24 11:06:18 1998 from brooks.na-cp.rnp Sun Microsystems Inc. SunOS 5.5 Generic November 1995 You have mail. cais1:forster[1] >
Substituição do telnet, rlogin, rsh, rexec... Utilização Exemplo de substituição do rsh/rexec: #brooks: forster[5]> ssh -l root cais1.cais.rnp.br who root@cais1.cais.rnp.br's password: root console Oct 21 14:03 forster pts/0 Nov 23 09:52 (cais8.cais.rnp.br) nina pts/3 Nov 24 10:03 (cais1.cais.rnp.br) #brooks: forster[6]>
Utilização Substituição do ftp O scp (ssh) pode substituir o ftp, quando feito a partir de uma máquina com cliente ssh direcionado a um servidor que tenha o sshd em execução. #brooks: forster[5]> scp arquivo-local forster@cais8.cais.rnp.br:/tmp/arquivo-remoto forster@cais8.cais.rnp.br's password: #brooks: forster[6]>
Utilização Redirecionamento de Portas O ssh pode ser utilizado para fazer redirecionamento de portas, criando, além da comunicação segura entre o cliente e o servidor, um canal de comunicação encriptada que pode ser utilizado para trafegar outros dados, como conexões POP3.
Utilização Redirecionamento de Portas Exemplo: POP3 # root: cais8[4]> ssh -l forster -L 110:brooks.na-cp.rnp.br:110 brooks.na-cp.rnp.br forster@brooks.na-cp.rnp.br s password: Last login: Tue Nov 24 11:06:18 1998 from ppp115.na-cp.rnp Sun Microsystems Inc. SunOS 5.5 Generic November 1995 You have mail. forster: brooks[1]> enquanto isso, em outra sessão...
Utilização Redirecionamento de Portas # root: cais8[2]> telnet localhost 110 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. +OK QPOP (version 2.52) at brooks.na-cp.rnp.br starting. quit +OK Pop server at brooks.na-cp.rnp.br signing off. Connection closed by foreign host.
Referências http://www.cs.hut.fi/ssh http://www.zip.com.au/~roca/ttssh.html http://www.datafellows.com