Centro de Atendimento a Incidentes de Segurança - CAIS
Secure Shell
Compilação, Instalação, Configuração e Utilização
Í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
hi-jacking 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
“Man-in-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
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.
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
Configuração
Arquivo /etc/sshd_config
RSAAuthentication yes PasswordAuthentication yes PermitEmptyPasswords no UseLogin no CheckMail no PidFile /etc/sshd.pidAllowHosts *.cais.rnp.br *na-cp.rnp.br DenyHosts *
Umask 022 SilentDeny yes
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
Configuração
Inicialização - inetd
• Inclusão da seguinte linha no arquivo /etc/services
ssh 22/tcp Secure Shell (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
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;
Utilização
Substituição do telnet, rlogin, rsh, rexec...
• 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.
Utilização
Substituição do telnet, rlogin, rsh, rexec...
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:
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]>
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.