Baixe o app para aproveitar ainda mais
Prévia do material em texto
Aula 4-5 Protegendo dados Objetivo • Compreender os protocolos fundamentais de criptografia • Descrever implementações criptográficas no RHEL • Configurar serviços de criptografia A necessidade de criptografia Fragilidade do tráfego clear text • Captura de senhas e dados • Manipulação de autenticação e dados • Equivalente a mandar um cartão-postal Protocolos tradicionais inseguros • telnet, FTP, POP3: senhas inseguras • sendmail, NFS, NIS: informação insegura • rsh, rcp, etc.: autenticação insegura Elementos básicos da criptografia • Gerador de números aleatórios • Hashes de mão única • Algoritmos simétricos • Algoritmos assimétricos (chave pública) • Infraestrutura de Chave Pública (PKI) • Certificados Digitais • Implementações: openssl, gpg Gerador de números aleatórios Números pseudo-randômicos e entropia • Eventos de teclado e mouse • Interrupções de dispositivos de bloco kernel oferece duas fontes: /dev/random • Melhor fonte • É interrompida quando a fonte de entropia é exaurida /dev/urandom • Usa a fonte de entropia até que seja exaurida • Passa então a usar números pseudo-aleatórios Hashes de uma via Dados arbitrários são reduzidos a uma “assinatura” • Entrada de tamanho variável • Saída de tamanho fixo • Se a entrada muda, a saída se altera • Dados não podem ser recuperados a partir do hash Algoritmos • md2, md5,mdc2, rmd160, sha, sha1 Utilitários • Md5sum [ --check] • openssl, gpg • rpm -K, --checksig Criptografia simétrica Baseada em uma única chave • Usada para criptografar e “descriptografar” Algoritmos comuns • DES, 3DES, Blowfish, RC2, RC4, RC5, IDEA, CAST5 Utilitários comuns • passwd • gpg (3DES, CAST5, Blowfish) • openssl Criptografia assimétrica (1) Baseada em par de chaves (pública/privada) • O que uma chave criptografa, a outra “descriptografa” Protocolo I: Criptografia sem sincronia de chaves • Destinatário • Gera par de chaves pública/privada: P e S • Publica a chave P, guarda a chave S • Remetente • Criptografa mensagem usando a chave P publicada • Envia P(M) para o destinatário • Destinatário “descriptografa”: M=S(P(M)) Criptografia assimétrica (2) Protocolo II: Assinaturas digitais Remetente • Gera par de chaves pública/privada: P e S • Publica a chave P, guarda a chave S • Criptografa a mensagem M usando a chave S • Envia S(M) para o destinatário Destinatário • Usa a chave publicada para descriptografar: M=P(S(M)) Combinados, temos assinatura e criptografia! Assinatura “desanexada” Infraestrutura de chave pública • A criptografia assimétrica depende da integridade da chave pública • Duas abordagens desencorajam falsificações: • Publicação das fingerprints das chaves • Public Key Infrastructure (PKI) • Teia de confiança distribuída • Autoridades certificadoras hierárquicas • Certificados digitais Certificados digitais • Autoridades certificadoras • Certificado digital • Proprietário: chave pública e identidade • Emitente: assinatura desanexada e identidade • Período de validade • Tipos • Certificados de autoridades certificadoras • Certificados para servidores • Certificados auto-assinados Gerando certificados digitais • Formato de certificado X.509 • Gere um par de chaves pública/privada e associe à sua identidade • Duas opções: • Usar uma Autoridade Certificadora (CA) • Gerar solicitação de assinatura (csr) • Enviar csr para a CA • Receber assinatura da CA • Certificado auto-assinado • Você assina sua própria chave pública OpenSSH: visão geral • Substitui aplicações comuns de comunicação em rede que são inseguras • Provê autenticação baseada em credenciais e tokens • Capaz de fazer o “tunelamento” de outros protocolos • Configuração default (cliente e servidor) reside em /etc/ssh Autenticação OpenSSH O daemon sshd pode usar diferentes métodos de autenticação l Senhas (enviadas de forma segura) l Chaves RSA e DAS l Kerberos l s/key e SecureID l Autenticação de host baseada em chaves de sistema O servidor OpenSSH • Provê maior segurança de dados entre sistemas em rede • Criptografia de chave pública/privada • Compatível com as versões iniciais (comerciais) do SSH • Implementa segurança de host através da biblioteca libwrap.so Perfil de serviço: SSH • Tipo: System-V • Pacotes: openssh, openssh-clients, openssh-server • Daemon: /usr/sbin/sshd • Script: /etc/init.d/sshd • Porta: 22 • Configuração: /etc/ssh/*, $HOME/.ssh/ • Relacionados: openssl, openssh- askpass, openssh-askpass-gnome, tcp_wrappers Configuração do servidor OpenSSH • Arquivo de configuração do sshd • /etc/ssh/sshd_config • Opções importantes ! • Protocol • ListenAddress • PermitRootLogin • Banner O cliente OpenSSH • Sessões de shell seguras • ssh hostname • ssh login@hostname • ssh hostname comando-remoto • Cópia segura de arquivos e diretórios • scp arquivo login@host:dir- remoto • scp -r login@host:dir-remoto dir-local • FTP seguro oferecido pelo sshd • sftp hostname
Compartilhar