trabalho ssh

Download Trabalho Ssh

Post on 05-Jul-2015

285 views

Category:

Documents

1 download

Embed Size (px)

TRANSCRIPT

Trabalho de Redes: SSH Aluno: Rogrio Magno da Silva Rodrigues Sistemas de Informao 7 B Faculdade Fortium

Protocolo SSH

Protocolo SSH

O protocolo de rede SSH foi criado para permitir conexes seguras entre mquinas e permitir a execuo de comandos remotos de shell. Alis, da que deriva o nome deste protocolo. SSH vem de Secure SHell. Antes deste protocolo usava-se o Telnet e o RLogin, que tambm permitem fazer login num computador multi-usurio atravs de uma mquina remota que esteja na mesma rede. Acontece que o trfego IP normal possui as seguintes fraquezas que podem ser exploradas para comprometer a segurana:

Autenticao deficiente baseada em endereos IP que podem ser falsificados (spoofing) ou em senhas que podem ser farejadas (sniffing). Falta de privacidade porque os pacotes podem ser farejados (sniffing). Falta de proteo de integridade porque as conexes podem ser sequestradas (hijacked}.

O SSH foi projetado para eliminar estes problemas oferecendo um mecanismo de autenticao mais robusto para identificar tanto as mquinas quanto os usurios e para assegurar conexes seguras. Este protocolo pode substituir as funes do RSH, do RCP e do RLogin e, em muitos casos, tambm pode substituir o Telnet e o FTP, alm de expandir outras conexes (por exemplo, entre clientes e servidores X, POP ou NNTP). O SSH foi criado em 1995 por Tatu Ylonen, um pesquisador da Universidade de Tecnologia de Helsinki, Finlndia. Aps um incidente de segurana na universidade, Ylonen criou a tecnologia da Secure Shell para criptografar os dados transmitidos em redes TCP/IP. A primeira verso recebeu o nome de SSH1. Em 2006, a stima verso do SSH foi aceita como padro pela IETF, adquirindo o status de tecnologia padro junto com o HTTP, TCP e IP. Sistemas operacionais multi-usurio, como UNIX, Linux e VMS, geralmente oferecem uma interface de comando de linha que permite digitar os comandos desejados, inclusive os do SSH (se estiver disponvel). Mas nem tudo precisa ser feito "na unha". Existem interfaces grficas excelentes para fazer este tipo de conexo segura. Dois exemplos so o PuTTY e o WinSCP (costumo usar os dois) que voc encontra na seo de downloads da Aldeia. Procure em Informtica/Shell. O SSH foi projetado para fornecer autenticao e comunicao seguras atravs de canais inseguros. Permite logins, execuo de comandos e cpias remotas substituindo o RLogin, RSH, RCP e RDist. Possui as seguintes caractersticas: Agentes de autenticao podem guardar as chaves RSA de autenticao de usurio. Estes agentes rodam no laptop ou mquina local do usurio e no h necessidade de guardar as chaves de autenticao RSA em outro local. O SSH transfere automaticamente a conexo para o agente de autenticao, nunca revelando as chaves. Os protocolos so usados apenas para verificar se o agente possui a chave do usurio. O cliente possui arquivos de configurao customizveis, tanto para o sistema quanto por usurio. Opes diferentes podem ser especificadas para hosts diferentes. Se a mquina servidora no estiver rodando sshd, um aviso de alerta mostrado e o ssh automaticamente retrocede para usar o rsh convencional. A compresso gzip de todos os dados, incluindo X11 redespachado e dados de portas TCP/IP, opcional.

Administrao Segura de SistemasO Secure Shell foi originalmente criado para propiciar acessos seguros a terminais (shell) de servidores Unix em redes TCP/IP. Hoje em dia, um dos usos mais frequentes do SSH o de substituir conexes de terminais baseadas em Telnet entre estaes de trabalho Windows e servidores Unix/Linux/Windows. O principal grupo de usurios de acessos seguros de terminais so administradores de sistema, que adotaram o Secure Shell como padro de-facto na administrao remota de servidores Unix e outros dispositivos de rede.

Conectividade Segura de AplicaesO Secure Shell disponibiliza dois modos diferentes de proteger conexes de aplicaes entre estaes de trabalho de usurios finais e servidores de aplicao. Em aplicaes de linha de comando, ele pode ser usado como um terminal seguro que substitui acessos ao host baseados em Telnet. Por outro lado, a funcionalidade de redespacho (forward) de portas pode ser usada para "tunnelar" conexes TCP de aplicaes sem a necessidade de substituir o programa e a interface do usurio. A capacidade de redirecionamento de portas faz do Secure Shell uma soluo genrica para proteger do comeo ao fim conexes de protocolos de aplicaes.

Entendendo SSHO SSH permite administrar mquinas remotamente (executando tanto comandos em modo texto quanto aplicativos grficos), permite transferir arquivos de vrias formas diferentes e, como se no bastasse, permite tambm encapsular outros protocolos, permitindo, por exemplo, acessar uma sesso do VNC atravs de um tnel seguro. A grande vantagem do SSH sobre outras ferramentas de acesso remoto a grande nfase na segurana. Um servidor SSH bem configurado virtualmente impenetrvel e voc pode acess-lo de forma segura, mesmo que a sua rede local esteja comprometida. Ele utiliza um conjunto de tcnicas de criptografia para assegurar que apenas as pessoas autorizadas tenham acesso ao servidor, que todos os dados transmitidos sejam impossveis de decifrar e que a integridade da conexo seja mantida. So previstas respostas para diversos tipos de ataques conhecidos. O SSH detecta casos em que o servidor tenha sido substitudo por outra mquina, situaes nas quais se tenta injetar dados na conexo (ou seja, tirar proveito de uma conexo aberta para incluir pacotes com comandos adicionais) e inclui at mesmo tcnicas de "despiste", que tornam muito mais complicado descobrir em qual pacote encriptado foi transmitida a senha de acesso, por exemplo, dificultando a vida de quem pretende descobrir a senha usando um ataque de fora bruta. A idia central que, mesmo em situaes onde seja fcil interceptar a transmisso (como no caso de uma rede wireless pblica), seja impossvel descobrir o contedo dos pacotes, devido encriptao. possvel ainda, utilizar um par de chaves em vez de uma senha como forma de autenticao. Nesse caso, alm de possuir a chave privada (um arquivo que pode ser salvo no HD, em um pendrive ou mesmo em um smartcard), preciso saber a passphrase, que pode ser uma senha especialmente longa e difcil de adivinhar. Voc poderia argumentar que qualquer algoritmo de encriptao pode ser quebrado via fora bruta (onde simplesmente so testadas todas as possibilidades possveis, at

encontrar a combinao correta), de forma que nenhum sistema de encriptao inteiramente seguro. Entretanto, ataques de fora bruta s so realmente viveis contra chaves de 40 ou 64 bits; acima disso invivel, pois a cada bit adicionado, o processo torna-se exponencialmente mais demorado. Um exemplo de protocolo pouco seguro o WEP de 64 bits (que na verdade utiliza uma chave de 40 bits), usado em redes wireless pouco protegidas. Ele pode ser quebrado em pouco tempo, caso voc consiga capturar um volume considervel de transmisses usando um sniffer (um programa que captura a transmisso da rede, como o Kismet). O DES, um dos algoritmos mais tradicionais, que usa chaves de 64 bits (reais), pode ser quebrado em menos de um dia, caso voc tenha acesso a um cluster de 100 mquinas com processadores Xeon ou Opteron quad-core. Uma chave de 64 bits cerca de 16 milhes de vezes mais difcil de quebrar via fora bruta do que uma de 40 bits, como as que eram utilizadas no SSL dos navegadores a at poucos anos. Uma chave de 128 bits por sua vez, (arredondando) 18.447.000.000.000.000.000 vezes mais demorada de quebrar que uma de 64 bits, de forma que, uma chave de 64 bits pode ser quebrada caso voc tenha o tempo e os recursos necessrios disposio, mas uma de 128 (sem brechas conhecidas) impossvel de quebrar com tecnologia atual. O perigo no caso dos algoritmos de encriptao no so propriamente os ataques de fora bruta (que exigem muito tempo e recursos), mas sim falhas que permitam descobrir a chave usada em menos tempo. As verses originais do WEP (o sistema de encriptao para redes wireless anterior ao WPA), por exemplo, podiam ser quebradas rapidamente devido a um conjunto de falhas no algoritmo usado, o que levou os fabricantes a atualizarem rapidamente todos os seus produtos. Outro exemplo o sistema usado na encriptao dos DVDs, que quebrado em poucos segundos por uma mquina atual, utilizando um algoritmo de poucas linhas. Felizmente, este no o caso dos algoritmos usados no SSH. Por serem abertos, qualquer falha similar que pudesse eventualmente existir j teria sido descoberta e corrigida. O SSH usado em tantos servidores importantes que uma brecha grave poderia (literalmente) parar o mundo. Por isso, todo o cdigo exaustivamente auditado por uma variedade de empresas e rgos governamentais. O SSH utiliza chaves assimtricas para fazer a autenticao. As chaves assimtricas so um sistema muito interessante, onde temos um par de chaves em vez de uma nica chave simtrica. Uma (a chave pblica), permite apenas encriptar dados, enquanto a segunda (a chave privada) permite desencriptar as informaes embaralhadas pela primeira. O grande segredo que qualquer informao embaralhada usando a chave pblica pode ser recuperada apenas usando a chave privada correspondente. Como o nome sugere, a chave pblica pode ser distribuda livremente, pois serve apenas para gerar as mensagens encriptadas, sem permitir l-las posteriormente. Quando voc se conecta a um servidor SSH, seu micro e o servidor trocam suas respectivas chaves pblicas, permitindo que um envie informaes para o outro de forma segura. Atravs deste canal inicial feita a autenticao, seja utilizando login e senha, seja utilizando chave e passphrase (como veremos a seguir). At aqui, tudo feito utilizando chaves de 512 bits ou mais (de acordo com a configurao). O problema que, embora virtualmente impossvel de quebrar, este nvel de encriptao demanda um volume muito grande de processamento. Se todas as informaes fossem transmitidas desta forma, o SSH seria muito lento. Para solucion