SlideShare uma empresa Scribd logo
1 de 37
TEMA:
APLICAÕES SEGURAS:
PROTOCOLO SSH
3º ANO___ 5º GRUPO
1
ELEMENTOS DO 5º GRUPO
 Alcindo António da Costa Assarate
 Albertino Moniz Armazia
 Eduardo Fernando Duarte
 Pedro Ezequiel Júlio
 Télio Adelino Afonso Reis
 Yuran Guilherme
2
Introdução
Segurança é simplesmente manter o acesso aos dados
apenas por pessoas que tenham esta autorização, em
um contexto actual esta segurança esta além de
bloquear acesso ao computador em que os dados estão
armazenados, pois os dados existem para serem
utilizados, e nas redes isto significa que eles podem
rodar o mundo todo, dentro da internet ou não. O SSH
(Secure Shell) corresponde a um protocolo de rede
criptográfico, destinado a conexão remota segura,
permitindo basicamente a administração total de
computadores a distância (ou em uma mesma rede, se
assim for necessário).
3
Protocolo SSH
De acordo com Comer (2006, p. 300), o SSH oferece três
mecanismos que formam a base dos serviços que ele fornece.
 Um protocolo de camada de transporte que fornece autenticação
de servidor, confidencialidade de dados e integridade de dados
com privacidade de encaminhamento perfeita (ou seja, se uma
chave for comprometida durante uma sessão, o conhecimento não
afecta a segurança das sessões anteriores).
 Um protocolo de autenticação de usuário que autentica o usuário
para o servidor. Assim, um servidor pode dizer exactamente que o
usuário está tentando formar uma conexão
 Um protocolo de conexão que multiplexa diversos canais de
comunicação lógicos através de uma única conexão SSH
subjacente.
4
Conti…
Para a Network Working Group of the IETF o SSH é um
conjunto de protocolos e softwares usado para transmissão
segura de dados, tunelamento de aplicativos e administração
remota de sistemas.
5
Tipos de criptografia do SSH
Para Ariane há três tecnologias de criptografia usadas pelo SSH
Criptografia simétrica
Ela também pode ser chamada de Chave Compartilhada ou
Compartilhamento Secreto. Há nesse caso, uma chave que é
usada, ou às vezes, um par de chaves onde uma chave pode
facilitar o cálculo pra outra chave.
Chaves simétricas são usadas para codificar uma comunicação
criptografada durante uma sessão de SSH. Tanto cliente como
servidor derivam uma chave secreta usando um método
agregador e que nunca é divulgado a terceiros.
6
Cont…
O processo de criação de uma chave simétrica é formado pela chave
de mudança de um algoritmo. O que muda particularmente nesse
algoritmo é o fato que a chave nunca é transmitida entre cliente e
servidor de hospedagem.
Dessa forma, o compartilhamento público de pedaços de dados e a
manipulação dos mesmos acontecem de forma independente, e
calculam chaves secretas. Mesmo que uma outra máquina calcule a
chave o algoritmo não será reconhecido.
Há uma variedade de cifras de criptografias simétricas, incluindo,
mas não limitando ao uso da AES (Criptografia Padrão Avançada),
CAST128, Blowfish, etc. Antes de se estabelecer uma conexão
segura, o cliente e o servidor de hospedagem decidem quais cifras
serão usadas, em uma ordem de preferência, de cifras para
utilização.
7
Criptografia assimétrica
Segundo Ariane ao contrário da criptografia simétrica, a
criptografia assimétrica usa duas chaves separadas para
criptografia e descriptografia.
Essas duas chaves são conhecidas como chave-pública e
chave-privada.
Juntas, as chaves são conhecidas como pública-privada e
formam um par de chaves.
A chave pública, como o próprio nome sugere, é aberta,
distribuída e compartilhada com todas as partes.
8
Cont…
A relação entre duas chaves é extremamente complexa: uma
mensagem é criptografada por uma chave pública, e pode ser
decriptografada pela mesma chave privada. Essa uma relação de
uma via que dá sentido a chave pública em próprias mensagens,
mas não pode ser decodificada pela chave privada. A chave
privada precisa ser renomeada como privada para a conexão ser
segura, e ninguém deve saber disso.
A força de toda a conexão reside no fato de que, a chave privada
nunca é revelada, pois é o único componente capaz de
descriptografar mensagens que foram criptografadas usando sua
própria chave.
9
Cont…
Portanto, qualquer parte com a capacidade de descriptografar
mensagens publicamente assinadas deve possuir a chave privada
correspondente. Ao contrário da percepção geral, a criptografia
assimétrica não é usada para criptografar toda a sessão SSH.
Em vez disso, ela só é usada durante o algoritmo de troca de
chaves de criptografia simétrica. Antes de iniciar uma conexão
segura, ambas as partes geram pares de chaves público-privadas
temporárias e compartilham suas respectivas chaves privadas
para produzir a chave secreta compartilhada.
Uma vez que uma comunicação simétrica segura for estabelecida,
o servidor usa a chave pública dos clientes para gerar, testar e
transmitir ao cliente para autenticação. Se o cliente conseguir
descriptografar com sucesso a mensagem, isso significa que ela
contém a chave privada necessária para a conexão.
10
Hashing
De acordo com ele One-way hashing é mais uma forma de
criptografia usada em conexões seguras de Shell.
As funções do one-way-hash diferem das duas formas de
criptografia acima mencionadas, no sentido de que elas nunca
devem ser descriptografadas.
Eles geram um valor exclusivo, um sentido único de
comprimento fixo para cada entrada que não mostra nenhuma
tendência clara que possa ser explorada. Isso torna praticamente
impossível de ser feita a reversão.
É fácil gerar uma criptografia hash vindo de uma porta de
entrada, mas é impossível gerar uma entrada a partir de um hash.
Isso significa que, quando um cliente determina uma entrada
correta, ele pode gerar uma criptografia hash, comparar o valor e
verificar onde fica a entrada correta.
11
Cont…
O SSH usa hashes para verificar a autenticidade das mensagens. Isso é
feito usando os códigos de autenticação de mensagens baseados em
Hash, um comando específico não utilizado por mais ninguém.
Enquanto o algoritmo criptografado está sendo seleccionado, uma
mensagem de autenticação é também seleccionada.
Este trabalho é parecido com o da selecção de cifras, visto na seção de
criptografia simétrica. Esta mensagem transmitida precisa conter um
MAC, que é calculado usando uma chave simétrica, uma pacote
sequencial numérico e de mensagens de conteúdo.
É enviado para fora de forma simétrica, com dados criptografados em
uma sessão de pacote de comunicação.
Para Ariane o SSH opera em portas-padrão 22 TCP (isso pode ser
mudado quando necessário). O servidor captura as informações pela
porta 22 (ou outra porta assinada SSH) para receber as conexões.
12
Autenticação de cliente SSH
Caso a sua máquina cliente seja Linux, não precisa de fazer
nada, uma vez que este por
omissão traz clientes de Telnet e de SSH instalados.
Caso a sua máquina cliente seja Windows, descarregue e
instale a aplicação PuTTY que está
Disponível
http://www.chiark.greenend.org.uk/~sgtatham/putty.
Esta aplicação é um cliente de Telnet e SSH.
13
Cont…
Servidor SSH
 Actualize a informação de actualização do Ubuntu, usando o seguinte comando:
sudo
apt-get update
 Instale um servidor de Telnet (telnetd), usando o seguinte comando: sudo apt-
get
install telnetd
 Caso seja necessário reiniciar o servidor, faça-o utilizando o seguinte comando:
sudo
/etc/init.d/openbsd-inetd restart
 Instale um servidor de SSH utilizando o seguinte comando: sudo apt-get install
openssh-server
 Inicie o servidor de SSH utilizando o seguinte commando: sudo service ssh start
Verifique que os serviços Telnet e SSH estão ativos na máquina.
14
Cont…
Para isso, verifique se os respetivos portos TCP estão disponíveis
para receber ligações, utilizando o seguinte comando: netstat –atn
Confirme que as interfaces de rede das máquinas virtuais que está
a utilizar para este trabalho estão configuradas como NAT ou
como Host Only.
Verifique o endereço IP e o nome da interface de rede da máquina
servidora, utilizando o comando: ifconfig
Antes de prosseguir verifique ainda a conectividade da máquina
cliente para a máquina servidora utilizando o comando ping.
15
SSH com autenticação de utentes com
chaves assimétricas
Na máquina cliente gere um par de chaves para utilizar no Putty
para a sua autenticação no acesso ao servidor SSH. ssh-keygen -t
rsa
Instale a sua chave pública no servidor de SSH. ssh-copy-id -i
PubKeyFile <username>@<server>
Analise as vantagens e desvantagens da autenticação por chaves
assimétricas em relação à autenticação por senha (password).
A principal vantagem é que não basta a um atacante obter a frase
chave para aceder ao servidor, uma vez que este também
necessita de possuir a chave privada.
A desvantagem é que este acesso apenas é possível de máquinas
onde o utilizador tem as suas chaves instaladas.
16
Senhas descartáveis
É uma senha que perde a validade após um processo de
autenticação para impedir um phishing da senha. O objectivo é
fazer com que o usuário informe senhas diferentes a cada acesso.
OTPs não podem ser memorizadas pelos humanos: requer uma
tecnologia adicional.
As senhas descartáveis podem ser classificadas em duas
categorias:
 Sincronizadas no tempo
 Desafio/ resposta.
No método de autenticação sincronizado uma nova senha é
gerada a cada 30 segundos, de acordo com um algoritmo
predefinido que utiliza o dia, a hora e um segredo
17
Vantagens
 Nenhum dado secreto estático é transmitido via uma rede
 A criação de novas senhas a cada utilização evita que um software
malicioso
intercepte e explore senhas capturadas
 É uma solução que não precisa ser implementada em software
 É necessário um sistema back-end para verificar a validade da senha.
 Sistemas OTP são mais seguros que aqueles que praticam políticas
de senhas reutilizáveis, como o Kerberos.
Os sistemas mais populares para autenticação que usam senhas
descartáveis são:
 SecurID
 S/KEY
18
SecurID
Tokens físicos são utilizados para autenticar usuários.
Cada usuário possui um cartão que gera os tokens.
O algoritmo usado pelo token é proprietário.
Cada cartão ou token contém uma única senha secreta.
Uma cópia desta senha está no servidor de
autenticação.
Esta senha é utilizada para gerar o número de 6 dígitos
que é apresentado ao usuário.
19
S/KEY
Passo inicial: inicialização de alguns dados por parte do
usuário.
1. Usuário faz um login em um servidor de autenticação
seguro.
 Este login deve ser local ou utilizando uma rede segura.
 O login remoto “derruba” a idéia do S/KEY
1. Usuário escolhe uma senha secreta e o número de senhas
(n) descartáveis que o sistema irá gerar.
2. O software aplica um conjunto de n passos, definidos em
uma função hash, sobre a senha secreta
20
Cont…
3. O resultado é armazenado no servidor de autenticação.
 O servidor de autenticação mantém o controle do número de vezes que cada usuário
se autentica no sistema.
 A primeira vez que o usuário realiza o acesso é solicitado a combinação n-1 gerada
com a função hash.
 O usuário digita sua senha secreta em sua máquina local.
 O software aplica n-1 iterações da função hash sobre a informação dada pelo usuário.
 O resultado é enviado pela rede para o servidor de autenticação.
 O servidor aplica a função hash sobre a mensagem e o resultado é comparado com o
armazenado anteriormente.
 Se conferir: usuário autenticado
 O servidor substitui o valor armazenado pela mensagem que ele recebeu e decrementa
o contador de senhas n.
 Dessa maneira, o servidor se prepara para uma próxima autenticação.
 O usuário precisa de um software S/KEY cliente.
 Se ele não tiver: deve possuir uma lista dos OTPs para informar a cada solicitação.
 Semelhança: Cartão de chaves de segurança dos bancos.
21
Problemas do S/KEY
A senha descartável é enviada pela rede em texto
plano.
Se alguém interceptar e conhecer a função hash, a
segurança é quebrada!
A senha secreta é a chave de todo o processo: OTPs =
funçao_hash (senha_secreta_usuario)
A protecção desta senha é fundamental para a
segurança do esquema
22
Sistema RSA Securld
Clifford Cocks, Adi Shamir e Leonard Adleman (1977)
RSA (Rivest-Shamir-Adleman) é um dos primeiros sistemas de
criptografia de chave pública e é amplamente utilizado para
transmissão segura de dados.
Neste sistema de criptografia, a chave de encriptação é pública e
é diferente da chave de decriptação que é secreta (privada).
No RSA, esta assimetria é baseada na dificuldade prática da
factorização do produto de dois números primos grandes, o
"problema de factoração".
23
Cont…
O acrónimo RSA é composto das letras iniciais dos sobrenomes
de Ron Rivest, Adi Shamir e Leonard Adleman, fundadores da
actual empresa RSA Data Security, os quais foram os primeiros a
descrever o algoritmo em 1978. Clifford Cocks, um matemático
Inglês que trabalhava para a agência de inteligência britânica
Government Communications Headquarters (GCHQ),
desenvolveu um sistema equivalente em 1973, mas ele não foi
revelado até 1997.
É considerado dos mais seguros, já que mandou por terra todas as
tentativas de quebrá-lo. Foi também o primeiro algoritmo a
possibilitar criptografia e assinatura digital, e uma das grandes
inovações em criptografia de chave pública.
24
Cont…
O RSA é um algoritmo relativamente lento e, por isso, é
menos usado para criptografar directamente os dados do
usuário. Mais frequentemente, o RSA passa chaves
criptografadas compartilhadas para criptografia de chave
simétrica que, por sua vez, pode executar operações de
criptografia-descriptografia em massa a uma velocidade
muito maior.
25
Funcionamento
O RSA envolve um par de chaves, uma chave pública que
pode ser conhecida por todos e uma chave privada que deve
ser mantida em sigilo. Toda mensagem cifrada usando uma
chave pública só pode ser decifrada usando a respectiva
chave privada. A criptografia RSA atua directamente na
internet, por exemplo, em mensagens de emails, em compras
on-line e o que você imaginar; tudo isso é encriptado e
decriptado pela criptografia RSA.
26
Chave pública
Criptografia de chave pública, também conhecida como
criptografia assimétrica, é qualquer sistema criptográfico que usa
pares de chaves: chaves públicas, que podem ser amplamente
disseminadas, e chaves privadas que são conhecidas apenas pelo
proprietário. Isto realiza duas funções: autenticação, onde a chave
pública verifica que um portador da chave privada parelhada
enviou a mensagem, e encriptação, onde apenas o portador da
chave privada parelhada pode decriptar a mensagem encriptada
com a chave pública.
Um número imprevisível (tipicamente grande e aleatório) é usado
para começar a geração de um par de chaves adequado para uso
por um algoritmo de chave assimétrica.
27
Cont…
Em um esquema de encriptação de chave assimétrica, qualquer
um pode encriptar mensagens usando a chave pública, mas
apenas o detentor da chave privada pareada pode decriptar.
Segurança depende do sigilo da chave privada Criptografia de
chave pública é frequentemente usada para garantir a segurança
da comunicação electrónica sobre um ambiente interconectado
aberto tal como a internet, sem depender de um canal encoberto
até para uma troca de chaves. Ambientes interconectados abertos
são susceptíveis a uma variedade de problemas de segurança de
comunicação tais quais ataque do homem-no-meio e outras
ameaças à segurança.
28
Cont…
Propriedades de segurança necessárias para comunicação
tipicamente incluem que a comunicação que está sendo
enviada não deva ser legível durante a transição
(preservando confidencialidade), a comunicação não deve
ser modificada durante a transição (preservando a
integridade da comunicação), a comunicação deve ser
originada por uma parte identificada (autenticidade do
remetente) e para assegurar o não-repúdio (a não negação de
envio da mensagem). Combinar criptografia de chave
pública com um método de Encriptação de Chave Pública
Envelopada, permite o envio seguro de uma comunicação
sobre um ambiente interconectado aberto.
29
Segurança
Alguns esquemas de encriptação podem ser provados como sendo
seguros com base na dificuldade presumida de um problema
matemático, como encontrar a fatoração inteira do produto de dois
primos muito grandes ou computar logaritmos discretos. Note que
"segurança" aqui tem um significado matematicamente preciso, e
existem múltiplas definições (significativas) diferentes do que significa
dizer que um esquema de encriptação é "seguro". A definição "correta"
depende do contexto no qual o esquema será implantado.
A aplicação mais óbvia de um sistema de encriptação de chave pública
é confidencialidade – uma mensagem que o emissor quer encriptar
usando a chave pública do destinatário pode ser decriptada apenas pela
chave privada correspondente do destinatário. Assumindo, claro, que
nenhuma falha foi descoberta no algoritmo base usado.
30
Cont…
Outro tipo de aplicação em criptografia de chave pública é o de
esquemas de assinatura digital. Em tal esquema, o usuário que quer
enviar uma mensagem computa uma assinatura digital para essa
mensagem, e então envia essa assinatura digital (junto com a
mensagem) para o remetente desejado. Esquemas de assinatura digital
têm a propriedade de que assinaturas podem ser computadas apenas
com o conhecimento da chave privada correta. Para verificar que a
mensagem foi assinada pelo usuário e que não foi modificada, o
destinatário precisa saber apenas a chave pública correspondente. Em
alguns casos, um único algoritmo pode ser usado para encriptar e criar
assinaturas digitais. Em outros casos cada algoritmo pode ser usado
apenas para um propósito específico.
Para alcançar tanta autenticação quanta confidencialidade, o emissor
deve assinar a mensagem usando sua a chave privada, e então encriptar
tanto a mensagem quanto a assinatura usando a chave pública do
destinatário.
31
Cont…
32
Cont…
enable
!Acessando o modo de Configuração Global de comandos
configure terminal
!Configuração do nome de domínio FQDN (Nome de Domínio Totalmente
Qualificado)
ip domain-name informaica.ac
!Criação da chave de criptografia e habilitar o serviço de SSH Server local
crypto key generate rsa
!Habilitando a versão 2 do serviço de SSH Server
ip ssh version 2
!Habilitando o tempo de inatividade para novas conexões do SSH Server
ip ssh time-out 60
!Habilitando o número máximo de tentativas de conexões simultâneas no SSH Server
ip ssh authentication-retries 2
!Acessando as linhas virtuais de acesso remoto do Switch
line vty 0 4
33
Cont…
!Configuração do protocolo de transporte somente SSH
transport input ssh
!Saindo de todos os níveis e voltando para o modo EXEC Privilegiado
end
!Salvando as configurações da memória RAM para a memória NVRAM
write
!Visualizando as configurações da memória RAM
show running-config
!Visualizando as configurações do SSH Server
show ip ssh
!Visualizando das chaves públicas RSA
show crypto key mypubkey rsa
!Visualizando as conexões ativas do SSH Server
show ssh
!Visualizando as conexões remotas estabelecidas no Switch
show users 34
SIMULAÇÃO
35
Conclusão
 Chegando ao fim do trabalho nota-se que uma das mais úteis
características do SSH é a sua capacidade de criar túneis
criptográficos. Esta técnica permite, entre outras coisas, navegar
na internet com segurança por meio de uma conexão insegura
(como uma rede wireless sem criptografia), ou contornar as
restrições de serviços impostas por um firewall em uma rede
local. Fica claro que SSH oferece três mecanismos que formam a
base dos serviços que ele fornece. Um protocolo de camada de
transporte que fornece autenticação de servidor,
confidencialidade de dados e integridade de dados com
privacidade de encaminhamento perfeita (ou seja, se uma chave
for comprometida durante uma sessão, o conhecimento não
afecta a segurança das sessões anteriores). Um protocolo de
autenticação de usuário que autentica o usuário para o servidor.
Assim, um servidor pode dizer exactamente que o usuário está
tentando formar uma conexão .
36
OBRIGADO
PELA
ATENÇÃO
DISPENSADA
37

Mais conteúdo relacionado

Semelhante a Aplicações Seguras do Protocolo SSH

segurança de redes.pptx
segurança de redes.pptxsegurança de redes.pptx
segurança de redes.pptxSamara Santos
 
Segurança da Informação
Segurança da InformaçãoSegurança da Informação
Segurança da Informaçãoalex_it
 
Introdução ao SSL
Introdução ao SSLIntrodução ao SSL
Introdução ao SSLThiago Bruno
 
Aula src openvpn-configuração com chave publica
Aula src   openvpn-configuração com chave publicaAula src   openvpn-configuração com chave publica
Aula src openvpn-configuração com chave publicaRafael Simões
 
Tecnologias Atuais de Redes - Aula 1 - Criptografia [Apostila]
Tecnologias Atuais de Redes - Aula 1 - Criptografia [Apostila]Tecnologias Atuais de Redes - Aula 1 - Criptografia [Apostila]
Tecnologias Atuais de Redes - Aula 1 - Criptografia [Apostila]Ministério Público da Paraíba
 
Segurança em sistemas distribuídos
Segurança em sistemas distribuídosSegurança em sistemas distribuídos
Segurança em sistemas distribuídosGeomar Matias Lima
 
Criptografia
CriptografiaCriptografia
CriptografiaPaula P.
 
Protocolos; SNMP, TELNET, SSH
Protocolos; SNMP, TELNET, SSHProtocolos; SNMP, TELNET, SSH
Protocolos; SNMP, TELNET, SSHPetterson Castro
 
http https Professor Marlon Sales
http https Professor Marlon Saleshttp https Professor Marlon Sales
http https Professor Marlon Salesmarloninternet
 
Criptgrafia algoritmos
Criptgrafia   algoritmosCriptgrafia   algoritmos
Criptgrafia algoritmosdigobfpc
 
126015847 seguranca-de-redes-criptografia-2
126015847 seguranca-de-redes-criptografia-2126015847 seguranca-de-redes-criptografia-2
126015847 seguranca-de-redes-criptografia-2Marco Guimarães
 
126015847 seguranca-de-redes-criptografia-2 (1)
126015847 seguranca-de-redes-criptografia-2 (1)126015847 seguranca-de-redes-criptografia-2 (1)
126015847 seguranca-de-redes-criptografia-2 (1)Marco Guimarães
 
Palestra criando aplicações seguras com php (2)
Palestra  criando aplicações seguras com php (2)Palestra  criando aplicações seguras com php (2)
Palestra criando aplicações seguras com php (2)Leandro Lugaresi
 
Questoes concurso13122011-com respostas
Questoes concurso13122011-com respostasQuestoes concurso13122011-com respostas
Questoes concurso13122011-com respostasfelipetsi
 
Começando com Quorum - versão 2.6
Começando com Quorum - versão 2.6Começando com Quorum - versão 2.6
Começando com Quorum - versão 2.6Jeff Prestes
 
HTTPS com TLS em Modo RSA
HTTPS com TLS em Modo RSAHTTPS com TLS em Modo RSA
HTTPS com TLS em Modo RSARudá Moura
 

Semelhante a Aplicações Seguras do Protocolo SSH (20)

segurança de redes.pptx
segurança de redes.pptxsegurança de redes.pptx
segurança de redes.pptx
 
Criptografia_Métodos_E_Tecnicas_Criptograficas.ppt
Criptografia_Métodos_E_Tecnicas_Criptograficas.pptCriptografia_Métodos_E_Tecnicas_Criptograficas.ppt
Criptografia_Métodos_E_Tecnicas_Criptograficas.ppt
 
Segurança da Informação
Segurança da InformaçãoSegurança da Informação
Segurança da Informação
 
Aula 8.0 - Segurança
Aula 8.0 - SegurançaAula 8.0 - Segurança
Aula 8.0 - Segurança
 
Introdução ao SSL
Introdução ao SSLIntrodução ao SSL
Introdução ao SSL
 
Aula src openvpn-configuração com chave publica
Aula src   openvpn-configuração com chave publicaAula src   openvpn-configuração com chave publica
Aula src openvpn-configuração com chave publica
 
Tecnologias Atuais de Redes - Aula 1 - Criptografia [Apostila]
Tecnologias Atuais de Redes - Aula 1 - Criptografia [Apostila]Tecnologias Atuais de Redes - Aula 1 - Criptografia [Apostila]
Tecnologias Atuais de Redes - Aula 1 - Criptografia [Apostila]
 
Segurança em sistemas distribuídos
Segurança em sistemas distribuídosSegurança em sistemas distribuídos
Segurança em sistemas distribuídos
 
Criptografia
CriptografiaCriptografia
Criptografia
 
Protocolos; SNMP, TELNET, SSH
Protocolos; SNMP, TELNET, SSHProtocolos; SNMP, TELNET, SSH
Protocolos; SNMP, TELNET, SSH
 
VPN - O que é a VPN?
VPN - O que é a VPN?VPN - O que é a VPN?
VPN - O que é a VPN?
 
http https Professor Marlon Sales
http https Professor Marlon Saleshttp https Professor Marlon Sales
http https Professor Marlon Sales
 
Introdução ao Ssh
Introdução ao SshIntrodução ao Ssh
Introdução ao Ssh
 
Criptgrafia algoritmos
Criptgrafia   algoritmosCriptgrafia   algoritmos
Criptgrafia algoritmos
 
126015847 seguranca-de-redes-criptografia-2
126015847 seguranca-de-redes-criptografia-2126015847 seguranca-de-redes-criptografia-2
126015847 seguranca-de-redes-criptografia-2
 
126015847 seguranca-de-redes-criptografia-2 (1)
126015847 seguranca-de-redes-criptografia-2 (1)126015847 seguranca-de-redes-criptografia-2 (1)
126015847 seguranca-de-redes-criptografia-2 (1)
 
Palestra criando aplicações seguras com php (2)
Palestra  criando aplicações seguras com php (2)Palestra  criando aplicações seguras com php (2)
Palestra criando aplicações seguras com php (2)
 
Questoes concurso13122011-com respostas
Questoes concurso13122011-com respostasQuestoes concurso13122011-com respostas
Questoes concurso13122011-com respostas
 
Começando com Quorum - versão 2.6
Começando com Quorum - versão 2.6Começando com Quorum - versão 2.6
Começando com Quorum - versão 2.6
 
HTTPS com TLS em Modo RSA
HTTPS com TLS em Modo RSAHTTPS com TLS em Modo RSA
HTTPS com TLS em Modo RSA
 

Aplicações Seguras do Protocolo SSH

  • 2. ELEMENTOS DO 5º GRUPO  Alcindo António da Costa Assarate  Albertino Moniz Armazia  Eduardo Fernando Duarte  Pedro Ezequiel Júlio  Télio Adelino Afonso Reis  Yuran Guilherme 2
  • 3. Introdução Segurança é simplesmente manter o acesso aos dados apenas por pessoas que tenham esta autorização, em um contexto actual esta segurança esta além de bloquear acesso ao computador em que os dados estão armazenados, pois os dados existem para serem utilizados, e nas redes isto significa que eles podem rodar o mundo todo, dentro da internet ou não. O SSH (Secure Shell) corresponde a um protocolo de rede criptográfico, destinado a conexão remota segura, permitindo basicamente a administração total de computadores a distância (ou em uma mesma rede, se assim for necessário). 3
  • 4. Protocolo SSH De acordo com Comer (2006, p. 300), o SSH oferece três mecanismos que formam a base dos serviços que ele fornece.  Um protocolo de camada de transporte que fornece autenticação de servidor, confidencialidade de dados e integridade de dados com privacidade de encaminhamento perfeita (ou seja, se uma chave for comprometida durante uma sessão, o conhecimento não afecta a segurança das sessões anteriores).  Um protocolo de autenticação de usuário que autentica o usuário para o servidor. Assim, um servidor pode dizer exactamente que o usuário está tentando formar uma conexão  Um protocolo de conexão que multiplexa diversos canais de comunicação lógicos através de uma única conexão SSH subjacente. 4
  • 5. Conti… Para a Network Working Group of the IETF o SSH é um conjunto de protocolos e softwares usado para transmissão segura de dados, tunelamento de aplicativos e administração remota de sistemas. 5
  • 6. Tipos de criptografia do SSH Para Ariane há três tecnologias de criptografia usadas pelo SSH Criptografia simétrica Ela também pode ser chamada de Chave Compartilhada ou Compartilhamento Secreto. Há nesse caso, uma chave que é usada, ou às vezes, um par de chaves onde uma chave pode facilitar o cálculo pra outra chave. Chaves simétricas são usadas para codificar uma comunicação criptografada durante uma sessão de SSH. Tanto cliente como servidor derivam uma chave secreta usando um método agregador e que nunca é divulgado a terceiros. 6
  • 7. Cont… O processo de criação de uma chave simétrica é formado pela chave de mudança de um algoritmo. O que muda particularmente nesse algoritmo é o fato que a chave nunca é transmitida entre cliente e servidor de hospedagem. Dessa forma, o compartilhamento público de pedaços de dados e a manipulação dos mesmos acontecem de forma independente, e calculam chaves secretas. Mesmo que uma outra máquina calcule a chave o algoritmo não será reconhecido. Há uma variedade de cifras de criptografias simétricas, incluindo, mas não limitando ao uso da AES (Criptografia Padrão Avançada), CAST128, Blowfish, etc. Antes de se estabelecer uma conexão segura, o cliente e o servidor de hospedagem decidem quais cifras serão usadas, em uma ordem de preferência, de cifras para utilização. 7
  • 8. Criptografia assimétrica Segundo Ariane ao contrário da criptografia simétrica, a criptografia assimétrica usa duas chaves separadas para criptografia e descriptografia. Essas duas chaves são conhecidas como chave-pública e chave-privada. Juntas, as chaves são conhecidas como pública-privada e formam um par de chaves. A chave pública, como o próprio nome sugere, é aberta, distribuída e compartilhada com todas as partes. 8
  • 9. Cont… A relação entre duas chaves é extremamente complexa: uma mensagem é criptografada por uma chave pública, e pode ser decriptografada pela mesma chave privada. Essa uma relação de uma via que dá sentido a chave pública em próprias mensagens, mas não pode ser decodificada pela chave privada. A chave privada precisa ser renomeada como privada para a conexão ser segura, e ninguém deve saber disso. A força de toda a conexão reside no fato de que, a chave privada nunca é revelada, pois é o único componente capaz de descriptografar mensagens que foram criptografadas usando sua própria chave. 9
  • 10. Cont… Portanto, qualquer parte com a capacidade de descriptografar mensagens publicamente assinadas deve possuir a chave privada correspondente. Ao contrário da percepção geral, a criptografia assimétrica não é usada para criptografar toda a sessão SSH. Em vez disso, ela só é usada durante o algoritmo de troca de chaves de criptografia simétrica. Antes de iniciar uma conexão segura, ambas as partes geram pares de chaves público-privadas temporárias e compartilham suas respectivas chaves privadas para produzir a chave secreta compartilhada. Uma vez que uma comunicação simétrica segura for estabelecida, o servidor usa a chave pública dos clientes para gerar, testar e transmitir ao cliente para autenticação. Se o cliente conseguir descriptografar com sucesso a mensagem, isso significa que ela contém a chave privada necessária para a conexão. 10
  • 11. Hashing De acordo com ele One-way hashing é mais uma forma de criptografia usada em conexões seguras de Shell. As funções do one-way-hash diferem das duas formas de criptografia acima mencionadas, no sentido de que elas nunca devem ser descriptografadas. Eles geram um valor exclusivo, um sentido único de comprimento fixo para cada entrada que não mostra nenhuma tendência clara que possa ser explorada. Isso torna praticamente impossível de ser feita a reversão. É fácil gerar uma criptografia hash vindo de uma porta de entrada, mas é impossível gerar uma entrada a partir de um hash. Isso significa que, quando um cliente determina uma entrada correta, ele pode gerar uma criptografia hash, comparar o valor e verificar onde fica a entrada correta. 11
  • 12. Cont… O SSH usa hashes para verificar a autenticidade das mensagens. Isso é feito usando os códigos de autenticação de mensagens baseados em Hash, um comando específico não utilizado por mais ninguém. Enquanto o algoritmo criptografado está sendo seleccionado, uma mensagem de autenticação é também seleccionada. Este trabalho é parecido com o da selecção de cifras, visto na seção de criptografia simétrica. Esta mensagem transmitida precisa conter um MAC, que é calculado usando uma chave simétrica, uma pacote sequencial numérico e de mensagens de conteúdo. É enviado para fora de forma simétrica, com dados criptografados em uma sessão de pacote de comunicação. Para Ariane o SSH opera em portas-padrão 22 TCP (isso pode ser mudado quando necessário). O servidor captura as informações pela porta 22 (ou outra porta assinada SSH) para receber as conexões. 12
  • 13. Autenticação de cliente SSH Caso a sua máquina cliente seja Linux, não precisa de fazer nada, uma vez que este por omissão traz clientes de Telnet e de SSH instalados. Caso a sua máquina cliente seja Windows, descarregue e instale a aplicação PuTTY que está Disponível http://www.chiark.greenend.org.uk/~sgtatham/putty. Esta aplicação é um cliente de Telnet e SSH. 13
  • 14. Cont… Servidor SSH  Actualize a informação de actualização do Ubuntu, usando o seguinte comando: sudo apt-get update  Instale um servidor de Telnet (telnetd), usando o seguinte comando: sudo apt- get install telnetd  Caso seja necessário reiniciar o servidor, faça-o utilizando o seguinte comando: sudo /etc/init.d/openbsd-inetd restart  Instale um servidor de SSH utilizando o seguinte comando: sudo apt-get install openssh-server  Inicie o servidor de SSH utilizando o seguinte commando: sudo service ssh start Verifique que os serviços Telnet e SSH estão ativos na máquina. 14
  • 15. Cont… Para isso, verifique se os respetivos portos TCP estão disponíveis para receber ligações, utilizando o seguinte comando: netstat –atn Confirme que as interfaces de rede das máquinas virtuais que está a utilizar para este trabalho estão configuradas como NAT ou como Host Only. Verifique o endereço IP e o nome da interface de rede da máquina servidora, utilizando o comando: ifconfig Antes de prosseguir verifique ainda a conectividade da máquina cliente para a máquina servidora utilizando o comando ping. 15
  • 16. SSH com autenticação de utentes com chaves assimétricas Na máquina cliente gere um par de chaves para utilizar no Putty para a sua autenticação no acesso ao servidor SSH. ssh-keygen -t rsa Instale a sua chave pública no servidor de SSH. ssh-copy-id -i PubKeyFile <username>@<server> Analise as vantagens e desvantagens da autenticação por chaves assimétricas em relação à autenticação por senha (password). A principal vantagem é que não basta a um atacante obter a frase chave para aceder ao servidor, uma vez que este também necessita de possuir a chave privada. A desvantagem é que este acesso apenas é possível de máquinas onde o utilizador tem as suas chaves instaladas. 16
  • 17. Senhas descartáveis É uma senha que perde a validade após um processo de autenticação para impedir um phishing da senha. O objectivo é fazer com que o usuário informe senhas diferentes a cada acesso. OTPs não podem ser memorizadas pelos humanos: requer uma tecnologia adicional. As senhas descartáveis podem ser classificadas em duas categorias:  Sincronizadas no tempo  Desafio/ resposta. No método de autenticação sincronizado uma nova senha é gerada a cada 30 segundos, de acordo com um algoritmo predefinido que utiliza o dia, a hora e um segredo 17
  • 18. Vantagens  Nenhum dado secreto estático é transmitido via uma rede  A criação de novas senhas a cada utilização evita que um software malicioso intercepte e explore senhas capturadas  É uma solução que não precisa ser implementada em software  É necessário um sistema back-end para verificar a validade da senha.  Sistemas OTP são mais seguros que aqueles que praticam políticas de senhas reutilizáveis, como o Kerberos. Os sistemas mais populares para autenticação que usam senhas descartáveis são:  SecurID  S/KEY 18
  • 19. SecurID Tokens físicos são utilizados para autenticar usuários. Cada usuário possui um cartão que gera os tokens. O algoritmo usado pelo token é proprietário. Cada cartão ou token contém uma única senha secreta. Uma cópia desta senha está no servidor de autenticação. Esta senha é utilizada para gerar o número de 6 dígitos que é apresentado ao usuário. 19
  • 20. S/KEY Passo inicial: inicialização de alguns dados por parte do usuário. 1. Usuário faz um login em um servidor de autenticação seguro.  Este login deve ser local ou utilizando uma rede segura.  O login remoto “derruba” a idéia do S/KEY 1. Usuário escolhe uma senha secreta e o número de senhas (n) descartáveis que o sistema irá gerar. 2. O software aplica um conjunto de n passos, definidos em uma função hash, sobre a senha secreta 20
  • 21. Cont… 3. O resultado é armazenado no servidor de autenticação.  O servidor de autenticação mantém o controle do número de vezes que cada usuário se autentica no sistema.  A primeira vez que o usuário realiza o acesso é solicitado a combinação n-1 gerada com a função hash.  O usuário digita sua senha secreta em sua máquina local.  O software aplica n-1 iterações da função hash sobre a informação dada pelo usuário.  O resultado é enviado pela rede para o servidor de autenticação.  O servidor aplica a função hash sobre a mensagem e o resultado é comparado com o armazenado anteriormente.  Se conferir: usuário autenticado  O servidor substitui o valor armazenado pela mensagem que ele recebeu e decrementa o contador de senhas n.  Dessa maneira, o servidor se prepara para uma próxima autenticação.  O usuário precisa de um software S/KEY cliente.  Se ele não tiver: deve possuir uma lista dos OTPs para informar a cada solicitação.  Semelhança: Cartão de chaves de segurança dos bancos. 21
  • 22. Problemas do S/KEY A senha descartável é enviada pela rede em texto plano. Se alguém interceptar e conhecer a função hash, a segurança é quebrada! A senha secreta é a chave de todo o processo: OTPs = funçao_hash (senha_secreta_usuario) A protecção desta senha é fundamental para a segurança do esquema 22
  • 23. Sistema RSA Securld Clifford Cocks, Adi Shamir e Leonard Adleman (1977) RSA (Rivest-Shamir-Adleman) é um dos primeiros sistemas de criptografia de chave pública e é amplamente utilizado para transmissão segura de dados. Neste sistema de criptografia, a chave de encriptação é pública e é diferente da chave de decriptação que é secreta (privada). No RSA, esta assimetria é baseada na dificuldade prática da factorização do produto de dois números primos grandes, o "problema de factoração". 23
  • 24. Cont… O acrónimo RSA é composto das letras iniciais dos sobrenomes de Ron Rivest, Adi Shamir e Leonard Adleman, fundadores da actual empresa RSA Data Security, os quais foram os primeiros a descrever o algoritmo em 1978. Clifford Cocks, um matemático Inglês que trabalhava para a agência de inteligência britânica Government Communications Headquarters (GCHQ), desenvolveu um sistema equivalente em 1973, mas ele não foi revelado até 1997. É considerado dos mais seguros, já que mandou por terra todas as tentativas de quebrá-lo. Foi também o primeiro algoritmo a possibilitar criptografia e assinatura digital, e uma das grandes inovações em criptografia de chave pública. 24
  • 25. Cont… O RSA é um algoritmo relativamente lento e, por isso, é menos usado para criptografar directamente os dados do usuário. Mais frequentemente, o RSA passa chaves criptografadas compartilhadas para criptografia de chave simétrica que, por sua vez, pode executar operações de criptografia-descriptografia em massa a uma velocidade muito maior. 25
  • 26. Funcionamento O RSA envolve um par de chaves, uma chave pública que pode ser conhecida por todos e uma chave privada que deve ser mantida em sigilo. Toda mensagem cifrada usando uma chave pública só pode ser decifrada usando a respectiva chave privada. A criptografia RSA atua directamente na internet, por exemplo, em mensagens de emails, em compras on-line e o que você imaginar; tudo isso é encriptado e decriptado pela criptografia RSA. 26
  • 27. Chave pública Criptografia de chave pública, também conhecida como criptografia assimétrica, é qualquer sistema criptográfico que usa pares de chaves: chaves públicas, que podem ser amplamente disseminadas, e chaves privadas que são conhecidas apenas pelo proprietário. Isto realiza duas funções: autenticação, onde a chave pública verifica que um portador da chave privada parelhada enviou a mensagem, e encriptação, onde apenas o portador da chave privada parelhada pode decriptar a mensagem encriptada com a chave pública. Um número imprevisível (tipicamente grande e aleatório) é usado para começar a geração de um par de chaves adequado para uso por um algoritmo de chave assimétrica. 27
  • 28. Cont… Em um esquema de encriptação de chave assimétrica, qualquer um pode encriptar mensagens usando a chave pública, mas apenas o detentor da chave privada pareada pode decriptar. Segurança depende do sigilo da chave privada Criptografia de chave pública é frequentemente usada para garantir a segurança da comunicação electrónica sobre um ambiente interconectado aberto tal como a internet, sem depender de um canal encoberto até para uma troca de chaves. Ambientes interconectados abertos são susceptíveis a uma variedade de problemas de segurança de comunicação tais quais ataque do homem-no-meio e outras ameaças à segurança. 28
  • 29. Cont… Propriedades de segurança necessárias para comunicação tipicamente incluem que a comunicação que está sendo enviada não deva ser legível durante a transição (preservando confidencialidade), a comunicação não deve ser modificada durante a transição (preservando a integridade da comunicação), a comunicação deve ser originada por uma parte identificada (autenticidade do remetente) e para assegurar o não-repúdio (a não negação de envio da mensagem). Combinar criptografia de chave pública com um método de Encriptação de Chave Pública Envelopada, permite o envio seguro de uma comunicação sobre um ambiente interconectado aberto. 29
  • 30. Segurança Alguns esquemas de encriptação podem ser provados como sendo seguros com base na dificuldade presumida de um problema matemático, como encontrar a fatoração inteira do produto de dois primos muito grandes ou computar logaritmos discretos. Note que "segurança" aqui tem um significado matematicamente preciso, e existem múltiplas definições (significativas) diferentes do que significa dizer que um esquema de encriptação é "seguro". A definição "correta" depende do contexto no qual o esquema será implantado. A aplicação mais óbvia de um sistema de encriptação de chave pública é confidencialidade – uma mensagem que o emissor quer encriptar usando a chave pública do destinatário pode ser decriptada apenas pela chave privada correspondente do destinatário. Assumindo, claro, que nenhuma falha foi descoberta no algoritmo base usado. 30
  • 31. Cont… Outro tipo de aplicação em criptografia de chave pública é o de esquemas de assinatura digital. Em tal esquema, o usuário que quer enviar uma mensagem computa uma assinatura digital para essa mensagem, e então envia essa assinatura digital (junto com a mensagem) para o remetente desejado. Esquemas de assinatura digital têm a propriedade de que assinaturas podem ser computadas apenas com o conhecimento da chave privada correta. Para verificar que a mensagem foi assinada pelo usuário e que não foi modificada, o destinatário precisa saber apenas a chave pública correspondente. Em alguns casos, um único algoritmo pode ser usado para encriptar e criar assinaturas digitais. Em outros casos cada algoritmo pode ser usado apenas para um propósito específico. Para alcançar tanta autenticação quanta confidencialidade, o emissor deve assinar a mensagem usando sua a chave privada, e então encriptar tanto a mensagem quanto a assinatura usando a chave pública do destinatário. 31
  • 33. Cont… enable !Acessando o modo de Configuração Global de comandos configure terminal !Configuração do nome de domínio FQDN (Nome de Domínio Totalmente Qualificado) ip domain-name informaica.ac !Criação da chave de criptografia e habilitar o serviço de SSH Server local crypto key generate rsa !Habilitando a versão 2 do serviço de SSH Server ip ssh version 2 !Habilitando o tempo de inatividade para novas conexões do SSH Server ip ssh time-out 60 !Habilitando o número máximo de tentativas de conexões simultâneas no SSH Server ip ssh authentication-retries 2 !Acessando as linhas virtuais de acesso remoto do Switch line vty 0 4 33
  • 34. Cont… !Configuração do protocolo de transporte somente SSH transport input ssh !Saindo de todos os níveis e voltando para o modo EXEC Privilegiado end !Salvando as configurações da memória RAM para a memória NVRAM write !Visualizando as configurações da memória RAM show running-config !Visualizando as configurações do SSH Server show ip ssh !Visualizando das chaves públicas RSA show crypto key mypubkey rsa !Visualizando as conexões ativas do SSH Server show ssh !Visualizando as conexões remotas estabelecidas no Switch show users 34
  • 36. Conclusão  Chegando ao fim do trabalho nota-se que uma das mais úteis características do SSH é a sua capacidade de criar túneis criptográficos. Esta técnica permite, entre outras coisas, navegar na internet com segurança por meio de uma conexão insegura (como uma rede wireless sem criptografia), ou contornar as restrições de serviços impostas por um firewall em uma rede local. Fica claro que SSH oferece três mecanismos que formam a base dos serviços que ele fornece. Um protocolo de camada de transporte que fornece autenticação de servidor, confidencialidade de dados e integridade de dados com privacidade de encaminhamento perfeita (ou seja, se uma chave for comprometida durante uma sessão, o conhecimento não afecta a segurança das sessões anteriores). Um protocolo de autenticação de usuário que autentica o usuário para o servidor. Assim, um servidor pode dizer exactamente que o usuário está tentando formar uma conexão . 36