Segurança de rede - Camada de rede
Os controles de segurança da camada de rede têm sido usados com frequência para proteger as comunicações, especialmente em redes compartilhadas, como a Internet, porque podem fornecer proteção para muitos aplicativos ao mesmo tempo, sem modificá-los.
Nos capítulos anteriores, discutimos que muitos protocolos de segurança em tempo real evoluíram para a segurança de rede, garantindo princípios básicos de segurança, como privacidade, autenticação de origem, integridade da mensagem e não repúdio.
A maioria desses protocolos permaneceu focada nas camadas superiores da pilha de protocolos OSI, para compensar a falta inerente de segurança no protocolo de Internet padrão. Embora valiosos, esses métodos não podem ser generalizados facilmente para uso com qualquer aplicativo. Por exemplo, SSL é desenvolvido especificamente para proteger aplicativos como HTTP ou FTP. Mas existem vários outros aplicativos que também precisam de comunicações seguras.
Essa necessidade deu origem ao desenvolvimento de uma solução de segurança na camada IP para que todos os protocolos de camada superior pudessem tirar proveito dela. Em 1992, a Internet Engineering Task Force (IETF) começou a definir um padrão 'IPsec'.
Neste capítulo, discutiremos como a segurança é alcançada na camada de rede usando esse conjunto muito popular de protocolo IPsec.
Segurança na camada de rede
Qualquer esquema desenvolvido para fornecer segurança de rede precisa ser implementado em alguma camada na pilha de protocolo, conforme ilustrado no diagrama abaixo -
Camada | Protocolos de Comunicação | Protocolos de Segurança |
---|---|---|
Camada de aplicação | HTTP FTP SMTP | PGP. S / MIME, HTTPS |
Camada de transporte | TCP / UDP | SSL, TLS, SSH |
Camada de rede | IP | IPsec |
A estrutura popular desenvolvida para garantir a segurança na camada de rede é o Internet Protocol Security (IPsec).
Recursos do IPsec
O IPsec não foi projetado para funcionar apenas com o TCP como protocolo de transporte. Funciona com UDP e também com qualquer outro protocolo acima de IP, como ICMP, OSPF etc.
O IPsec protege todo o pacote apresentado à camada IP, incluindo cabeçalhos de camada superior.
Como os cabeçalhos das camadas superiores estão ocultos, levando o número da porta, a análise de tráfego é mais difícil.
O IPsec funciona de uma entidade de rede para outra entidade de rede, não de um processo de aplicativo para outro. Portanto, a segurança pode ser adotada sem a necessidade de alterações em computadores / aplicativos de usuários individuais.
Bastante amplamente usado para fornecer comunicação segura entre entidades de rede, o IPsec também pode fornecer segurança host a host.
O uso mais comum do IPsec é fornecer uma rede privada virtual (VPN), seja entre dois locais (gateway para gateway) ou entre um usuário remoto e uma rede corporativa (host para gateway).
Funções de Segurança
As importantes funções de segurança fornecidas pelo IPsec são as seguintes -
Confidencialidade
Ativa nós de comunicação para criptografar mensagens.
Impede a escuta de terceiros.
Autenticação de origem e integridade de dados.
Fornece garantia de que um pacote recebido foi realmente transmitido pela parte identificada como a fonte no cabeçalho do pacote.
Confirma que o pacote não foi alterado ou não.
Gerenciamento de chaves.
Permite a troca segura de chaves.
Proteção contra certos tipos de ataques à segurança, como ataques de repetição.
Rede Privada Virtual
O ideal é que qualquer instituição deseje sua própria rede privada de comunicação para garantir a segurança. No entanto, pode ser muito caro estabelecer e manter essa rede privada em uma área geograficamente dispersa. Seria necessário gerenciar uma infraestrutura complexa de links de comunicação, roteadores, DNS, etc.
O IPsec fornece um mecanismo fácil para a implementação de Rede Privada Virtual (VPN) para essas instituições. A tecnologia VPN permite que o tráfego entre escritórios da instituição seja enviado pela Internet pública criptografando o tráfego antes de entrar na Internet pública e separando-o logicamente de outro tráfego. O funcionamento simplificado da VPN é mostrado no diagrama a seguir -
Visão geral do IPsec
IPsec é uma estrutura / suíte de protocolos para fornecer segurança na camada IP.
Origem
No início dos anos 90, a Internet era usada por poucas instituições, principalmente para fins acadêmicos. Mas nas décadas posteriores, o crescimento da Internet tornou-se exponencial devido à expansão da rede e várias organizações que a usam para comunicação e outros fins.
Com o crescimento massivo da Internet, combinado com as fragilidades de segurança inerentes ao protocolo TCP / IP, sentiu-se a necessidade de uma tecnologia que pudesse fornecer segurança de rede na Internet. Um relatório intitulado "Segurança na Arquitetura da Internet" foi publicado pelo Internet Architecture Board (IAB) em 1994. Ele identificou as principais áreas para os mecanismos de segurança.
O IAB incluiu autenticação e criptografia como recursos de segurança essenciais no IPv6, o IP de próxima geração. Felizmente, esses recursos de segurança foram definidos de forma que possam ser implementados com o IPv4 atual e o IPv6 futurista.
Estrutura de segurança, o IPsec foi definido em várias 'Solicitações de comentários' (RFCs). Algumas RFCs especificam algumas partes do protocolo, enquanto outras tratam da solução como um todo.
Operações dentro do IPsec
O conjunto IPsec pode ser considerado como tendo duas operações separadas, quando executadas em uníssono, fornecendo um conjunto completo de serviços de segurança. Essas duas operações são comunicação IPsec e Internet Key Exchange.
Comunicação IPsec
Normalmente está associado à funcionalidade IPsec padrão. Envolve encapsulamento, criptografia e hash dos datagramas IP e manipulação de todos os processos de pacotes.
É responsável por gerenciar a comunicação de acordo com as associações de segurança (SAs) disponíveis estabelecidas entre as partes comunicantes.
Ele usa protocolos de segurança como Authentication Header (AH) e Encapsulated SP (ESP).
A comunicação IPsec não está envolvida na criação de chaves ou seu gerenciamento.
A própria operação de comunicação IPsec é comumente conhecida como IPsec.
Internet Key Exchange (IKE)
IKE é o protocolo de gerenciamento automático de chaves usado para IPsec.
Tecnicamente, o gerenciamento de chaves não é essencial para a comunicação IPsec e as chaves podem ser gerenciadas manualmente. No entanto, o gerenciamento manual de chaves não é desejável para grandes redes.
O IKE é responsável pela criação de chaves para IPsec e pelo fornecimento de autenticação durante o processo de estabelecimento de chaves. Embora o IPsec possa ser usado para qualquer outro protocolo de gerenciamento de chaves, o IKE é usado por padrão.
O IKE define dois protocolos (Oakley e SKEME) a serem usados com a estrutura de gerenciamento de chaves já definida Internet Security Association Key Management Protocol (ISAKMP).
ISAKMP não é específico do IPsec, mas fornece a estrutura para a criação de SAs para qualquer protocolo.
Este capítulo discute principalmente a comunicação IPsec e o protocolo associado empregado para obter segurança.
Modos de comunicação IPsec
A comunicação IPsec tem dois modos de funcionamento; modos de transporte e túneis. Esses modos podem ser usados em combinação ou individualmente, dependendo do tipo de comunicação desejada.
Modo de transporte
O IPsec não encapsula um pacote recebido da camada superior.
O cabeçalho IP original é mantido e os dados são encaminhados com base nos atributos originais definidos pelo protocolo da camada superior.
O diagrama a seguir mostra o fluxo de dados na pilha de protocolo.
A limitação do modo de transporte é que nenhum serviço de gateway pode ser fornecido. Ele é reservado para comunicações ponto a ponto, conforme ilustrado na imagem a seguir.
Modo Túnel
Este modo de IPsec fornece serviços de encapsulamento junto com outros serviços de segurança.
Nas operações de modo de túnel, todo o pacote da camada superior é encapsulado antes da aplicação do protocolo de segurança. Novo cabeçalho IP é adicionado.
O diagrama a seguir mostra o fluxo de dados na pilha de protocolo.
O modo de túnel geralmente está associado a atividades de gateway. O encapsulamento fornece a capacidade de enviar várias sessões por meio de um único gateway.
A comunicação típica do modo de túnel é conforme ilustrado no diagrama a seguir.
No que diz respeito aos terminais, eles têm uma conexão direta da camada de transporte. O datagrama de um sistema encaminhado ao gateway é encapsulado e, em seguida, encaminhado ao gateway remoto. O gateway associado remoto desencapsula os dados e os encaminha para o ponto de extremidade de destino na rede interna.
Usando o IPsec, o modo de encapsulamento também pode ser estabelecido entre o gateway e o sistema final individual.
Protocolos IPsec
O IPsec usa os protocolos de segurança para fornecer os serviços de segurança desejados. Esses protocolos são o coração das operações IPsec e todo o resto é projetado para oferecer suporte a esses protocolos no IPsec.
As associações de segurança entre as entidades de comunicação são estabelecidas e mantidas pelo protocolo de segurança usado.
Existem dois protocolos de segurança definidos pelo IPsec - Authentication Header (AH) e Encapsulating Security Payload (ESP).
Cabeçalho de Autenticação
O protocolo AH fornece serviço de integridade de dados e autenticação de origem. Opcionalmente, oferece resistência à reprodução de mensagens. No entanto, não fornece qualquer forma de confidencialidade.
AH é um protocolo que fornece autenticação de todo ou parte do conteúdo de um datagrama pela adição de um cabeçalho. O cabeçalho é calculado com base nos valores do datagrama. Quais partes do datagrama são usadas para o cálculo, e onde colocar o cabeçalho, depende do modo de cooperação (túnel ou transporte).
A operação do protocolo AH é surpreendentemente simples. Pode ser considerado semelhante aos algoritmos usados para calcular somas de verificação ou executar verificações CRC para detecção de erros.
O conceito por trás do AH é o mesmo, exceto que, em vez de usar um algoritmo simples, o AH usa um algoritmo de hash especial e uma chave secreta conhecida apenas pelas partes que se comunicam. Uma associação de segurança entre dois dispositivos é configurada para especificar essas particularidades.
O processo de AH passa pelas seguintes fases.
Quando o pacote IP é recebido da pilha de protocolo superior, o IPsec determina a Associação de Segurança (SA) associada a partir das informações disponíveis no pacote; por exemplo, endereço IP (origem e destino).
A partir do SA, uma vez identificado que o protocolo de segurança é AH, são calculados os parâmetros do cabeçalho AH. O cabeçalho AH consiste nos seguintes parâmetros -
O campo de cabeçalho especifica o protocolo do pacote após o cabeçalho AH. O Índice de Parâmetro de Sequência (SPI) é obtido do SA existente entre as partes em comunicação.
O número de sequência é calculado e inserido. Esses números fornecem capacidade opcional para AH resistir ao ataque de repetição.
Os dados de autenticação são calculados de forma diferente dependendo do modo de comunicação.
No modo de transporte, o cálculo dos dados de autenticação e a montagem do pacote IP final para transmissão são descritos no diagrama a seguir. No cabeçalho IP original, a alteração é feita apenas no número do protocolo como 51 para a aplicação indicada de AH.
No modo de túnel, o processo acima ocorre conforme descrito no diagrama a seguir.
Protocolo de Segurança de Encapsulamento (ESP)
O ESP fornece serviços de segurança como confidencialidade, integridade, autenticação de origem e resistência a reprodução opcional. O conjunto de serviços prestados depende das opções selecionadas no momento da constituição da Security Association (SA).
No ESP, os algoritmos usados para criptografar e gerar o autenticador são determinados pelos atributos usados para criar o SA.
O processo de ESP é o seguinte. As duas primeiras etapas são semelhantes ao processo de AH conforme declarado acima.
Assim que for determinado que ESP está envolvido, os campos do pacote ESP são calculados. O arranjo de campo ESP é descrito no diagrama a seguir.
O processo de criptografia e autenticação no modo de transporte é descrito no diagrama a seguir.
No caso do modo Túnel, o processo de criptografia e autenticação é conforme ilustrado no diagrama a seguir.
Embora a autenticação e a confidencialidade sejam os principais serviços fornecidos pelo ESP, ambas são opcionais. Tecnicamente, podemos usar criptografia NULL sem autenticação. No entanto, na prática, um dos dois deve ser implementado para usar o ESP de forma eficaz.
O conceito básico é usar ESP quando se deseja autenticação e criptografia, e usar AH quando se deseja autenticação estendida sem criptografia.
Associações de segurança em IPsec
A Associação de Segurança (SA) é a base de uma comunicação IPsec. As características do SA são -
Antes de enviar os dados, é estabelecida uma conexão virtual entre a entidade emissora e a entidade receptora, denominada “Security Association (SA)”.
O IPsec oferece muitas opções para executar a criptografia e autenticação da rede. Cada conexão IPsec pode fornecer criptografia, integridade, autenticidade ou todos os três serviços. Quando o serviço de segurança é determinado, as duas entidades de mesmo nível IPsec devem determinar exatamente quais algoritmos usar (por exemplo, DES ou 3DES para criptografia; MD5 ou SHA-1 para integridade). Depois de decidir sobre os algoritmos, os dois dispositivos devem compartilhar as chaves de sessão.
SA é um conjunto de parâmetros de comunicação acima que fornece um relacionamento entre dois ou mais sistemas para construir uma sessão IPsec.
O SA é simples por natureza e, portanto, dois SAs são necessários para comunicações bidirecionais.
As SAs são identificadas por um número de índice de parâmetro de segurança (SPI) que existe no cabeçalho do protocolo de segurança.
Ambas as entidades de envio e recebimento mantêm informações de estado sobre o SA. É semelhante aos pontos de extremidade TCP, que também mantêm informações de estado. O IPsec é orientado à conexão como o TCP.
Parâmetros de SA
Qualquer SA é identificada exclusivamente pelos três parâmetros a seguir -
Índice de parâmetros de segurança (SPI).
É um valor de 32 bits atribuído a SA. É usado para distinguir entre diferentes SAs que terminam no mesmo destino e usam o mesmo protocolo IPsec.
Cada pacote de IPsec carrega um cabeçalho contendo o campo SPI. O SPI é fornecido para mapear o pacote de entrada para um SA.
O SPI é um número aleatório gerado pelo remetente para identificar o SA para o destinatário.
Destination IP Address - Pode ser o endereço IP do roteador final.
Security Protocol Identifier - Indica se a associação é AH ou ESP SA.
O exemplo de SA entre dois roteadores envolvidos na comunicação IPsec é mostrado no diagrama a seguir.
Bancos de dados administrativos de segurança
No IPsec, existem dois bancos de dados que controlam o processamento do datagrama IPsec. Um é o Security Association Database (SAD) e o outro é o Security Policy Database (SPD). Cada ponto de extremidade em comunicação usando IPsec deve ter um SAD e um SPD logicamente separados.
Banco de dados de associação de segurança
Na comunicação IPsec, o endpoint mantém o estado SA no Security Association Database (SAD). Cada entrada SA no banco de dados SAD contém nove parâmetros, conforme mostrado na tabela a seguir -
Sr. Não. | Parâmetros e descrição |
---|---|
1 | Sequence Number Counter Para comunicações de saída. Este é o número de sequência de 32 bits fornecido nos cabeçalhos AH ou ESP. |
2 | Sequence Number Overflow Counter Define um sinalizador de opção para evitar outras comunicações utilizando o SA específico |
3 | 32-bit anti-replay window Usado para determinar se um pacote AH ou ESP de entrada é uma reprodução |
4 | Lifetime of the SA Tempo até SA permanecer ativo |
5 | Algorithm - AH Usado no AH e na chave associada |
6 | Algorithm - ESP Auth Usado na parte de autenticação do cabeçalho ESP |
7 | Algorithm - ESP Encryption Usado na criptografia do ESP e suas informações de chave associadas |
8 | IPsec mode of operation Modo de transporte ou túnel |
9 | Path MTU(PMTU) Qualquer unidade de transmissão máxima de caminho observada (para evitar fragmentação) |
Todas as entradas SA no SAD são indexadas pelos três parâmetros SA: endereço IP de destino, identificador de protocolo de segurança e SPI.
Banco de dados de políticas de segurança
SPD é usado para processar pacotes de saída. Ajuda a decidir quais entradas do SAD devem ser usadas. Se não houver nenhuma entrada SAD, o SPD será usado para criar novas.
Qualquer entrada SPD conteria -
Indicador para SA ativo realizado no SAD.
Campos do seletor - Campo no pacote de entrada da camada superior usado para decidir a aplicação do IPsec. Os seletores podem incluir endereço de origem e destino, números de porta, se relevante, IDs de aplicativos, protocolos, etc.
Os datagramas IP de saída vão da entrada SPD para o SA específico, para obter os parâmetros de codificação. O datagrama IPsec de entrada chega ao SA correto diretamente usando o triplo SPI / DEST IP / Protocolo e daí extrai a entrada SAD associada.
O SPD também pode especificar o tráfego que deve ignorar o IPsec. O SPD pode ser considerado um filtro de pacotes onde as ações decididas são a ativação de processos SA.
Resumo
IPsec é um conjunto de protocolos para proteger conexões de rede. É um mecanismo bastante complexo, porque em vez de fornecer uma definição direta de um algoritmo de criptografia e função de autenticação específicos, ele fornece uma estrutura que permite a implementação de qualquer coisa com a qual ambas as extremidades de comunicação concordem.
Authentication Header (AH) e Encapsulating Security Payload (ESP) são os dois principais protocolos de comunicação usados pelo IPsec. Enquanto o AH autentica apenas, o ESP pode criptografar e autenticar os dados transmitidos pela conexão.
O modo de transporte fornece uma conexão segura entre dois pontos de extremidade sem alterar o cabeçalho IP. O modo de túnel encapsula todo o pacote IP de carga útil. Ele adiciona um novo cabeçalho de IP. O último é usado para formar uma VPN tradicional, pois fornece um túnel seguro virtual em uma Internet não confiável.
A configuração de uma conexão IPsec envolve todos os tipos de opções de criptografia. A autenticação geralmente é construída em cima de um hash criptográfico como MD5 ou SHA-1. Os algoritmos de criptografia são DES, 3DES, Blowfish e AES sendo comuns. Outros algoritmos também são possíveis.
Ambos os terminais de comunicação precisam saber os valores secretos usados no hashing ou criptografia. As chaves manuais exigem a entrada manual dos valores secretos em ambas as extremidades, presumivelmente transmitidos por algum mecanismo fora de banda, e o IKE (Internet Key Exchange) é um mecanismo sofisticado para fazer isso online.