telnet e ssh christian frança josiane dalmasio midra sian liberato

24
TELNET E SSH Christian França Josiane Dalmasio Midra Sian Liberato

Upload: morrisa-dacian

Post on 03-Jan-2016

21 views

Category:

Documents


0 download

DESCRIPTION

TELNET E SSH Christian França Josiane Dalmasio Midra Sian Liberato. TELNET. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: TELNET E SSH Christian França Josiane Dalmasio Midra Sian Liberato

TELNET E SSH

Christian FrançaJosiane Dalmasio

Midra Sian Liberato

Page 2: TELNET E SSH Christian França Josiane Dalmasio Midra Sian Liberato

TELNET

O serviço telnet oferece o login remoto em seu computador, que lhe permite trabalhar conectado a distância como se estivesse em frente a ela. 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.

Page 3: TELNET E SSH Christian França Josiane Dalmasio Midra Sian Liberato

Conexão rápida (não utiliza transmissão de dados criptografada), recomendado para ambientes seguros.

Possui uma versão com suporte a criptografia via ssl. Possui controle de acesso tcpd (usando

/etc/hosts.allow e /etc/hosts.deny). A maioria dos sistemas operacionais trazem este

utilitário por padrão como sistema de acesso remoto a máquinas UNIX.

Suporte a terminais ANSI (cores e códigos de escape especiais para o console) e uma grande variedade de outros terminais.

TELNET - Características

Page 4: TELNET E SSH Christian França Josiane Dalmasio Midra Sian Liberato

TELNET – Ficha TécnicaPacotes:

telnet - Cliente telnet com suporte a autenticação. telnetd - Servidor telnet com suporte a autenticação. telnet-ssl - Cliente telnet com suporte a autenticação

e ssl. Também suporta conexão a servidores telnet padrão quando o servidor não suporta 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).

Page 5: TELNET E SSH Christian França Josiane Dalmasio Midra Sian Liberato

Utilitários:

in.telnetd - Servidor telnet telnet - Cliente telnet padrão (quando o

pacote telnet-ssl está instalado, é simplesmente um link para telnet-ssl).

telnet-ssl - Cliente telnet com suporte a ssl.

TELNET – Ficha Técnica

Page 6: TELNET E SSH Christian França Josiane Dalmasio Midra Sian Liberato

TELNET – Requerimentos de Hardware

Normalmente o servidor telnet é carregado via inetd, o que permite sua utilização em uma máquina com a quantidade mínima de memória RAM requerida para o funcionamento do kernel: 2 MB para kernels da série 2.2 e 4MB para kernels da série 2.4.

Page 7: TELNET E SSH Christian França Josiane Dalmasio Midra Sian Liberato

Arquivos de log criados pelo servidor telnet

Mensagens do servidor telnet relacionadas com seções são enviadas para /var/log/daemon.log. Adicionalmente, as mensagens sobre autenticação (serviços de login) são registradas pelos módulos PAM em /var/log/auth.log.

Page 8: TELNET E SSH Christian França Josiane Dalmasio Midra Sian Liberato

TELNET - Instalação

apt-get install telnet telnetd ou apt-get install telnet-ssl telnetd-ssl.

Os pacotes com o -ssl no final possuem suporte a criptografia ssl. Por padrão a porta usada para executar o serviço telnet é a 23 (ou outro número de porta definido no /etc/services). A instalação do servidor telnet é feita via inetd (no arquivo /etc/inetd.conf) e o controle de acesso ao serviço é feito através dos arquivos /etc/hosts.allow e /etc/hosts.deny (veja Serviços iniciados através do inetd, Seção 4.7.2 e O mecanismo de controle de acessos tcpd, Seção 4.8.3).

O servidor tem o nome in.telnetd e este deverá ser usado para ajustar o controle de acesso nos arquivos acima.

Page 9: TELNET E SSH Christian França Josiane Dalmasio Midra Sian Liberato

Iniciando o servidor /reiniciando/ recarregando a

configuração O arquivo que controla o funcionamento do servidor telnet é o /etc/inetd.conf e o controle de acesso sendo feito pelos arquivos /etc/hosts.allow e /etc/hosts.deny. Será necessário reiniciar o servidor inetd caso algum destes três arquivos seja modificado: killall -HUP inetd. A porta de operação padrão é a 23 e pode ser modificada no arquivo /etc/services.

Page 10: TELNET E SSH Christian França Josiane Dalmasio Midra Sian Liberato

Fazendo conexões ao servidor telnetUse o comando: telnet [endereço] [porta] para realizar

conexões com uma máquina rodando o servidor telnet.

Adicionalmente as seguintes opções podem ser usadas:

-l [usuario] - Envia o nome de usuário ao computador remoto. Muito útil com o telnet-ssl.

-E - Desativa o caracter de escape -a - Tenta fazer o login automático usando o nome

de usuário local. Se o login falhar, será solicitado o nome de usuário. Esta opção é usada por padrão com o cliente telnet-ssl.

-r - Emula o comportamento do programa rlogin.

Page 11: TELNET E SSH Christian França Josiane Dalmasio Midra Sian Liberato

SSH

O SSH (Secure SHell) é ao mesmo tempo um protocolo e uma aplicação para acesso remoto. Os protocolos foram desenvolvidos em 1995 por Tatu Ylonen, fundador da empresa SSH Communications Security. O conjunto permaneceu livre até a sua versão 1.2.12, quando se tornou um produto proprietário desta empresa. Foi desta versão que se originou o aplicativo OpenSSH (uma implementação destes protocolos e várias ferramentas auxiliares), em 1999. Existem também várias outras opções comerciais de implementação do SSH porém, por ser livre, o OpenSSH é a mais popular.

Page 12: TELNET E SSH Christian França Josiane Dalmasio Midra Sian Liberato

SSH

Desenvolvido com a segurança em mente desde o princípio do projeto. Como conseqüência, ele é capaz de proteger o host de ataques de IP spoofing, IP source routing e DNS spoof. Basicamente, o atacante só consegue fazer com que o serviço seja interrompido, ele não é capaz de tomar conta da seção (e consequentemente da máquina) que está utilizando o software.

Todo o tráfego transmitido por uma conexão SSH (as senhas e todo o conteúdo, como um arquivo sendo transmitido entre os hosts) é fortemente criptografado, sendo virtualmente impossível para um atacante sniffar e conseguir ler as mensagens trocadas entre os participantes da conexão (pelo menos em tempo hábil para que aquele conteúdo decifrado seja de alguma utilidade para ele).

Page 13: TELNET E SSH Christian França Josiane Dalmasio Midra Sian Liberato

OpenSSH OpenSSH é uma versão livre do protocolo Secure

Shell (SSH) e da família de ferramentas para controlar remotamente um computador ou transferir ficheiros entre computadores.

Substitui ferramentas tradicionais para executar essas funções, tais como telnet ou rcp, pois são inseguras e transmitem as palavras passe dos utilizadores em texto simples quando utilizadas.

Fornece um serviço para o servidor e ferramentas cliente para facilitar um controle remoto seguro, codificado e operações de transferência de ficheiros, substituindo efetivamente as ferramentas padrão.

Page 14: TELNET E SSH Christian França Josiane Dalmasio Midra Sian Liberato

O componente sshd do servidor OpenSSH, aguarda continuamente ligações de qualquer das ferramentas dos clientes.

Quando um pedido de ligação ocorre, o sshd configura a ligação correta dependendo do tipo de ferramenta do cliente que está a ligar. Por exemplo, se o computador remoto se está a ligar com a aplicação cliente ssh, o processo do servidor OpenSSH inicia uma ligação de controle remoto após a autenticação.

Se o utilizador remoto usa uma aplicação rcp o processo do servidor OpenSSH inicia uma cópia segura dos ficheiros entre o servidor e o cliente após a autenticação. O OpenSSH pode utilizar vários métodos de autenticação, incluindo palavras passe simples, chaves públicas e senhas Kerberos.

OpenSSH

Page 15: TELNET E SSH Christian França Josiane Dalmasio Midra Sian Liberato

OpenSSH - Instalação

Instalação cliente OpenSSH:

# sudo apt-get install openssh-client

Instalação servidor OpenSSH:

# sudo apt-get install openssh-server

Page 16: TELNET E SSH Christian França Josiane Dalmasio Midra Sian Liberato

SSH - Configuração Pode alterar o comportamento predefinido da

aplicação servidor OpenSSH, sshd, editando o ficheiro /etc/ssh/sshd_config. Para informações sobre as directivas de configuração usadas neste ficheiro, pode consultar a página de manual apropriada com o seguinte comando, executado num terminal:

# man sshd_config

Page 17: TELNET E SSH Christian França Josiane Dalmasio Midra Sian Liberato

Existem muitas directivas no ficheiro de configuração do sshd controlando coisas como as configurações das comunicações e os modos de autenticação. De seguida apresentam-se exemplos de directivas de configuração que podem ser alteradas ao editar o ficheiro /etc/ssh/ssh_config.

# sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.original# sudo chmod a-w /etc/ssh/sshd_config.original

SSH - Configuração

Page 18: TELNET E SSH Christian França Josiane Dalmasio Midra Sian Liberato

A seguir apresentam-se exemplos de directivas que pode alterar: Para ajustar o OpenSSH para aceitar pedidos (escutar) o

protocolo TCP na porta 2222, em vez da porta por omissão TPC porta 22, altere a directiva Port como se segue:

Port 2222

Para fazer com que o sshd permita credenciais de login baseadas em chaves públicas, adicione simplesmente a linha seguinte:

PubkeyAuthentication yes

SSH - Configuração

Page 19: TELNET E SSH Christian França Josiane Dalmasio Midra Sian Liberato

No ficheiro /etc/ssh/sshd_config, ou se a linha já estiver presente assegure-se de que não está comentada.

Para fazer com que o seu servidor OpenSSH mostre o conteúdo do ficheiro /etc/issue.net como uma mensagem de pré-login, adicione simplesmente ou modifique a seguinte linha no ficheiro /etc/ssh/sshd_config.

Banner /etc/issue.net

Após a marcação de alterações no ficheiro /etc/ssh/sshd_config, grave o ficheiro e reinicie a aplicação servidor sshd para tornar efectivas as alterações utilizando o comando seguinte num terminal:

# sudo /etc/init.d/ssh restart

SSH - Configuração

Page 20: TELNET E SSH Christian França Josiane Dalmasio Midra Sian Liberato

Simplificando tarefas com o SSH

Partindo do ponto que seu servidor de hospedagem tem acesso por SSH, vamos aprender a usá-lo: Para quem utiliza Linux, basta abrir a linha de comando e digitar ssh nome_do_host, já para usuários de Windows, será necessário instalar um cliente (recomendo o PuTTY, basta efetuar o download e instalá-lo). Quando iniciar o PuTTY aparecerão as inúmeras configurações, onde geralmente só é preciso indicar o Host Name e então clicar em Open.

Page 21: TELNET E SSH Christian França Josiane Dalmasio Midra Sian Liberato

Logo em seguida será aberta uma janela com linha de comando onde será perguntado seu nome de usuário (login) e a respectiva senha.

Agora divirta-se, você está conectado!

Legal, mas se eu já uso um cliente de FTP, para que precisaria de outro de SSH?

Simplificando tarefas com o SSH

Page 22: TELNET E SSH Christian França Josiane Dalmasio Midra Sian Liberato

Existem operações que podem economizar uma quantidade incalculável de tempo se realizadas com alguns simples comandos por SSH. Imagine as seguintes situações em seu cotidiano: É necessário realizar operações em massa como renomear todos os arquivos de uma pasta, e agora? Você pode renomear todos manualmente, ou usar a cabeça e digitar no SSH algo como for arq to *.JPG; do mv $arq ${arq/.JPG/.jpg};done (nesse caso todos os arquivos com a extensão .JPG são modificados para .jpg, mas as possibilidades são infinitas).

Simplificando tarefas com o SSH

Page 23: TELNET E SSH Christian França Josiane Dalmasio Midra Sian Liberato

Agora o desafio é criar um pacote de backup com todos os seus arquivos, você pode baixar todos eles separadamente, compacatá-los usando seu programa favorito e então enviar novamente por FTP. Mas é muito mais fácil conectar remotamente em seu servidor e executar zip -r backup.zip diretorio, você tem então seu arquivo backup.zip com todos os arquivos contidos na pasta diretorio.

Simplificando tarefas com o SSH

Page 24: TELNET E SSH Christian França Josiane Dalmasio Midra Sian Liberato

Essa vem do blog do Elcio, no artigo “Quem tem medo do terminal?“. Suponhamos que você precise copiar uma pasta chamada “site” para “sitenovo”, para então trabalhar de maneira segura na nova versão de seu site. Você vai baixar todos os arquivos para sua máquina (igualmente ao exemplo anterior), renomear a pasta e então enviá-los de volta? Não complique! Basta um simples comando: cp -r site sitenovo. Muito mais simples, não?

Citei apenas três exemplos, mas as possibilidades são infinitas e o tempo economizado é incontestável. Não tenha medo do terminal, e aproveite o que ele tem a oferecer.

Simplificando tarefas com o SSH