O documento discute o uso do protocolo OpenSSH para acesso remoto seguro. Ele explica como configurar o OpenSSH em diferentes sistemas operacionais Linux e Windows, discute parâmetros comuns como porta e autenticação, e aborda questões de segurança como controle de acesso e criptografia.
2. Visão geral da apresentação
• Introduçao ao terminal de acesso
• Historico
• Evoluçoes do protocolo
• Caracteristicas
• Funcionamento e acesso
– Cliente linux servidor linux
– Cliente windows servidor linux
– Cliente android servidor linux
• Configuraçoes personalisada
• Segurança no ssh
3. Open SSH Introdução ao terminal remoto
• Acesso remoto a estações
•Acesso rápido e simples aos servidores
•Estabilidade mesmo com conexões lentas
•Concorrente direto do RDP da Microsoft
•Vantagem de segurança
4. Open SSH Histórico
• A OpenSSH foi criada pela equipe da OpenBSD
•O OpenSSH apareceu pela primeira vez no
OpenBSD 2.6
• Primeira versão portável foi feita em Outubro
de 1999
5. Open SSH Evoluções do protocolo
•1ª versão a 1.0
•Problemas de segurança
•Usada até meados de 2006
•Fragilidade em distribuições
•2ª versão 2.0
•Atual
•Padrão em praticamente todas distribuições Linux atuais
•Não vem por padrão em algumas voltadas para usuários finais
como Ubuntu onde deve-se ser instalado usando o apt ou
aptitude
•Usado ate em smartphones para acesso remoto em
servidores
6. Open SSH Características
•Conexão de dados criptografada entre cliente/servidor.
•Cópia de arquivos usando conexão criptografada.
•Suporte a ftp criptografado (sftp).
•Suporte a compactação de dados entre
cliente/servidor.
•Controle de acesso das interfaces servidas pelo
servidor ssh.
•Suporte a controle de acesso tcp wrappers.
•Autenticação usando um par de chaves
pública/privada RSA ou DSA.
•Algoritmo de criptografia livre de patentes.
•Suporte a caracteres ANSI (cores e códigos de escape
especiais no console).
7. Funcionamento e
parâmetros para
acesso Linux - Linux
Open SSH
• utilizado pelo próprio terminal
• rapidez de acesso
•Caso não tenha o cliente do openSSH deve-se ser
instalado usando o repositório padrão e logo em seguida
ativando o serviço na inicialização da seguinte maneira
Para Centos, Fedora e derivados do RedHat
# yum install openssh (instala o pacote)
# chkconfig sshd on (faz ele ser iniciado automaticamente)
caso ele não inicia automaticamente após a instalação
# service sshd status
# service sshd start
assim como padrão de todas distribuições pode-se ser usado também
# /etc/init.d/sshd start
8. Funcionamento e
parâmetros para
acesso Linux - Linux
Open SSH
Para Ubuntu, kubuntu, e a maioria dos derivados do Debian
# aptitude install openssh (instala o pacote)
# update-rc.d -f dhcp remove (Tira a execução do deamon dhcp da inicialização. )
# update-rc.d dhcp defaults ( Habilita a execução do deamon dhcp na inicialização
no runlevels padrões )
caso ele não inicia automaticamente após a instalação
# invoque-rc.d sshd status
# invoque-rc.d sshd start
assim como padrão de todas distribuições pode-se ser usado
também
# /etc/init.d/sshd start
9. Funcionamento e
parâmetros para
acesso Linux - Linux
Open SSH
Para Utilizar basta os seguintes comandos :
o modo mais simples de conexão entre cliente e servidor sendo os
dois maquinas Linux e estando na mesma Rede
$ ou # ssh usuario@ip_da_maquina
Pode ser usando tanto por root ou usuario da maquina e como
mostrado acima usa-se o ssh e logo em seguinda o nome de usuario
a ser conectado @ o ip ou nome da maquina que seja valido no dns
local da rede
Outro formato que pode ser facilmente usado
$ ou # ssh –p 22000 usuario@ip_da_maquina
Forma um pouco melhorada passando a porta de conexão de uma
forma mais personalizada veremos melhor na parte de segurança
10. Funcionamento e
parâmetros para
acesso Linux - Linux
Open SSH
11. Funcionamento e
parâmetros para
acesso Linux - Linux
Open SSH
Outros parâmetros que podem ser usados com o SSH
-L
# ssh –l usuario ip_maquina
E uma forma alternativa ao invés de usar-se o @ usa-se o menos L
para passar o usuário que ira conectar ao terminal
-X
# ssh –X usuario@ip_maquina
E uma forma interessante pois assim os aplicativos graficos
chamados no terminal serão os do servidor mas vão aparecer na tela
do cliente
12. Funcionamento e
parâmetros para
acesso Linux - Linux
Open SSH
Outros parâmetros que podem ser usados com o SSH
-SCP
# scp caminho_do_arquivo usuario@ip_maquina:/local_final
E uma forma interessante de copiar um aruivo pelo terminal passa-se
de forma geral as informações para que um arquivo seja movido de
um local para o outro.
Este comando aceita também :
–p (para mudar a porta como visto anteriormente)
- r (para ser recursivo em caso de copia de pastas inteiras)
# scp –r local_original usuario@micro_final:/local_final
# scp –p 22000 local_original usuario@micro_final:/local_final
13. Funcionamento e
parâmetros para
acesso Linux - Linux
Open SSH
14. Open SSH Funcionamento e
parâmetros para acesso
Windows - Linux
•Para o uso com o Windows o ssh tem alguns recurso
•Principal ferramenta usada “putty”
15. Putty
•O Putty e totalmente intuitivo para quem já possui
conhecimento básico de ssh sem que nele o contato e visual
a porta pode ser mudada sem passar nenhum parâmetro
•E um aplicativo open source qualquer um pode baixar na
web sem problemas e tem varias versões tanto executáveis
para serem instalados quanto portátil para pendrives
•http://www.putty.org/
•http://portableapps.com/apps/internet/putty_portable
16. Open SSH Funcionamento e
parâmetros para acesso
Windows - Linux
•Para o uso com o Windows o scp tem alguns recurso
•Principal ferramenta usada “WinSCP”
18. Funcionamento e parâmetros
para acesso
Andróide - Linux
Open SSH
• Para o uso de Smatphones com conexão
de rede há ainda a possibilidade de conexão
do aparelho direto com servidores da rede
•No caso do Andoid há alguns aplicativos
bem interessantes e até mesmo versões do
Putty para o sistema.
19. Open SSH Erros comuns
• Como Resolver o problema de Chave de criptografia invalida
20. Erros comuns
Open SSH
• Como Resolver o problema de Chave de criptografia invalida
Comando que resolve o problema anterior
# ssh-keygen –R ip_do_servidor
•Porque ocorre o problema !
•Arquivo que armazena os acessos
.ssh/known_hosts (na raiz da /home do usuario)
21. Segurança sobre o
Open SSH protocolo
•Para configurar o ssh com uma maior segurança vários
administradores configuram recursos extras no arquivo de
configuração do protocolo.
O arquivo de configuração principal fica em:
# /etc/ssh/sshd_config
22. Segurança sobre o
Open SSH protocolo
•O Arquivo
•Use o comando para
entrar nele
# vim /etc/ssh/sshd_config
23. Segurança sobre o
Open SSH
•Principais configurações :
protocolo
•Porta de conexão
Port 22
•Controle de acesso
ListenAddress ip_rede_local
•Acesso Root
PermitRootLogin Yes
•Protocolo 1 e 2
Protocol 2,1
•Usuários permitidos
AllowUsers usuario1 usuario2 usuarioetc
•Usuários negados
DenyUsers usuario1 usuario2 usuarioetc
•Permitir usuário sem senha
PermitEmptyPasswods no
•Banner de aviso
Banner = local_do_arquivo_.txt
24. Exemplo de .conf do
Open SSH ssh
# This is the sshd server system-wide configuration file. See
# sshd_config(5) for more information.
Port 22000
#Protocol 2,1
Protocol 2
#AddressFamily any
ListenAddress 192.168.0.1
#ListenAddress ::
# To disable tunneled clear text passwords, change to no here!
#PasswordAuthentication yes
#PermitEmptyPasswords no
PasswordAuthentication yes
# GSSAPI options
#GSSAPIAuthentication no
GSSAPIAuthentication yes
#GSSAPICleanupCredentials yes
GSSAPICleanupCredentials yes
# no default banner path
Banner /etc/ssh/banner.txt
# override default of no subsystems
Subsystem sftp /usr/libexec/openssh/sftp-server
IgnoreRhosts yes
IgnoreUserKnownHosts no
PrintMotd yes
StrictModes yes
PubkeyAuthentication yes
RSAAuthentication yes
PermitRootLogin no
PermitEmptyPasswords no
AllowUsers usuario
25. Logs do servidor antes das Estudo de caso
Open SSH
################### Logwatch 7.3 (03/24/06) ####################
configurações
Processing Initiated: Tue Jan 18 04:02:05 2011
Date Range Processed: yesterday
( 2011-Jan-17 )
Period is day.
Detail Level of Output: 0
Type of Output: unformatted
Logfiles for Host: hammer.boobow.net
##################################################################
--------------------- pam_unix Begin ------------------------
rpcuser (car.colorado.edu): 4 Time(s)
sshd: sshd (car.colorado.edu): 4 Time(s)
Authentication Failures: vcsa (car.colorado.edu): 4 Time(s)
unknown (car.colorado.edu): 1594 Time(s) xfs (car.colorado.edu): 4 Time(s)
root (car.colorado.edu): 858 Time(s) ftp (h1605.n2.ips.mtn.co.ug): 3 Time(s)
unknown (h1605.n2.ips.mtn.co.ug): 323 Time(s) root (190.233.11.107): 3 Time(s)
root (h1605.n2.ips.mtn.co.ug): 30 Time(s) bin (h1605.n2.ips.mtn.co.ug): 2 Time(s)
adm (car.colorado.edu): 12 Time(s) nobody (h1605.n2.ips.mtn.co.ug): 2 Time(s)
lp (car.colorado.edu): 8 Time(s) sshd (h1605.n2.ips.mtn.co.ug): 2 Time(s)
smmsp (car.colorado.edu): 8 Time(s) uucp (h1605.n2.ips.mtn.co.ug): 2 Time(s)
apache (car.colorado.edu): 7 Time(s) adm (h1605.n2.ips.mtn.co.ug): 1 Time(s)
ftp (car.colorado.edu): 6 Time(s) daemon (h1605.n2.ips.mtn.co.ug): 1 Time(s)
mail (car.colorado.edu): 6 Time(s) games (h1605.n2.ips.mtn.co.ug): 1 Time(s)
rpc (car.colorado.edu): 6 Time(s) gopher (h1605.n2.ips.mtn.co.ug): 1 Time(s)
sync (car.colorado.edu): 6 Time(s) halt (h1605.n2.ips.mtn.co.ug): 1 Time(s)
uucp (car.colorado.edu): 6 Time(s) ldap (car.colorado.edu): 1 Time(s)
bin (car.colorado.edu): 5 Time(s) lp (h1605.n2.ips.mtn.co.ug): 1 Time(s)
named (car.colorado.edu): 5 Time(s) mail (h1605.n2.ips.mtn.co.ug): 1 Time(s)
daemon (car.colorado.edu): 4 Time(s) mailnull (h1605.n2.ips.mtn.co.ug): 1 Time(s)
games (car.colorado.edu): 4 Time(s) named (h1605.n2.ips.mtn.co.ug): 1 Time(s)
gopher (car.colorado.edu): 4 Time(s) news (h1605.n2.ips.mtn.co.ug): 1 Time(s)
mailnull (car.colorado.edu): 4 Time(s) nfsnobody (h1605.n2.ips.mtn.co.ug): 1 Time(s)
news (car.colorado.edu): 4 Time(s) nscd (h1605.n2.ips.mtn.co.ug): 1 Time(s)
---------------------- pam_unix End -
------------------------
26. Logs do servidor depois Estudo de caso
Open SSH das configurações
################### Logwatch 7.3 (03/24/06) ####################
Processing Initiated: Fri Mar 25 04:02:06 2011
Date Range Processed: yesterday
( 2011-Mar-24 )
Period is day.
Detail Level of Output: 0
Type of Output: unformatted
Logfiles for Host: hammer.boobow.net
##################################################################
--------------------- SSHD Begin ------------------------
Users logging in through sshd:
xpto:
192.168.0.95: 1 time
---------------------- SSHD End -------------------------