Segurança e Auditoria de Sistemas Prof. Fabiano Sabha Protocolos Criptográficos Mecanismos de Segurança – Redes TCP/IP • Tecnologias e mecanismos de proteção • Dispositivos e equipamentos de rede • Softwares • Protocolos • Atividades de gerência voltadas para aspectos de segurança • Protocolos de gerência • Registro de acessos e eventos • Auditoria Segurança e Auditoria de Sistemas - Prof. Fabiano Sabha 3 Protocolos Criptográficos Os Protocolos Estudados serão: IPSEC – Internet Protocol Security SSL – Secure Sockets Layer Segurança e Auditoria de Sistemas - Prof. Fabiano Sabha 4 Problemas na Troca de Dados Segurança e Auditoria de Sistemas - Prof. Fabiano Sabha 5 Problemas na Troca de Dados Segurança e Auditoria de Sistemas - Prof. Fabiano Sabha 6 Problemas na Troca de Dados Segurança e Auditoria de Sistemas - Prof. Fabiano Sabha 7 IPSEC – Internet Protocol Security O Protocolo IPSEC O IPSec é um conjunto de padrões utilizados para garantir uma comunicação segura entre dois computadores, mesmo que as informações estejam sendo enviadas através de um meio não seguro, como por exemplo a Internet. Segurança e Auditoria de Sistemas - Prof. Fabiano Sabha 9 Introdução ao IPSEC O IPSec é baseado em um modelo ponto-a-ponto, no qual dois computadores, para trocar informações de maneira segura, usando IPSec, devem “concordar” com um conjunto comum de regras e definições do IPSec. Com o uso do IPSEc e das tecnologias associadas, os dois computadores são capazes de se autenticar mutuamente e manter uma comunicação segura, com dados criptografados, mesmo usando um meio não seguro, como a Internet. Segurança e Auditoria de Sistemas - Prof. Fabiano Sabha 10 Introdução ao IPSEC O uso do protocolo IPSec apresenta funcionalidades importantes, quando existe uma necessidade de grande segurança na comunicação entre dois computadores. A seguir as principais características: Facilidade de Uso Baseado em Criptografia Segurança de Ponta-a-Ponta Segurança e Auditoria de Sistemas - Prof. Fabiano Sabha 11 Modo de Implantação do IPSEC Server (Request Security): Ao habilitar esta diretiva, também serão aceitas comunicações não seguras, porém para estabelecer uma conexão segura, os clientes devem utilizar um método de autenticação aceito pelo servidor. Com esta política serão aceitas comunicações não seguras (não utilizando IPSec), se o outro lado não suportar o uso do IPSec. Ou seja, quando o cliente tenta se comunicar com o servidor, o Servidor tenta estabelecer uma comunicação usando IPSec. Se o cliente não estiver configurado para utilizar o IPSec, a comunicação será estabelecida mesmo assim, sem a utilização de IPSec. Segurança e Auditoria de Sistemas - Prof. Fabiano Sabha 12 Modo de Implantação do IPSEC Client (Respond only): Esta política é indicada para computadores da rede interna, da Intranet da empresa. Ao iniciar a comunicação com outros computadores, não será utilizado o IPSec. Contudo se o outro computador exigir o uso do IPSec, a comunicação via IPSec será estabelecida. Segurança e Auditoria de Sistemas - Prof. Fabiano Sabha 13 Modo de Implantação do IPSEC Security Server (Request Security): Aceita um início de comunicação não seguro, mas requer que os clientes estabeleçam uma comunicação segura, usando IPSec e um dos métodos aceitos pelo servidor. Se o cliente não puder atender estas condições, a comunicação não será estabelecida. Segurança e Auditoria de Sistemas - Prof. Fabiano Sabha 14 Características e Componentes do IPSEC Quando o IPSec é habilitado e dois computadores passam a se comunicar usando IPSec, algumas modificações são efetuadas na maneira como é feita a troca de informações entre estes computadores. A primeira mudança é que o protocolo IPSec adiciona um cabeçalho (Header) em todos os pacotes. Este cabeçalho é tecnicamente conhecido como AH (Authentication header). Este cabeçalho desempenha três importantes funções: Segurança e Auditoria de Sistemas - Prof. Fabiano Sabha 15 Características e Componentes do IPSEC É utilizado para a autenticação entre os computadores que se comunicarão usando IPSec. É utilizado para verificar a integridade dos dados, ou seja, para verificar se os dados não foram alterados ou corrompidos durante o transporte. Impede ataques do tipo repetição. O cabeçalho de autenticação impede este tipo de ataque, pois contém informações que permitem ao destinatário identificar se um pacote já foi entregue ou não. Segurança e Auditoria de Sistemas - Prof. Fabiano Sabha 16 Características e Componentes do IPSEC No cabeçalho AH estão, dentre outras, as seguintes informações: A identificação do próximo cabeçalho, O tamanho do cabeçalho, Parâmetros de segurança, Número de seqüência e Autenticação de dados (contém informações para a verificação da integridade de dados). Segurança e Auditoria de Sistemas - Prof. Fabiano Sabha 17 Características e Componentes do IPSEC Importante: O cabeçalho de identificação não é criptografado e não é utilizado para criptografar dados. Conforme o nome sugere ele contém informações para a autenticação e para verificação da integridade dos dados. Segurança e Auditoria de Sistemas - Prof. Fabiano Sabha 18 Características e Componentes do IPSEC Para garantir a confidencialidade, o IPSec usa pacotes no formato Encapsulating Security Payload (ESP). Os dados do pacote são criptografados antes da transmissão, garantindo que os dados não possam ser lidos durante a transmissão mesmo que o pacote seja monitorado ou interceptado por um invasor. Apenas o computador com a chave de criptografia compartilhada será capaz de interpretar ou modificar os dados. Segurança e Auditoria de Sistemas - Prof. Fabiano Sabha 19 Características e Componentes do IPSEC Os algoritmos United States Data Encryption Standard (DES padrão dos Estados Unidos), DES e 3DES são usados para oferecer a confidencialidade da negociação de segurança e do intercâmbio de dados de aplicativo. O Cipher Block Chaining (CBC) é usado para ocultar padrões de blocos de dados idênticos dentro de um pacote sem aumentar o tamanho dos dados após a criptografia. Segurança e Auditoria de Sistemas - Prof. Fabiano Sabha 20 Características e Componentes do IPSEC Padrões repetidos podem comprometer a segurança fornecendo uma pista que um invasor pode usar para tentar descobrir a chave de criptografia. Um vetor de inicialização (número inicial aleatório) é usado como o primeiro bloco aleatório para criptografar e descriptografar um bloco de dados. Segurança e Auditoria de Sistemas - Prof. Fabiano Sabha 21 Características e Componentes do IPSEC Diferentes blocos aleatórios são usados junto com a chave secreta para criptografar cada bloco. Isso garante que conjuntos idênticos de dados não protegidos sejam transformados em conjuntos exclusivos de dados criptografados. Segurança e Auditoria de Sistemas - Prof. Fabiano Sabha 22 Funcionalidades do IPSEC Quando dois computadores vão trocar dados usando IPSec, a primeira etapa é fazer a autenticação mútua entre os dois computadores. Nenhuma troca de dados é efetuada, até que a autenticação mútua tenha sido efetuada com sucesso. O IPSec utiliza o protocolo Kerberos para autenticação dos usuários. Segurança e Auditoria de Sistemas - Prof. Fabiano Sabha 23 Funcionalidades do IPSEC Quando dois computadores vão se comunicar via IPSec, é criada uma SA (Securtiy Association – associação de segurança) entre os computadores. Na SA estão definidas as regras de comunicação, os filtros a serem aplicados e o conjunto de chaves que será utilizado para criptografia e autenticação. Segurança e Auditoria de Sistemas - Prof. Fabiano Sabha 24 Funcionalidades do IPSEC O protocolo IPSec pode utilizar certificados de chave pública para confiar em computadores que utilizam outros sistemas operacionais, como por exemplo o Linux. O IPSec fornece suporte ao pré-compartilhamento de uma chave de segurança (preshared key support). Em situações onde não está disponível o uso do protocolo Kerberos, uma chave, como por exemplo a definição de uma senha, pode ser configurada ao criar a sessão IPSec. Segurança e Auditoria de Sistemas - Prof. Fabiano Sabha 25 SSL – Secure Sockets Layer O SSL Esse protocolo foi criado pela Netscape para disponibilização de sites protegidos, tendo seu uso estendido a outras àreas. Outro protocolo criptográfico muito utilizado no mundo UNIX é o SSH, utilizado para conexões remotas seguras. Segurança e Auditoria de Sistemas - Prof. Fabiano Sabha 27 SSL e SSH Os protocolos SSH e SSL funcionam de uma maneira parecida. Inicialmente é feita uma conexão usando algoritmos de chave pública. Após isso, são trocadas chaves criadas aleatoriamente usando esses algoritmos. Depois, o tráfego é feito utilizando algoritmos de chave privada, uma vez que exigem menor esforço computacional. Segurança e Auditoria de Sistemas - Prof. Fabiano Sabha 28 SSL e SSH Segurança e Auditoria de Sistemas - Prof. Fabiano Sabha 29 O SSL Permite que aplicativos cliente/servidor possam trocar informações em total segurança, protegendo a integridade e a veracidade do conteúdo que trafega na Internet. Tal segurança só é possível através da autenticação das partes envolvidas na troca de informações. Segurança e Auditoria de Sistemas - Prof. Fabiano Sabha 30 Funcionamento do SSL Uma conexão utilizando SSL é sempre iniciada pelo cliente. Quando um usuário solicita a conexão com um site seguro, o navegador web solicita o envio do Certificado Digital e verifica se: a) O certificado enviado é confiável. b) O certificado é válido. c) O certificado está relacionado com o site que o enviou. Segurança e Auditoria de Sistemas - Prof. Fabiano Sabha 31 Funcionamento do SSL Segurança e Auditoria de Sistemas - Prof. Fabiano Sabha 32 Algoritimos... o DES e DSA - algoritmo de criptografia usado pelo governo americano. o KEA - usado para a troca de chaves pelo governo americano. o MD5 – muito usado por desenvolvedores de software para que o usuário tenha certeza que o aplicativo não foi alterado. o RSA - Algoritmo de chave pública para criptografia e autentificação. o SHA-1 -também usado pelo governo americano. Segurança e Auditoria de Sistemas - Prof. Fabiano Sabha 33 Algoritmos... Importante: A versão 3.0 do SSL exige a autenticação de ambas as partes envolvidas na troca de mensagens. Ou seja, tanto cliente quanto servidor deve fazer autenticação e afirmar que são que dizem ser. Segurança e Auditoria de Sistemas - Prof. Fabiano Sabha 34 Localização no TCP/IP Segurança e Auditoria de Sistemas - Prof. Fabiano Sabha 35