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