Aula – SSH e Telnet

Transcrição

Aula – SSH e Telnet
Prof. Sandro Wambier
HISTÓRIA
OpenSSH foi criada pela equipe da OpenBSD como uma alternativa ao
software original SSH da Tatu Ylönen, que é um software proprietário.
Os desenvolvedores da OpenSSH clamam que seu programa é mais
seguro que o original devido a sua política de produção limpa e o seu
código auditado.
A palavra open no nome se refere a que ele foi baseado no código aberto
da Licença BSD. Embora o código fonte esteja disponível para o SSH
original, várias restrições são impostas sobre o seu uso e distribuição.
O OpenSSH apareceu pela primeira vez no OpenBSD 2.6 e sua primeira
versão portável foi feita em Outubro de 1999. A versão 5.1 do OpenSSH, é
uma implementação completa e em código aberto dos protocolos SSH 1.3,
1.5 e 2.0. foi lançada em julho de 2008
Prof. Sandro Wambier
O que é ssh?
• O SSH permite administrar máquinas
remotamente, permite transferir arquivos de
várias formas, sessões X, etc.
•
•
•
•
Conexão de dados criptografada entre cliente/servidor.
Cópia de arquivos usando conexão criptografada(scp).
Suporte a ftp criptografado (sftp).
Autenticação usando um par de chaves pública/privada RSA ou
DSA.
• Algoritmo de criptografia livre de patentes.
Prof. Sandro Wambier
Módulos do ssh
• O SSH é dividido em dois módulos. O
sshd é o módulo servidor, um serviço que
fica residente na máquina que será
acessada, enquanto o ssh é o módulo
cliente, um utilitário que você utiliza para
acessá-lo.
Prof. Sandro Wambier
Instalação do ssh
• O padrão do Debian é já trazer o ssh instalado.
• Caso seja necessário instalar, use:
Debian
#apt-get install openssh-server
Fedora:
#yum install openssh-server
Ou manualmente baixando o pacote .tar de algum repositório*.
*Lugar onde ficam armazenados diversos pacotes geralmente organizados por distribuições e versões.
Prof. Sandro Wambier
Configuração
• A configuração do servidor, vai no arquivo
/etc/ssh/sshd_config
• A configuração do cliente vai no
/etc/ssh/ssh_config.
Prof. Sandro Wambier
Iniciando o servidor ssh
• Com o pacote instalado, você inicia o
servidor usando o comando
/etc/init.d/sshd start
• Para que ele seja inicializado durante o
boot, use o comando:
update-rc.d -f sshd defaults
Prof. Sandro Wambier
Iniciando o servidor ssh
• No Debian o servidor só funcionará se o
arquivo sshd_not_to_be_run, presente em
/etc/ssh for renomeado ou excluído.
Renomeando o arquivo:
mv /etc/ssh/sshd_not_to_be_run
/etc/sshd_not_to_be_run.old
Prof. Sandro Wambier
Tunelamento SSH
• Muitos protocolos, como o POP3, FTP e outros não se
utilizam de criptografia na identificação ou na sessão, ou
seja, sua senha e o que você está digitando, lendo e
fazendo fica "boiando" na rede. Qualquer um pode-se
utilizar de um sniffer e “escutar” tudo o que vc está
fazendo.
• O SSH pode fazer túneis de conexão criptografada.
• Para isso, você deve conectar-se ao servidor e
especificar uma porta local na qual você se conectará,
uma porta e um servidor para o qual você quer uma
conexão segura.
Prof. Sandro Wambier
Tunelamento SSH
• Como usar um túnel SSH
ssh -L 8021:servidor:21 ines@servidor
• 8021 é o número da porta local que vai receber a conexão e repassá-la
pelo túnel encriptado até ao servidor.
• servidor é o servidor no qual queremos nos conectar por FTP
seguramente, usando o túnel.(poderia ser outra maquina da rede)
• 21 é a porta de FTP, ou seja, a porta no servidor que queremos nos
conectar.
• ines@servidor especifica a máquina a ser utilizada como ponte de
conexão segura. A conexão vai criptografada até esta máquina, depois é
descriptografada.
• Agora, é só se conectar à máquina local, na porta 8021:
• ftp localhost 8021
Prof. Sandro Wambier
Configuração do servidor ssh
• Você pode configurar várias opções
relacionadas ao servidor SSH, incluindo a porta
TCP a ser usada editando o arquivo
/etc/ssh/sshd_config
• A maior parte das opções dentro do arquivo
podem ser omitidas, pois o servidor
simplesmente utiliza valores padrão para as
opções que não constarem no arquivo.
Prof. Sandro Wambier
Opções do sshd_config
port
• Porta: Uma das primeiras linhas é a:
Port 22
• Esta é a porta que será usada pelo servidor
SSH. O padrão é usar a porta 22.
Ao mudar a porta do servidor aqui, você deverá
usar a opção "-p" ao conectar a partir dos
clientes, para indicar a porta usada, como em:
ssh -p 222 usuario@IP_DO_SERVIDOR_SSH
*Não se esqueça que se tiver ligado por um router deve abrir a respectiva
porta no router.
Prof. Sandro Wambier
Opções do sshd_config
port - II
• Mudar a porta padrão do SSH é uma boa
idéia se você está preocupado com a
segurança.
• Colocar seu servidor numa porta mais
escondida, já dificulta um pouco as
coisas.
Prof. Sandro Wambier
Opções do sshd_config - Controle
de acesso
• Logo abaixo vem a opção "ListenAddress", que
permite limitar o SSH a uma única placa de rede,
em casos de micros com duas ou mais placas.
• Digamos que o servidor use o endereço
"192.168.0.1" na rede local e você quer que o
servidor SSH não fique disponível na internet.
• Você adicionaria a linha:
ListenAddress 192.168.0.0
Prof. Sandro Wambier
Opções do sshd_config - Usuários e
senhas
• Outra opção interessante, logo abaixo é a:
PermitRootLogin yes
• Esta opção determina se o servidor aceitará que
clientes se loguem como root. Do ponto de vista
da segurança, é melhor deixar esta opção como
"no", pois assim o usuário precisará primeiro se
logar usando um login normal e depois virar root
usando o "su" ou "su -".
Prof. Sandro Wambier
Opções do sshd_config - Usuários e
senhas – II
• Por padrão, o SSH permite que qualquer
usuário cadastrado no sistema logue-se
remotamente, você pode redefinir isso através
da opção "AllowUsers", que especifica uma lista
de usuários que podem usar o SSH.
• Para permitir que apenas os usuários dunha e
luna possam usar o SSH, adicione a linha:
AllowUsers miro ines
Prof. Sandro Wambier
Opções do sshd_config - Usuários e
senhas – III
• Você pode ainda inverter a lógica, usando
a opção "DenyUsers". Neste caso, todos
os usuários cadastrados no sistema
podem fazer login, com exceção dos
especificados na linha, como em:
DenyUsers miro ines
Prof. Sandro Wambier
Opções do sshd_config - Usuários e
senhas – IV
• Outra opção relacionada à segurança é a:
PermitEmptyPasswords no
• Esta opção faz com que qualquer conta sem
senha fique automaticamente desativada no
SSH, evitando que alguém consiga se conectar
ao servidor "por acaso" ao descobrir a conta
desprotegida.
Prof. Sandro Wambier
Opções do sshd_config - Banner
• Alguns servidores exibem mensagens de
advertência antes do prompt de login.
• A mensagem é especificada através da
opção "Banner", onde você indica um
arquivo de texto com o conteúdo a ser
mostrado, como em:
Banner = /etc/ssh/banner.txt
Prof. Sandro Wambier
Opções do sshd_config - X11
Forwarding
• Um pouco depois temos a opção:
X11Forwarding yes
• Esta opção determina se o servidor permitirá
que os clientes executem aplicativos gráficos
remotamente.
X11Forwarding no
• Desta forma, os clientes poderão executar
apenas comandos e aplicativos de modo texto.
Prof. Sandro Wambier
Opções do sshd_config
Módulos
• O SSH inclui um módulo de transferência
de arquivos (o SFTP). Ele é ativado
através da linha:
Subsystem sftp /usr/lib/sftp-server
• É realmente necessário que esta linha
esteja presente para que o SFTP
funcione.
Prof. Sandro Wambier
Efetivando as alterações
• Para que as alterações entrem em vigor,
reinicie o servidor SSH:
/etc/init.d/ssh restart
Prof. Sandro Wambier
Transferindo arquivos
• Além de permitir rodar aplicativos e fazer
toda a administração de um servidor
remotamente, o ssh também pode ser
usado para transferir arquivos.
• Para isso podem ser usados:
scp
sftp
Prof. Sandro Wambier
scp
• É uma forma de transferir arquivos via
SSH
• Permite especificar numa única linha o
login e endereço do servidor, junto com o
arquivo que será transferido.
Prof. Sandro Wambier
A sintaxe do scp
scp arquivo_local login@servidor:pasta_remota
exemplo:
scp –p 22 teste.txt [email protected]:/home/miro/
End!
Prof. Sandro Wambier
Telnet
Prof. Sandro Wambier
Telnet
• O serviço telnet é que oferece o login
remoto em seu computador, que permite
trabalhar conectado a distância como se
estivesse em frente a ele.
• Substitui o rlogin e possui muitas
melhorias em relação a ele, como o
controle de acesso, personalização de
seção e controle de terminal.
Prof. Sandro Wambier
Telnet seguro?
• Atualmente possui tanto a versão original
(insegura), quanto uma versão mais
segura com suporte a ssl.
• Pacotes:
telnet  Cliente telnet com suporte a
autenticação.
telnetd  Servidor telnet com suporte a
autenticação.
Prof. Sandro Wambier
Telnet seguro? – II
• Pacotes
telnet-ssl  Cliente telnet com suporte a
autenticação e ssl. Por padrão é tentada a
conexão usando ssl, se esta falhar será assumida
a transmissão em texto plano.
telnetd-ssl  Servidor telnet com suporte a
autenticação e ssl. Também suporta conexão de
clientes telnet padrão (sem suporte a ssl).
Prof. Sandro Wambier
Utilitários
in.telnetd  Servidor telnet
telnet  Cliente telnet padrão (quando o pacote
telnetssl está instalado, é simplesmente um
link para telnetssl).
telnet-ssl  Cliente telnet com suporte a ssl.
Prof. Sandro Wambier
Instalação
apt-get install telnet telnetd
• Ou para a versão com suporte a ssl
apt-get install telnet-ssl telnetd-ssl
• Os pacotes com o ssl no final possuem
suporte a criptografia ssl.
Prof. Sandro Wambier
Configuração
• Por padrão a porta usada para executar o
serviço telnet é a 23.
• O servidor tem o nome in.telnetd e este
deverá ser usado para ajustar o controle
de acesso nos arquivos hosts.
Prof. Sandro Wambier
• Caso algum destes três arquivos seja
modificado:
/etc/inetd.conf
/etc/hosts.allow
/etc/hosts.deny.
• Será necessário reiniciar o servidor inetd
Com o comando
killall HUP inetd
Prof. Sandro Wambier
Fazendo conexões ao servidor telnet
• Use o comando:
telnet [endereço] [porta]
• para realizar conexões com uma máquina
rodando o servidor telnet.
Prof. Sandro Wambier
Exemplos
• Conecta-se ao servidor telnet rodando na
porta 23 de sua própria máquina
telnet localhost
• Conecta-se ao servidor telnet 192.168.0.1
operando na porta 130 usando o nome de
usuário luna
telnet –l ines 192.168.0.1 130
Prof. Sandro Wambier

Documentos relacionados