A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

SSR – Secure-Sync OBJECTIVOS: Sincronização automática de ficheiros entre diferentes PCs. Sincronização automática de ficheiros entre diferentes PCs. Transferência.

Apresentações semelhantes


Apresentação em tema: "SSR – Secure-Sync OBJECTIVOS: Sincronização automática de ficheiros entre diferentes PCs. Sincronização automática de ficheiros entre diferentes PCs. Transferência."— Transcrição da apresentação:

1 SSR – Secure-Sync OBJECTIVOS: Sincronização automática de ficheiros entre diferentes PCs. Sincronização automática de ficheiros entre diferentes PCs. Transferência segura de ficheiros na rede usando protocolo SSH Transferência segura de ficheiros na rede usando protocolo SSH Flexibilidade de configuração Flexibilidade de configuração Gustavo J. A. M. Carneiro – Miguel Lázaro Mendes –

2 SSR – Secure-Sync OPÇÕES DE CONCEPÇÃO: Linguagem PERL. Linguagem PERL. Arquitectura cliente-servidor Arquitectura cliente-servidor Reutiliza implementação OpenSSH Reutiliza implementação OpenSSH A actualização é recursiva e uni-direccional A actualização é recursiva e uni-direccional Permite implementar esquemas de sincronização complexos Permite implementar esquemas de sincronização complexos Gustavo J. A. M. Carneiro – Miguel Lázaro Mendes –

3 SSR – Secure-Sync SSH: Secure SHell Substituto de RSH (Remote Shell) e Telnet Substituto de RSH (Remote Shell) e Telnet Ligação segura ponto-a-ponto, a nível de aplicação, entre cliente e servidor Ligação segura ponto-a-ponto, a nível de aplicação, entre cliente e servidor Ligação segura multiplexa vários canais: Ligação segura multiplexa vários canais: Linha de comandos remota Linha de comandos remota Port-forwarding (e.g. X11, IRC) Port-forwarding (e.g. X11, IRC) Dynamic port-forwarding (SOCKS v5) Dynamic port-forwarding (SOCKS v5) Gustavo J. A. M. Carneiro – Miguel Lázaro Mendes –

4 SSR – Secure-Sync SSH: Autenticação servidor cliente É gerada chave pública (tipicamente RSA 1024 bits) aquando da instalação do servidor É gerada chave pública (tipicamente RSA 1024 bits) aquando da instalação do servidor Servidor autentica-se perante cliente enviando a sua chave pública Servidor autentica-se perante cliente enviando a sua chave pública Na primeira vez que se liga, cliente deve confirmar a validade da chave mediante comparação de fingerprint Na primeira vez que se liga, cliente deve confirmar a validade da chave mediante comparação de fingerprint Se chave conhecida mas diferente, utilizador é alertado para um potencial ataque MIM Se chave conhecida mas diferente, utilizador é alertado para um potencial ataque MIM Gustavo J. A. M. Carneiro – Miguel Lázaro Mendes –

5 SSR – Secure-Sync SSH: Autenticação cliente servidor Autenticação por endereço IP ou DNS Autenticação por endereço IP ou DNS Servidor confia em determinadas máquinas Servidor confia em determinadas máquinas Método vulnerável a IP spoofing! Método vulnerável a IP spoofing! Autenticação por senha Autenticação por senha Cliente envia uma senha para o servidor por canal seguro criado com o método DH Cliente envia uma senha para o servidor por canal seguro criado com o método DH Problema: se o servidor for comprometido, o atacante fica a saber a nossa senha! Problema: se o servidor for comprometido, o atacante fica a saber a nossa senha! Gustavo J. A. M. Carneiro – Miguel Lázaro Mendes –

6 SSR – Secure-Sync SSH: Autenticação cliente servidor Autenticação por chave pública Autenticação por chave pública Cliente gera par de chaves, tipicamente DSA de 1024 bits, usando ssh-keygen Cliente gera par de chaves, tipicamente DSA de 1024 bits, usando ssh-keygen Chave publica é copiada para servidor, ficheiro ~/.ssh/authorized_keys Chave publica é copiada para servidor, ficheiro ~/.ssh/authorized_keys Chave privada, guardada no cliente, pode ser opcionalmente cifrada com senha. Chave privada, guardada no cliente, pode ser opcionalmente cifrada com senha. Gustavo J. A. M. Carneiro – Miguel Lázaro Mendes –

7 SSR – Secure-Sync SSH: Transporte Sessão cifrada com chave simétrica seleccionada pelo cliente: Sessão cifrada com chave simétrica seleccionada pelo cliente: AES de 128, 192 ou 256 bits AES de 128, 192 ou 256 bits Blowfish Blowfish 3DES 3DES Integridade garantida com hmac-sha1 ou hmac-md5 Integridade garantida com hmac-sha1 ou hmac-md5 Gustavo J. A. M. Carneiro – Miguel Lázaro Mendes –

8 SSR – Secure-Sync SSH: Comparação com SSL/TLS Vantagens: Vantagens: Não necessita de certificados assinados por CAs Não necessita de certificados assinados por CAs Mais simples de configurar que SSL Mais simples de configurar que SSL Aplicações incluídas (ssh, scp, sftp) Aplicações incluídas (ssh, scp, sftp) Desvantagens: Desvantagens: Utilizador tem que verificar assinatura do servidor manualmente pelo menos uma vez Utilizador tem que verificar assinatura do servidor manualmente pelo menos uma vez Não oferece interface de programação Não oferece interface de programação Gustavo J. A. M. Carneiro – Miguel Lázaro Mendes –

9 SSR – Secure-Sync Arquitectura Gustavo J. A. M. Carneiro – Miguel Lázaro Mendes – IP TCP SSH Transport SCPSSH IP TCP SSH Transport SSH server Secure-Sync --server ClienteServidor stat ficheiro isdir mtime touch mtime ficheiro cd dir mkdir dir Controlo Dados

10 SSR – Secure-Sync O CÓDIGO (Cliente): Executa o comando ssh estabelecendo uma ligação para o servidor obrigando-o a correr o script localmente: Executa o comando ssh estabelecendo uma ligação para o servidor obrigando-o a correr o script localmente: $server->spawn("/usr/bin/ssh", ($remote_host, "secure-sync.pl", "--server")) or die "Cannot spawn ssh: $!\n"; or die "Cannot spawn ssh: $!\n"; Gustavo J. A. M. Carneiro – Miguel Lázaro Mendes –

11 SSR – Secure-Sync O CÓDIGO (Servidor): As sub-rotinas corridas pelo servidor vão responder a pedidos do cliente: As sub-rotinas corridas pelo servidor vão responder a pedidos do cliente: sub run_server { while ( ) { chomp; if (/^stat (.*)$/) { server_do_stat($1); } elsif (/^cd (.*)$/) { server_do_cd($1); } elsif (/^touch (\d+) (.*)$/) { server_do_touch($1, $2); } elsif (/^mkdir (.*)$/) { mkdir $1; } } } } elsif (/^mkdir (.*)$/) { mkdir $1; } } } Gustavo J. A. M. Carneiro – Miguel Lázaro Mendes –

12 SSR – Secure-Sync DIAGRAMA DE FLUXO (Cliente): Gustavo J. A. M. Carneiro – Miguel Lázaro Mendes – Estabelece lig. SSH Corre o Script remotamente como servidor Coloca-se no directórios pré-definidos. Para cada entrada no dir. local Se for directório Se for ficheiro Compara tempo de última actualização remota e local Cria remotamente uma imagem desse directório Verifica se este existe remotamente Se existir Se não existir Coloca-se local e remotamente nesse directório Se temp_local > tempo_remoto Cria lig. SSH e copia o ficheiro para máq. remota forçando o tempo de actualização a ser igual ao do ficheiro original

13 SSR – Secure-Sync Notas e Limitações: O Servidor limita-se a executar as instruções recebidas do Cliente. O Servidor limita-se a executar as instruções recebidas do Cliente. Quando uma subdirectoria é completamente analisada, retorna-se à directoria que estava a ser analisada anteriormente Quando uma subdirectoria é completamente analisada, retorna-se à directoria que estava a ser analisada anteriormente Quando um ficheiro é apagado localmente, não só não é apagado remotamente como surge em pouco tempo uma cópia de outro PC. Quando um ficheiro é apagado localmente, não só não é apagado remotamente como surge em pouco tempo uma cópia de outro PC. Gustavo J. A. M. Carneiro – Miguel Lázaro Mendes –

14 SSR – Secure-Sync Cenários de Instalação Modelo Básico Master-Slave Modelo Básico Master-Slave Modelo de Pares Modelo de Pares Topologia em Estrela Topologia em Estrela Topologia em Árvore Topologia em Árvore … … Gustavo J. A. M. Carneiro – Miguel Lázaro Mendes –

15 SSR – Secure-Sync Modelo Master-Slave Modelo de Pares MasterSlave secure-sync Maq_AMaq_B secure-sync */5 * * * * secure-sync.pl MasterDir Slave SlaveDir crontab */5 * * * * secure-sync.pl Maq_ADir Maq_B Maq_BDir ; \ ssh Maq_B secure-sync.pl Maq_BDir Maq_A Maq_ADir crontab Gustavo J. A. M. Carneiro – Miguel Lázaro Mendes – Backup Sincronização (virtual office)

16 SSR – Secure-Sync Topologia em Estrela X Y Gustavo J. A. M. Carneiro – Miguel Lázaro Mendes – Sistema Distribuído (redução de carga no servidor central)

17 SSR – Secure-Sync Topologia em Árvore Root Gustavo J. A. M. Carneiro – Miguel Lázaro Mendes – Mirrorring


Carregar ppt "SSR – Secure-Sync OBJECTIVOS: Sincronização automática de ficheiros entre diferentes PCs. Sincronização automática de ficheiros entre diferentes PCs. Transferência."

Apresentações semelhantes


Anúncios Google