Segurança de rede - Guia rápido
Nesta era moderna, as organizações dependem muito das redes de computadores para compartilhar informações em toda a organização de maneira eficiente e produtiva. As redes de computadores organizacionais agora estão se tornando grandes e onipresentes. Supondo que cada membro da equipe tenha uma estação de trabalho dedicada, uma empresa de grande porte teria alguns milhares de estações de trabalho e muitos servidores na rede.
É provável que essas estações de trabalho não sejam gerenciadas centralmente, nem teriam proteção de perímetro. Eles podem ter uma variedade de sistemas operacionais, hardware, software e protocolos, com diferentes níveis de consciência cibernética entre os usuários. Agora imagine, essas milhares de estações de trabalho na rede da empresa estão diretamente conectadas à Internet. Esse tipo de rede insegura se torna um alvo para um ataque que contém informações valiosas e exibe vulnerabilidades.
Neste capítulo, descrevemos as principais vulnerabilidades da rede e a importância da segurança da rede. Nos capítulos subsequentes, discutiremos os métodos para conseguir o mesmo.
Rede Física
Uma rede é definida como dois ou mais dispositivos de computação conectados para compartilhar recursos de forma eficiente. Além disso, conectar duas ou mais redes é conhecido comointernetworking. Portanto, a Internet é apenas uma internetwork - um conjunto de redes interconectadas.
Para configurar sua rede interna, uma organização tem várias opções. Ele pode usar uma rede com fio ou uma rede sem fio para conectar todas as estações de trabalho. Hoje em dia, as organizações estão usando principalmente uma combinação de redes com e sem fio.
Redes com e sem fio
Em uma rede com fio, os dispositivos são conectados uns aos outros por meio de cabos. Normalmente, as redes com fio são baseadas no protocolo Ethernet onde os dispositivos são conectados usando cabos de par trançado não blindado (UTP) para os diferentes switches. Esses switches são posteriormente conectados ao roteador de rede para acessar a Internet.
Na rede sem fio, o dispositivo é conectado a um ponto de acesso por meio de transmissões de rádio. Os pontos de acesso são ainda conectados por meio de cabos ao switch / roteador para acesso à rede externa.
As redes sem fio têm ganhado popularidade devido à mobilidade oferecida por elas. Os dispositivos móveis não precisam ser presos a um cabo e podem circular livremente dentro do alcance da rede sem fio. Isso garante o compartilhamento eficiente de informações e aumenta a produtividade.
Vulnerabilidades e ataques
A vulnerabilidade comum que existe em redes com e sem fio é um “acesso não autorizado” a uma rede. Um invasor pode conectar seu dispositivo a uma rede através de uma porta de hub / switch não segura. A este respeito, as redes sem fio são consideradas menos seguras do que as redes com fio, porque a rede sem fio pode ser facilmente acessada sem qualquer conexão física.
Depois de acessar, um invasor pode explorar esta vulnerabilidade para lançar ataques como -
Farejar os dados do pacote para roubar informações valiosas.
Negação de serviço para usuários legítimos em uma rede inundando o meio de rede com pacotes espúrios.
Falsificar identidades físicas (MAC) de hosts legítimos e, em seguida, roubar dados ou lançar um ataque "man-in-the-middle".
Protocolo de rede
Protocolo de rede é um conjunto de regras que governam as comunicações entre dispositivos conectados em uma rede. Eles incluem mecanismos para fazer conexões, bem como regras de formatação para empacotamento de dados para mensagens enviadas e recebidas.
Vários protocolos de rede de computadores foram desenvolvidos, cada um deles projetado para fins específicos. Os protocolos populares e amplamente usados são TCP / IP com protocolos de nível superior e inferior associados.
Protocolo TCP / IP
Transmission Control Protocol (TCP) e Internet Protocol(IP) são dois protocolos distintos de rede de computadores usados principalmente juntos. Devido à sua popularidade e ampla adoção, eles são integrados a todos os sistemas operacionais de dispositivos em rede.
O IP corresponde à camada de rede (camada 3), enquanto o TCP corresponde à camada de transporte (camada 4) no OSI. O TCP / IP se aplica às comunicações de rede em que o transporte TCP é usado para entregar dados em redes IP.
Os protocolos TCP / IP são comumente usados com outros protocolos, como HTTP, FTP, SSH na camada de aplicativo e Ethernet no link de dados / camada física.
O conjunto de protocolos TCP / IP foi criado em 1980 como uma solução de internetworking com muito pouca preocupação com os aspectos de segurança.
Ele foi desenvolvido para uma comunicação na rede confiável limitada. No entanto, durante um período, esse protocolo se tornou o padrão de fato para a comunicação não segura da Internet.
Algumas das vulnerabilidades de segurança comuns dos processos de protocolo TCP / IP são -
HTTP é um protocolo de camada de aplicativo no conjunto TCP / IP usado para transferir arquivos que constituem as páginas da web dos servidores da web. Essas transferências são feitas em texto simples e um intruso pode ler facilmente os pacotes de dados trocados entre o servidor e um cliente.
Outra vulnerabilidade HTTP é uma autenticação fraca entre o cliente e o servidor web durante a inicialização da sessão. Esta vulnerabilidade pode levar a um ataque de sequestro de sessão em que o invasor rouba uma sessão HTTP do usuário legítimo.
A vulnerabilidade do protocolo TCP é um handshake de três vias para o estabelecimento da conexão. Um invasor pode lançar um ataque de negação de serviço “SYN-flooding” para explorar esta vulnerabilidade. Ele estabelece muitas sessões semiabertas ao não completar o aperto de mão. Isso leva à sobrecarga do servidor e, eventualmente, a um travamento.
A camada IP é suscetível a muitas vulnerabilidades. Por meio de uma modificação no cabeçalho do protocolo IP, um invasor pode lançar um ataque de falsificação de IP.
Além do mencionado acima, muitas outras vulnerabilidades de segurança existem na família do protocolo TCP / IP no design, bem como na sua implementação.
A propósito, na comunicação de rede baseada em TCP / IP, se uma camada é hackeada, as outras camadas não tomam conhecimento do hack e toda a comunicação fica comprometida. Portanto, é necessário empregar controles de segurança em cada camada para garantir uma segurança infalível.
Protocolo DNS
Domain Name System(DNS) é usado para resolver nomes de domínio de host em endereços IP. Os usuários da rede dependem da funcionalidade DNS principalmente durante a navegação na Internet, digitando uma URL no navegador da web.
Em um ataque ao DNS, o objetivo do invasor é modificar um registro DNS legítimo para que ele seja resolvido para um endereço IP incorreto. Ele pode direcionar todo o tráfego desse IP para o computador errado. Um invasor pode explorar a vulnerabilidade do protocolo DNS ou comprometer o servidor DNS para materializar um ataque.
DNS cache poisoningé um ataque que explora uma vulnerabilidade encontrada no protocolo DNS. Um invasor pode envenenar o cache forjando uma resposta a uma consulta DNS recursiva enviada por um resolvedor a um servidor autorizado. Assim que o cache do resolvedor de DNS for envenenado, o host será direcionado para um site malicioso e pode comprometer as informações de credenciais ao se comunicar com este site.
Protocolo ICMP
Internet Control Management Protocol(ICMP) é um protocolo básico de gerenciamento de rede das redes TCP / IP. É usado para enviar mensagens de erro e controle sobre o status dos dispositivos em rede.
O ICMP é parte integrante da implementação da rede IP e, portanto, está presente em muitas configurações de rede. O ICMP tem suas próprias vulnerabilidades e pode ser abusado para lançar um ataque a uma rede.
Os ataques comuns que podem ocorrer em uma rede devido a vulnerabilidades ICMP são -
O ICMP permite que um invasor realize o reconhecimento da rede para determinar a topologia e os caminhos da rede. A varredura ICMP envolve a descoberta de todos os endereços IP de host que estão ativos em toda a rede do alvo.
A rota de rastreamento é um utilitário ICMP popular usado para mapear a rede de destino, descrevendo o caminho em tempo real do cliente ao host remoto.
Um invasor pode lançar um ataque de negação de serviço usando a vulnerabilidade ICMP. Este ataque envolve o envio de pacotes de ping IPMP que excedem 65.535 bytes para o dispositivo de destino. O computador de destino não consegue lidar com este pacote adequadamente e pode causar o esmagamento do sistema operacional.
Outros protocolos como ARP, DHCP, SMTP, etc. também têm suas vulnerabilidades que podem ser exploradas pelo invasor para comprometer a segurança da rede. Discutiremos algumas dessas vulnerabilidades em capítulos posteriores.
A menor preocupação com o aspecto de segurança durante o projeto e implementação de protocolos se tornou a principal causa de ameaças à segurança da rede.
Objetivos de segurança de rede
Conforme discutido nas seções anteriores, existe um grande número de vulnerabilidades na rede. Portanto, durante a transmissão, os dados são altamente vulneráveis a ataques. Um invasor pode direcionar o canal de comunicação, obter os dados e ler os mesmos ou reinserir uma mensagem falsa para atingir seus objetivos nefastos.
A segurança da rede não se preocupa apenas com a segurança dos computadores em cada extremidade da cadeia de comunicação; no entanto, visa garantir que toda a rede esteja segura.
A segurança da rede envolve a proteção da usabilidade, confiabilidade, integridade e segurança da rede e dos dados. A segurança de rede eficaz derrota uma variedade de ameaças que entram ou se espalham em uma rede.
O objetivo principal da segurança da rede é confidencialidade, integridade e disponibilidade. Esses três pilares da segurança de rede são frequentemente representados comoCIA triangle.
Confidentiality- A função da confidencialidade é proteger dados comerciais preciosos de pessoas não autorizadas. A confidencialidade, parte da segurança da rede, garante que os dados estejam disponíveis apenas para as pessoas pretendidas e autorizadas.
Integrity- Este objetivo significa manter e garantir a precisão e consistência dos dados. A função da integridade é garantir que os dados sejam confiáveis e não sejam alterados por pessoas não autorizadas.
Availability - A função de disponibilidade em Segurança de Rede é garantir que os dados, recursos / serviços de rede estejam continuamente disponíveis para os usuários legítimos, sempre que eles precisarem.
Atingindo a segurança da rede
Garantir a segurança da rede pode parecer muito simples. Os objetivos a serem alcançados parecem ser diretos. Mas, na realidade, os mecanismos usados para atingir esses objetivos são altamente complexos e compreendê-los envolve um raciocínio sólido.
International Telecommunication Union(ITU), em sua recomendação sobre a arquitetura de segurança X.800, definiu certos mecanismos para trazer a padronização nos métodos para alcançar a segurança da rede. Alguns desses mecanismos são -
En-cipherment- Este mecanismo fornece serviços de confidencialidade de dados, transformando os dados em formas ilegíveis para pessoas não autorizadas. Este mecanismo usa algoritmo de criptografia-descriptografia com chaves secretas.
Digital signatures- Este mecanismo é o equivalente eletrônico de assinaturas comuns em dados eletrônicos. Ele fornece autenticidade dos dados.
Access control- Este mecanismo é usado para fornecer serviços de controle de acesso. Esses mecanismos podem usar a identificação e autenticação de uma entidade para determinar e fazer cumprir os direitos de acesso da entidade.
Tendo desenvolvido e identificado vários mecanismos de segurança para alcançar a segurança da rede, é essencial decidir onde aplicá-los; fisicamente (em qual local) e logicamente (em qual camada de uma arquitetura como TCP / IP).
Mecanismos de segurança em camadas de rede
Vários mecanismos de segurança foram desenvolvidos de forma que possam ser desenvolvidos em uma camada específica do modelo de camada de rede OSI.
Security at Application Layer- As medidas de segurança usadas nesta camada são específicas do aplicativo. Diferentes tipos de aplicativos precisam de medidas de segurança separadas. Para garantir a segurança da camada de aplicativo, os aplicativos precisam ser modificados.
Considera-se que projetar um protocolo de aplicativo criptograficamente sólido é muito difícil e implementá-lo adequadamente é ainda mais desafiador. Conseqüentemente, os mecanismos de segurança da camada de aplicativo para proteger as comunicações de rede são preferidos a ser apenas soluções baseadas em padrões que estão em uso há algum tempo.
Um exemplo de protocolo de segurança da camada de aplicativo é Secure Multipurpose Internet Mail Extensions (S / MIME), que é comumente usado para criptografar mensagens de e-mail. DNSSEC é outro protocolo nesta camada usado para troca segura de mensagens de consulta DNS.
Security at Transport Layer- As medidas de segurança nesta camada podem ser usadas para proteger os dados em uma única sessão de comunicação entre dois hosts. O uso mais comum para protocolos de segurança da camada de transporte é proteger o tráfego de sessão HTTP e FTP. O Transport Layer Security (TLS) e o Secure Socket Layer (SSL) são os protocolos mais comuns usados para essa finalidade.
Network Layer- As medidas de segurança nesta camada podem ser aplicadas a todos os aplicativos; portanto, eles não são específicos do aplicativo. Todas as comunicações de rede entre dois hosts ou redes podem ser protegidas nesta camada sem modificar nenhum aplicativo. Em alguns ambientes, o protocolo de segurança da camada de rede, como o Internet Protocol Security (IPsec), oferece uma solução muito melhor do que os controles da camada de transporte ou de aplicativo devido às dificuldades em adicionar controles a aplicativos individuais. No entanto, os protocolos de segurança nesta camada fornecem menos flexibilidade de comunicação que pode ser exigida por alguns aplicativos.
A propósito, um mecanismo de segurança projetado para operar em uma camada superior não pode fornecer proteção para dados em camadas inferiores, porque as camadas inferiores executam funções das quais as camadas superiores não estão cientes. Portanto, pode ser necessário implementar vários mecanismos de segurança para aumentar a segurança da rede.
Nos capítulos seguintes do tutorial, discutiremos os mecanismos de segurança empregados em diferentes camadas da arquitetura de rede OSI para obter segurança de rede.
Vários serviços comerciais agora são oferecidos online por meio de aplicativos cliente-servidor. Os formulários mais populares são aplicativos da Web e e-mail. Em ambos os aplicativos, o cliente se comunica com o servidor designado e obtém os serviços.
Ao usar um serviço de qualquer aplicativo de servidor, o cliente e o servidor trocam muitas informações na intranet ou Internet subjacente. Estamos cientes do fato de que essas transações de informações são vulneráveis a vários ataques.
A segurança da rede envolve proteger os dados contra ataques enquanto eles estão em trânsito em uma rede. Para atingir esse objetivo, muitos protocolos de segurança em tempo real foram projetados. Esse protocolo deve fornecer pelo menos os seguintes objetivos principais -
- As partes podem negociar interativamente para se autenticarem.
- Estabeleça uma chave de sessão secreta antes de trocar informações na rede.
- Troque as informações de forma criptografada.
Curiosamente, esses protocolos funcionam em diferentes camadas do modelo de rede. Por exemplo, o protocolo S / MIME funciona na camada de aplicação, o protocolo SSL é desenvolvido para funcionar na camada de transporte e o protocolo IPsec funciona na camada de rede.
Neste capítulo, discutiremos diferentes processos para obter segurança para comunicação por email e protocolos de segurança associados. O método para proteger o DNS é abordado posteriormente. Nos capítulos posteriores, os protocolos para alcançar a segurança da web serão descritos.
Segurança de e-mail
Hoje em dia, o e-mail tornou-se um aplicativo de rede amplamente utilizado. Vamos discutir brevemente a infra-estrutura de e-mail antes de continuar a conhecer os protocolos de segurança de e-mail.
Infraestrutura de e-mail
A maneira mais simples de enviar um e-mail seria enviar uma mensagem diretamente da máquina do remetente para a máquina do destinatário. Nesse caso, é essencial que ambas as máquinas estejam funcionando na rede simultaneamente. No entanto, esta configuração não é prática, pois os usuários podem ocasionalmente conectar suas máquinas à rede.
Assim, surgiu o conceito de configuração de servidores de e-mail. Nessa configuração, o e-mail é enviado para um servidor de e-mail que fica permanentemente disponível na rede. Quando a máquina do destinatário se conecta à rede, ela lê o e-mail do servidor de e-mail.
Em geral, a infraestrutura de e-mail consiste em uma malha de servidores de e-mail, também denominados como Message Transfer Agents (MTAs) e máquinas clientes executando um programa de e-mail composto por Agente do Usuário (UA) e MTA local.
Normalmente, uma mensagem de e-mail é encaminhada de seu UA, passa pela malha de MTAs e finalmente chega ao UA na máquina do destinatário.
Os protocolos usados para e-mail são os seguintes -
Protocolo de transferência de correio simples (SMTP) usado para encaminhar mensagens de e-mail.
Post Office Protocol (POP) e Internet Message Access Protocol (IMAP) são usados para recuperar as mensagens por destinatário do servidor.
MIME
O padrão básico de e-mail da Internet foi escrito em 1982 e descreve o formato da mensagem de e-mail trocada na Internet. Suporta principalmente mensagens de e-mail escritas como texto no alfabeto romano básico.
Em 1992, sentiu-se a necessidade de melhorar o mesmo. Portanto, um padrão adicional Multipurpose Internet Mail Extensions (MIME) foi definido. É um conjunto de extensões do padrão básico de e-mail da Internet. O MIME oferece a capacidade de enviar e-mail usando caracteres diferentes dos do alfabeto romano básico, como o alfabeto cirílico (usado em russo), o alfabeto grego ou mesmo os caracteres ideográficos do chinês.
Outra necessidade atendida pelo MIME é o envio de conteúdo não textual, como imagens ou videoclipes. Devido a esses recursos, o padrão MIME foi amplamente adotado com o SMTP para comunicação por e-mail.
Serviços de segurança de e-mail
O uso crescente de comunicação por e-mail para transações importantes e cruciais exige o fornecimento de certos serviços de segurança fundamentais como os seguintes -
Confidentiality - A mensagem de e-mail não deve ser lida por ninguém, exceto pelo destinatário pretendido.
Authentication - O destinatário do e-mail pode ter certeza da identidade do remetente.
Integrity - Garantia ao destinatário de que a mensagem de e-mail não foi alterada desde a sua transmissão pelo remetente.
Non-repudiation - O destinatário do e-mail pode provar a terceiros que o remetente realmente enviou a mensagem.
Proof of submission - O remetente do e-mail recebe a confirmação de que a mensagem foi entregue ao sistema de entrega de e-mail.
Proof of delivery - O remetente recebe uma confirmação de que o destinatário recebeu a mensagem.
Os serviços de segurança, como privacidade, autenticação, integridade da mensagem e não repúdio, geralmente são fornecidos usando criptografia de chave pública.
Normalmente, existem três cenários diferentes de comunicação por email. Discutiremos os métodos de obtenção dos serviços de segurança acima nesses cenários.
E-mail um para um
Nesse cenário, o remetente envia uma mensagem de email para apenas um destinatário. Normalmente, não mais do que dois MTA estão envolvidos na comunicação.
Vamos supor que um remetente deseja enviar um e-mail confidencial a um destinatário. A provisão de privacidade, neste caso, é obtida da seguinte forma -
O emissor e o receptor têm suas chaves público-privadas como (S PVT , S PUB ) e (R PVT , R PUB ) respectivamente.
O remetente gera uma chave simétrica secreta, K S para criptografia. Embora o remetente possa ter usado R PUB para criptografia, uma chave simétrica é usada para obter criptografia e descriptografia mais rápidas.
O remetente criptografa a mensagem com a chave K S e também criptografa K S com a chave pública do destinatário, R PUB .
O remetente envia mensagem criptografada e K S criptografado para o destinatário.
O destinatário primeiro obtém K S descriptografando K S codificado usando sua chave privada, R PVT .
O destinatário em seguida, desencripta mensagem usando a chave simétrica, K S .
Se a integridade da mensagem, a autenticação e os serviços de não repúdio também forem necessários neste cenário, as etapas a seguir serão adicionadas ao processo acima.
O remetente produz hash de mensagem e assina digitalmente esse hash com sua chave privada, S PVT .
O remetente envia esse hash assinado ao destinatário junto com outros componentes.
O destinatário usa a chave pública S PUB e extrai o hash recebido com a assinatura do remetente.
O destinatário então faz o hash da mensagem descriptografada e agora compara os dois valores de hash. Se eles corresponderem, a integridade da mensagem será considerada alcançada.
Além disso, o destinatário tem certeza de que a mensagem foi enviada pelo remetente (autenticação). E por último, o remetente não pode negar que não enviou a mensagem (irrecusabilidade).
E-mail de um para vários destinatários
Nesse cenário, o remetente envia uma mensagem de email para dois ou mais destinatários. A lista é gerenciada pelo programa de e-mail do remetente (UA + MTA local). Todos os destinatários recebem a mesma mensagem.
Vamos supor que o remetente deseja enviar um e-mail confidencial para muitos destinatários (digamos R1, R2 e R3). A provisão de privacidade, neste caso, é obtida da seguinte forma -
O remetente e todos os destinatários possuem seu próprio par de chaves públicas privadas.
O remetente gera uma chave simétrica secreta, K s e criptografa a mensagem com esta chave.
O remetente então criptografa K S várias vezes com as chaves públicas de R1, R2 e R3, obtendo R1 PUB (K S ), R2 PUB (K S ) e R3 PUB (K S ).
O remetente envia a mensagem criptografada e o K S criptografado correspondente para o destinatário. Por exemplo, o destinatário 1 (R1) recebe a mensagem criptografada e R1 PUB (K S ).
Cada destinatário primeiro extrai a chave K S descriptografando K S codificado usando sua chave privada.
Cada destinatário, em seguida, desencripta a mensagem usando a chave simétrica, K S .
Para fornecer integridade, autenticação e não repúdio à mensagem, as etapas a serem seguidas são semelhantes às etapas mencionadas acima em um cenário de email um para um.
E-mail da lista de um para distribuição
Nesse cenário, o remetente envia uma mensagem de email para dois ou mais destinatários, mas a lista de destinatários não é gerenciada localmente pelo remetente. Geralmente, o servidor de e-mail (MTA) mantém a lista de mala direta.
O remetente envia uma mensagem para o MTA que gerencia a lista de distribuição e, em seguida, a mensagem é explodida pelo MTA para todos os destinatários da lista.
Nesse caso, quando o remetente deseja enviar um e-mail confidencial aos destinatários da lista de distribuição (digamos R1, R2 e R3); a privacidade é garantida da seguinte forma -
O remetente e todos os destinatários possuem seu próprio par de chaves públicas privadas. O Exploder Server possui um par de chave pública-privada para cada lista de distribuição (Lista PUB , Lista PVT ) mantida por ele.
O remetente gera uma chave simétrica secreta K s e, em seguida, criptografa a mensagem com essa chave.
O remetente então criptografa K S com a chave pública associada à lista e obtém Lista PUB (K S ).
O remetente envia mensagem criptografada e List PUB (K S ). O MTA detonador decifra Lista PUB (K S ) usando a Lista de PVT e obtém K S .
O explodidor criptografa K S com tantas chaves públicas quantos forem os membros da lista.
O Exploder encaminha a mensagem criptografada recebida e o K S criptografado correspondente a todos os destinatários da lista. Por exemplo, o Exploder encaminha a mensagem criptografada e R1 PUB (K S ) para o destinatário 1 e assim por diante.
Para fornecer integridade, autenticação e não repúdio à mensagem, as etapas a serem seguidas são semelhantes às fornecidas no caso de um cenário de e-mail um para um.
Curiosamente, o programa de e-mail que utiliza o método de segurança acima para proteger o e-mail deve funcionar para todos os cenários possíveis discutidos acima. A maioria dos mecanismos de segurança acima para e-mail é fornecida por dois esquemas populares, Pretty Good Privacy (PGP) e S / MIME. Discutiremos ambos nas seções a seguir.
PGP
Pretty Good Privacy(PGP) é um esquema de criptografia de e-mail. Tornou-se o padrão de fato para fornecer serviços de segurança para comunicação por e-mail.
Conforme discutido acima, ele usa criptografia de chave pública, criptografia de chave simétrica, função hash e assinatura digital. Ele fornece -
- Privacy
- Autenticação do Remetente
- Integridade da Mensagem
- Non-repudiation
Junto com esses serviços de segurança, ele também fornece compactação de dados e suporte de gerenciamento de chaves. PGP usa algoritmos criptográficos existentes como RSA, IDEA, MD5, etc., ao invés de inventar novos.
Trabalho de PGP
O hash da mensagem é calculado. (Algoritmo MD5)
O hash de 128 bits resultante é assinado usando a chave privada do remetente (Algoritmo RSA).
A assinatura digital é concatenada à mensagem e o resultado é compactado.
Uma chave simétrica de 128 bits, K S, é gerada e usada para criptografar a mensagem compactada com IDEA.
K S é criptografado usando a chave pública do destinatário usando o algoritmo RSA e o resultado é anexado à mensagem criptografada.
O formato da mensagem PGP é mostrado no diagrama a seguir. Os IDs indicam qual chave é usada para criptografar KS e qual chave deve ser usada para verificar a assinatura no hash.
No esquema PGP, uma mensagem é assinada e criptografada, e então o MIME é codificado antes da transmissão.
Certificado PGP
O certificado de chave PGP é normalmente estabelecido por meio de uma cadeia de confiança. Por exemplo, a chave pública de A é assinada por B usando sua chave pública e a chave pública de B é assinada por C usando sua chave pública. Conforme esse processo prossegue, ele estabelece uma rede de confiança.
Em um ambiente PGP, qualquer usuário pode atuar como autoridade de certificação. Qualquer usuário PGP pode certificar a chave pública de outro usuário PGP. No entanto, esse certificado só é válido para outro usuário se o usuário reconhecer o certificador como um apresentador confiável.
Existem vários problemas com esse método de certificação. Pode ser difícil encontrar uma cadeia que leve de uma chave pública conhecida e confiável para a chave desejada. Além disso, pode haver várias cadeias que podem levar a chaves diferentes para o usuário desejado.
O PGP também pode usar a infraestrutura PKI com autoridade de certificação e as chaves públicas podem ser certificadas pela CA (certificado X.509).
S / MIME
S / MIME significa Secure Multipurpose Internet Mail Extension. S / MIME é um padrão de e-mail seguro. É baseado em um padrão anterior de e-mail não seguro denominado MIME.
Trabalho de S / MIME
A abordagem S / MIME é semelhante ao PGP. Ele também usa criptografia de chave pública, criptografia de chave simétrica, funções hash e assinaturas digitais. Ele fornece serviços de segurança semelhantes ao PGP para comunicação por e-mail.
As cifras simétricas mais comuns usadas em S / MIME são RC2 e TripleDES. O método de chave pública usual é RSA, e o algoritmo de hash é SHA-1 ou MD5.
S / MIME especifica o tipo MIME adicional, como “application / pkcs7-mime”, para o envolvimento de dados após a criptografia. Toda a entidade MIME é criptografada e compactada em um objeto. S / MIME padronizou formatos de mensagens criptográficas (diferentes de PGP). Na verdade, o MIME é estendido com algumas palavras-chave para identificar as partes criptografadas e / ou assinadas na mensagem.
S / MIME depende de certificados X.509 para distribuição de chave pública. Ele precisa de PKI hierárquica de cima para baixo para suporte de certificação.
Empregabilidade de S / MIME
Devido à exigência de um certificado da autoridade de certificação para implementação, nem todos os usuários podem tirar proveito do S / MIME, pois alguns podem desejar criptografar uma mensagem, com um par de chaves pública / privada. Por exemplo, sem o envolvimento ou sobrecarga administrativa de certificados.
Na prática, embora a maioria dos aplicativos de e-mail implemente S / MIME, o processo de inscrição do certificado é complexo. Em vez disso, o suporte PGP geralmente requer a adição de um plug-in e esse plug-in vem com tudo o que é necessário para gerenciar as chaves. A Web of Trust não é realmente usada. As pessoas trocam suas chaves públicas por outro meio. Uma vez obtidos, eles mantêm uma cópia das chaves públicas daqueles com quem os e-mails são normalmente trocados.
A camada de implementação na arquitetura de rede para esquemas PGP e S / MIME é mostrada na imagem a seguir. Ambos os esquemas fornecem segurança em nível de aplicativo para comunicação por e-mail.
Um dos esquemas, PGP ou S / MIME, é usado dependendo do ambiente. Uma comunicação de e-mail segura em uma rede cativa pode ser fornecida adaptando-se ao PGP. Para segurança de e-mail na Internet, onde os e-mails são trocados com novos usuários desconhecidos com muita frequência, S / MIME é considerado uma boa opção.
Segurança DNS
No primeiro capítulo, mencionamos que um invasor pode usar o DNS Cache Poisoning para realizar um ataque ao usuário-alvo. Domain Name System Security Extensions (DNSSEC) é um padrão da Internet que pode impedir esses ataques.
Vulnerabilidade do DNS padrão
Em um esquema DNS padrão, sempre que o usuário deseja se conectar a qualquer nome de domínio, seu computador contata o servidor DNS e procura o endereço IP associado a esse nome de domínio. Depois que o endereço IP é obtido, o computador se conecta a esse endereço IP.
Nesse esquema, não há nenhum processo de verificação envolvido. Um computador pede ao servidor DNS o endereço associado a um site, o servidor DNS responde com um endereço IP e seu computador, sem dúvida, o aceita como resposta legítima e se conecta a esse site.
Na verdade, uma pesquisa de DNS ocorre em vários estágios. Por exemplo, quando um computador pede “www.tutorialspoint.com”, uma pesquisa DNS é realizada em vários estágios -
O computador primeiro pergunta ao servidor DNS local (fornecido pelo ISP). Se o ISP tiver esse nome em seu cache, ele responde, senão encaminha a consulta para “diretório da zona raiz”, onde pode encontrar “.com”. e respostas da zona raiz.
Com base na resposta, o computador pergunta ao diretório “.com” onde pode encontrar “tutorialspoint.com”.
Com base nas informações recebidas, o computador consulta “tutorialspoint.com” onde pode encontrar www. tutorialspoint.com.
DNSSEC Definido
A pesquisa de DNS, quando realizada usando DNSSEC, envolve a assinatura de respostas pela entidade respondente. DNSSEC é baseado em criptografia de chave pública.
No padrão DNSSEC, cada zona DNS possui um par de chaves pública / privada. Todas as informações enviadas por um servidor DNS são assinadas com a chave privada da zona de origem para garantir a autenticidade. Os clientes DNS precisam saber as chaves públicas da zona para verificar as assinaturas. Os clientes podem ser pré-configurados com as chaves públicas de todos os domínios de nível superior ou DNS raiz.
Com o DNSSEC, o processo de pesquisa é o seguinte -
Quando o seu computador pergunta à zona raiz onde pode encontrar .com, a resposta é assinada pelo servidor da zona raiz.
O computador verifica a chave de assinatura da zona raiz e confirma que é a zona raiz legítima com informações verdadeiras.
Na resposta, a zona raiz fornece as informações sobre a chave de assinatura do servidor da zona .com e sua localização, permitindo que o computador entre em contato com o diretório .com e garantindo sua legitimidade.
O diretório .com fornece a chave de assinatura e as informações para tutorialspoint.com, permitindo que ele entre em contato com google.com e verifique se você está conectado ao tutorialspoint.com real, conforme confirmado pelas zonas acima dele.
As informações enviadas estão na forma de Conjunto de Registros de Recursos (RRSets). O exemplo de RRSet para o domínio “tutorialspoint.com” no servidor “.com” de nível superior é mostrado na tabela a seguir.
Nome do domínio | Tempo de Viver | Tipo | Valor |
---|---|---|---|
tutorialspoint.com | 86400 | NS | dns.tutorialspoint.com |
dns.tutorialspoint.com | 86400 | UMA | 36..1.2.3 |
tutorialspoint.com | 86400 | CHAVE | 3682793A7B73F731029CE2737D ... |
tutorialspoint.com | 86400 | SIG | 86947503A8B848F5272E53930C ... |
O registro KEY é uma chave pública de “tutorialspoint.com”.
O registro SIG é o hash assinado do servidor .com de nível superior dos campos NS, A e registros KEY para verificar sua autenticidade. Seu valor é Kcom pvt (H (NS, A, KEY)).
Assim, considera-se que quando o DNSSEC é totalmente implementado, o computador do usuário é capaz de confirmar se as respostas DNS são legítimas e verdadeiras e evitar ataques DNS lançados por envenenamento de cache DNS.
Resumo
O processo de proteção de e-mails garante a segurança ponta a ponta da comunicação. Ele fornece serviços de segurança de confidencialidade, autenticação do remetente, integridade da mensagem e não repúdio.
Dois esquemas foram desenvolvidos para segurança de e-mail: PGP e S / MIME. Ambos os esquemas usam criptografia de chave secreta e de chave pública.
A pesquisa de DNS padrão é vulnerável a ataques como falsificação de DNS / envenenamento de cache. A segurança da pesquisa de DNS é viável por meio do uso de DNSSEC, que emprega criptografia de chave pública.
Neste capítulo, discutimos os mecanismos usados na camada de aplicativo para fornecer segurança de rede para comunicação ponta a ponta.
A segurança da rede envolve proteger os dados contra ataques enquanto eles estão em trânsito em uma rede. Para atingir esse objetivo, muitos protocolos de segurança em tempo real foram projetados. Existem padrões populares para protocolos de segurança de rede em tempo real, como S / MIME, SSL / TLS, SSH e IPsec. Conforme mencionado anteriormente, esses protocolos funcionam em diferentes camadas do modelo de rede.
No último capítulo, discutimos alguns protocolos populares que são projetados para fornecer segurança à camada de aplicativo. Neste capítulo, discutiremos o processo de obtenção da segurança da rede na camada de transporte e os protocolos de segurança associados.
Para rede baseada em protocolo TCP / IP, camadas físicas e de enlace de dados são geralmente implementadas no terminal do usuário e no hardware da placa de rede. As camadas TCP e IP são implementadas no sistema operacional. Qualquer coisa acima de TCP / IP é implementada como processo do usuário.
Necessidade de Segurança da Camada de Transporte
Vamos discutir uma transação comercial típica na Internet.
Bob visita o site de Alice para vender produtos. Em um formulário do site, Bob insere o tipo de bem e a quantidade desejada, seu endereço e detalhes do cartão de pagamento. Bob clica em Enviar e aguarda a entrega da mercadoria com débito do valor do preço de sua conta. Tudo isso parece bom, mas na ausência de segurança de rede, Bob pode ter algumas surpresas.
Se as transações não usassem confidencialidade (criptografia), um invasor poderia obter as informações de seu cartão de pagamento. O invasor pode então fazer compras às custas de Bob.
Se nenhuma medida de integridade de dados for usada, um invasor pode modificar o pedido de Bob em termos de tipo ou quantidade de mercadorias.
Por último, se nenhuma autenticação de servidor for usada, um servidor pode exibir o famoso logotipo de Alice, mas o site pode ser um site malicioso mantido por um invasor, que está se fazendo passar por Alice. Depois de receber o pedido de Bob, ele poderia pegar o dinheiro de Bob e fugir. Ou ele poderia realizar um roubo de identidade coletando o nome de Bob e detalhes do cartão de crédito.
Os esquemas de segurança da camada de transporte podem resolver esses problemas aprimorando a comunicação de rede baseada em TCP / IP com confidencialidade, integridade de dados, autenticação de servidor e autenticação de cliente.
A segurança nesta camada é usada principalmente para proteger transações da Web baseadas em HTTP em uma rede. No entanto, ele pode ser empregado por qualquer aplicativo que execute TCP.
Filosofia de Design TLS
Os protocolos de segurança da camada de transporte (TLS) operam acima da camada TCP. O projeto desses protocolos usa interfaces de programas de aplicativos (API) populares para TCP, chamadas de “soquetes” para fazer a interface com a camada TCP.
Os aplicativos agora têm interface com a camada de segurança de transporte em vez de com o TCP diretamente. O Transport Security Layer fornece uma API simples com soquetes, que é semelhante e análoga à API do TCP.
No diagrama acima, embora o TLS resida tecnicamente entre o aplicativo e a camada de transporte, da perspectiva comum é um protocolo de transporte que atua como uma camada TCP aprimorada com serviços de segurança.
O TLS foi projetado para operar sobre TCP, o protocolo confiável da camada 4 (não no protocolo UDP), para tornar o projeto do TLS muito mais simples, porque ele não precisa se preocupar com 'tempo limite' e 'retransmissão de dados perdidos'. A camada TCP continua fazendo isso normalmente, o que atende à necessidade de TLS.
Por que o TLS é popular?
A razão da popularidade do uso de segurança na Camada de Transporte é a simplicidade. O projeto e a implantação da segurança nesta camada não exigem nenhuma alteração nos protocolos TCP / IP implementados em um sistema operacional. Apenas os processos e aplicativos do usuário precisam ser projetados / modificados, o que é menos complexo.
Secure Socket Layer (SSL)
Nesta seção, discutimos a família de protocolos projetados para TLS. A família inclui as versões 2 e 3 do SSL e o protocolo TLS. SSLv2 agora foi substituído por SSLv3, portanto, vamos nos concentrar em SSL v3 e TLS.
Breve História do SSL
No ano de 1995, a Netscape desenvolveu o SSLv2 e foi usado no Netscape Navigator 1.1. O SSL version1 nunca foi publicado e usado. Posteriormente, a Microsoft aprimorou o SSLv2 e introduziu outro protocolo semelhante, denominado Private Communications Technology (PCT).
A Netscape melhorou substancialmente o SSLv2 em várias questões de segurança e implantou o SSLv3 em 1999. A Internet Engineering Task Force (IETF) subsequentemente, introduziu um protocolo TLS (Transport Layer Security) semelhante como um padrão aberto. O protocolo TLS não é interoperável com SSLv3.
O TLS modificou os algoritmos criptográficos para expansão e autenticação de chaves. Além disso, a TLS sugeriu o uso de criptografia aberta Diffie-Hellman (DH) e Digital Signature Standard (DSS) no lugar da criptografia RSA patenteada usada em SSL. Mas, devido à expiração da patente RSA em 2000, não havia motivos fortes para os usuários mudarem do SSLv3 amplamente implantado para o TLS.
Características importantes do SSL
Os principais recursos do protocolo SSL são os seguintes -
SSL fornece segurança de conexão de rede por meio de -
Confidentiality - As informações são trocadas de forma criptografada.
Authentication- As entidades de comunicação se identificam por meio do uso de certificados digitais. A autenticação do servidor da Web é obrigatória, enquanto a autenticação do cliente é opcional.
Reliability - Mantém verificações de integridade da mensagem.
SSL está disponível para todos os aplicativos TCP.
Suportado por quase todos os navegadores da web.
Oferece facilidade para fazer negócios com novas entidades online.
Desenvolvido principalmente para Web e-commerce.
Arquitetura de SSL
SSL é específico para TCP e não funciona com UDP. SSL fornece Interface de Programação de Aplicativo (API) para aplicativos. Bibliotecas / classes C e Java SSL estão prontamente disponíveis.
O protocolo SSL é projetado para interagir entre o aplicativo e a camada de transporte, conforme mostrado na imagem a seguir -
O próprio SSL não é um protocolo de camada única, conforme representado na imagem; na verdade, é composto de duas subcamadas.
A subcamada inferior é composta por um componente do protocolo SSL chamado SSL Record Protocol. Este componente fornece serviços de integridade e confidencialidade.
A subcamada superior é composta por três componentes de protocolo relacionados ao SSL e um protocolo de aplicativo. O componente do aplicativo fornece o serviço de transferência de informações entre as interações cliente / servidor. Tecnicamente, ele também pode operar na camada SSL. Três componentes de protocolo relacionados ao SSL são -
- Protocolo de handshake SSL
- Alterar protocolo de especificação de criptografia
- Protocolo de alerta.
Esses três protocolos gerenciam todas as trocas de mensagens SSL e são discutidos posteriormente nesta seção.
Funções de componentes do protocolo SSL
Os quatro subcomponentes do protocolo SSL lidam com várias tarefas para comunicação segura entre a máquina cliente e o servidor.
Protocolo de Registro
A camada de registro formata as mensagens de protocolo da camada superior.
Ele fragmenta os dados em blocos gerenciáveis (comprimento máximo de 16 KB). Opcionalmente, compacta os dados.
Criptografa os dados.
Fornece um cabeçalho para cada mensagem e um hash (Message Authentication Code (MAC)) no final.
Transfere os blocos formatados para a camada TCP para transmissão.
Protocolo de handshake SSL
É a parte mais complexa do SSL. Ele é chamado antes da transmissão de qualquer dado do aplicativo. Ele cria sessões SSL entre o cliente e o servidor.
O estabelecimento da sessão envolve autenticação de servidor, negociação de chave e algoritmo, estabelecimento de chaves e autenticação de cliente (opcional).
Uma sessão é identificada por um conjunto exclusivo de parâmetros de segurança criptográfica.
Várias conexões TCP seguras entre um cliente e um servidor podem compartilhar a mesma sessão.
Ações do protocolo de handshake em quatro fases. Estas são discutidas na próxima seção.
Protocolo ChangeCipherSpec
A parte mais simples do protocolo SSL. É composto por uma única mensagem trocada entre duas entidades que se comunicam, o cliente e o servidor.
Conforme cada entidade envia a mensagem ChangeCipherSpec, ela muda seu lado da conexão para o estado seguro conforme acordado.
O estado pendente dos parâmetros de codificação é copiado para o estado atual.
A troca desta mensagem indica que todas as trocas de dados futuras são criptografadas e a integridade está protegida.
Protocolo de Alerta SSL
Este protocolo é usado para relatar erros - como mensagem inesperada, registro incorreto de MAC, falha na negociação de parâmetros de segurança, etc.
Ele também é usado para outros fins - como notificar o fechamento da conexão TCP, notificar o recebimento de um certificado inválido ou desconhecido, etc.
Estabelecimento da Sessão SSL
Conforme discutido acima, existem quatro fases de estabelecimento da sessão SSL. Eles são tratados principalmente pelo protocolo SSL Handshake.
Phase 1 - Estabelecer recursos de segurança.
Esta fase compreende a troca de duas mensagens - Client_hello e Server_hello .
Client_hello contém uma lista de algoritmos criptográficos suportados pelo cliente, em ordem decrescente de preferência.
Server_hello contém a especificação de cifra selecionada (CipherSpec) e um novo session_id .
O CipherSpec contém campos como -
Algoritmo de cifra (DES, 3DES, RC2 e RC4)
Algoritmo MAC (baseado em MD5, SHA-1)
Algoritmo de chave pública (RSA)
Ambas as mensagens têm “nonce” para evitar o ataque de repetição.
Phase 2 - Autenticação de servidor e troca de chaves.
O servidor envia o certificado. O software cliente vem configurado com chaves públicas de várias organizações “confiáveis” (CAs) para verificar o certificado.
O servidor envia o conjunto de criptografia escolhido.
O servidor pode solicitar o certificado do cliente. Normalmente não é feito.
Servidor indica fim de Server_hello .
Phase 3 - Autenticação de cliente e troca de chaves.
O cliente envia o certificado, apenas se solicitado pelo servidor.
Ele também envia o segredo pré-mestre (PMS) criptografado com a chave pública do servidor.
O cliente também envia a mensagem Certificate_verify se o certificado for enviado por ele para provar que ele possui a chave privada associada a este certificado. Basicamente, o cliente assina um hash das mensagens anteriores.
Phase 4 - Terminar.
O cliente e o servidor enviam mensagens Change_cipher_spec um para o outro para fazer com que o estado de cifra pendente seja copiado para o estado atual.
A partir de agora, todos os dados são criptografados e protegidos por integridade.
A mensagem “Concluído” de cada extremidade verifica se os processos de troca de chaves e autenticação foram bem-sucedidos.
Todas as quatro fases, discutidas acima, acontecem no estabelecimento da sessão TCP. O estabelecimento da sessão SSL começa após TCP SYN / SYNACK e termina antes do TCP Fin.
Retomando uma sessão desconectada
É possível retomar uma sessão desconectada (por meio de mensagem de Alerta ), se o cliente enviar um hello_request ao servidor com a informação de session_id criptografada .
O servidor então determina se o session_id é válido. Se validado, ele troca mensagens ChangeCipherSpec e concluídas com o cliente e retoma as comunicações seguras.
Isso evita o recálculo de parâmetros de cifra de sessão e economiza computação no servidor e no cliente.
Chaves de Sessão SSL
Vimos que durante a Fase 3 do estabelecimento da sessão SSL, um segredo pré-mestre é enviado pelo cliente ao servidor criptografado usando a chave pública do servidor. O segredo mestre e várias chaves de sessão são gerados da seguinte forma -
O segredo mestre é gerado (via gerador de números pseudo-aleatórios) usando -
O segredo pré-master.
Dois nonces (RA e RB) trocados nas mensagens client_hello e server_hello.
Seis valores secretos são então derivados deste segredo mestre como -
Chave secreta usada com MAC (para dados enviados pelo servidor)
Chave secreta usada com MAC (para dados enviados pelo cliente)
Chave secreta e IV usados para criptografia (por servidor)
Chave secreta e IV usados para criptografia (por cliente)
Protocolo TLS
A fim de fornecer um padrão de Internet aberto de SSL, a IETF lançou o protocolo Transport Layer Security (TLS) em janeiro de 1999. O TLS é definido como um padrão de Internet proposto na RFC 5246.
Características Salientes
O protocolo TLS tem os mesmos objetivos do SSL.
Ele permite que os aplicativos cliente / servidor se comuniquem de maneira segura por meio da autenticação, evitando a interceptação e resistindo à modificação da mensagem.
O protocolo TLS fica acima da camada TCP de transporte orientado a conexão confiável na pilha de camadas de rede.
A arquitetura do protocolo TLS é semelhante ao protocolo SSLv3. Tem dois subprotocolos: o protocolo TLS Record e o protocolo TLS Handshake.
Embora os protocolos SSLv3 e TLS tenham arquitetura semelhante, várias alterações foram feitas na arquitetura e no funcionamento, especialmente para o protocolo de handshake.
Comparação de protocolos TLS e SSL
Existem oito diferenças principais entre os protocolos TLS e SSLv3. Estes são os seguintes -
Protocol Version - O cabeçalho do segmento do protocolo TLS carrega o número da versão 3.1 para diferenciar entre o número 3 carregado pelo cabeçalho do segmento do protocolo SSL.
Message Authentication- TLS emprega um código de autenticação de mensagem hash com chave (H-MAC). A vantagem é que o H-MAC opera com qualquer função hash, não apenas MD5 ou SHA, conforme explicitamente declarado pelo protocolo SSL.
Session Key Generation - Existem duas diferenças entre o protocolo TLS e SSL para geração de material de chave.
O método de computação dos segredos mestre e pré-mestre é semelhante. Mas no protocolo TLS, o cálculo do segredo mestre usa o padrão HMAC e a saída da função pseudo-aleatória (PRF) em vez do MAC ad-hoc.
O algoritmo para calcular chaves de sessão e valores de iniciação (IV) é diferente no protocolo TLS e no protocolo SSL.
Mensagem de protocolo de alerta -
O protocolo TLS suporta todas as mensagens usadas pelo protocolo de Alerta do SSL, exceto nenhuma mensagem de alerta de certificado sendo redundante. O cliente envia um certificado vazio caso a autenticação do cliente não seja necessária.
Muitas mensagens de alerta adicionais são incluídas no protocolo TLS para outras condições de erro, como record_overflow, decode_error etc.
Supported Cipher Suites- SSL suporta conjuntos de cifras RSA, Diffie-Hellman e Fortezza. O protocolo TLS suporta todos os naipes, exceto Fortezza.
Client Certificate Types- TLS define os tipos de certificado a serem solicitados em uma mensagem certificate_request . SSLv3 suporta tudo isso. Além disso, o SSL oferece suporte a certos outros tipos de certificado, como Fortezza.
Verificação de certificado e mensagens concluídas -
Em SSL, o procedimento de mensagem complexo é usado para a mensagem certificate_verify . Com o TLS, as informações verificadas estão contidas nas próprias mensagens de handshake, evitando esse procedimento complexo.
A mensagem finalizada é calculada de maneiras diferentes em TLS e SSLv3.
Padding of Data- No protocolo SSL, o preenchimento adicionado aos dados do usuário antes da criptografia é a quantidade mínima necessária para tornar o tamanho total dos dados igual a um múltiplo do comprimento do bloco da cifra. No TLS, o preenchimento pode ser qualquer quantidade que resulte em um tamanho de dados que seja um múltiplo do comprimento do bloco da cifra, até um máximo de 255 bytes.
As diferenças acima entre os protocolos TLS e SSLv3 estão resumidas na tabela a seguir.
Navegação segura - HTTPS
Nesta seção, discutiremos o uso do protocolo SSL / TLS para realizar uma navegação segura na web.
HTTPS definido
O protocolo HTTP (Hyper Text Transfer Protocol) é usado para navegação na web. A função de HTTPS é semelhante a HTTP. A única diferença é que o HTTPS oferece navegação “segura” na web. HTTPS significa HTTP sobre SSL. Este protocolo é usado para fornecer a conexão criptografada e autenticada entre o navegador da Web do cliente e o servidor do site.
A navegação segura por meio de HTTPS garante que o seguinte conteúdo seja criptografado -
- URL da página da web solicitada.
- Conteúdo da página da Web fornecido pelo servidor ao cliente do usuário.
- Conteúdo dos formulários preenchidos pelo usuário.
- Cookies estabelecidos em ambas as direções.
Trabalho de HTTPS
O protocolo de aplicativo HTTPS normalmente usa um de dois protocolos de segurança de camada de transporte populares - SSL ou TLS. O processo de navegação segura é descrito nos pontos a seguir.
Você solicita uma conexão HTTPS a uma página da web inserindo https: // seguido de URL na barra de endereço do navegador.
O navegador da web inicia uma conexão com o servidor da web. O uso de https invoca o uso do protocolo SSL.
Um aplicativo, navegador neste caso, usa a porta do sistema 443 em vez da porta 80 (usada no caso de http).
O protocolo SSL passa por um protocolo de handshake para estabelecer uma sessão segura, conforme discutido nas seções anteriores.
O site inicialmente envia seu certificado digital SSL para o seu navegador. Na verificação do certificado, o handshake SSL avança para trocar os segredos compartilhados da sessão.
Quando um certificado digital SSL confiável é usado pelo servidor, os usuários veem um ícone de cadeado na barra de endereço do navegador. Quando um certificado de validação estendida é instalado em um site, a barra de endereço fica verde.
Uma vez estabelecida, esta sessão consiste em várias conexões seguras entre o servidor da web e o navegador.
Uso de HTTPS
O uso de HTTPS fornece confidencialidade, autenticação do servidor e integridade da mensagem ao usuário. Permite a condução segura do comércio eletrônico na Internet.
Impede a escuta de dados e nega o roubo de identidade, que são ataques comuns em HTTP.
Os navegadores e servidores da web atuais são equipados com suporte HTTPS. O uso de HTTPS sobre HTTP, entretanto, requer mais poder de computação no cliente e na extremidade do servidor para realizar a criptografia e o handshake SSL.
Protocolo Secure Shell (SSH)
As principais características do SSH são as seguintes -
SSH é um protocolo de rede executado na camada TCP / IP. Ele foi projetado para substituir o TELNET, que fornecia meios não seguros de instalação de logon remoto.
O SSH fornece uma comunicação cliente / servidor segura e pode ser usado para tarefas como transferência de arquivos e e-mail.
SSH2 é um protocolo predominante que fornece segurança de comunicação de rede aprimorada em relação à versão anterior SSH1.
SSH definido
O SSH é organizado em três subprotocolos.
Transport Layer Protocol- Esta parte do protocolo SSH fornece confidencialidade de dados, autenticação de servidor (host) e integridade de dados. Opcionalmente, também pode fornecer compactação de dados.
Server Authentication- As chaves do host são assimétricas, como as chaves públicas / privadas. Um servidor usa uma chave pública para provar sua identidade a um cliente. O cliente verifica se o servidor contatado é um host “conhecido” no banco de dados que mantém. Depois que o servidor é autenticado, as chaves de sessão são geradas.
Session Key Establishment- Após a autenticação, o servidor e o cliente concordam com a cifra a ser usada. As chaves de sessão são geradas pelo cliente e pelo servidor. As chaves de sessão são geradas antes da autenticação do usuário para que nomes de usuário e senhas possam ser enviados criptografados. Essas chaves são geralmente substituídas em intervalos regulares (digamos, a cada hora) durante a sessão e são destruídas imediatamente após o uso.
Data Integrity- SSH usa algoritmos de código de autenticação de mensagem (MAC) para verificar a integridade dos dados. É uma melhoria em relação ao CRC de 32 bits usado pelo SSH1.
User Authentication Protocol- Esta parte do SSH autentica o usuário no servidor. O servidor verifica se o acesso é concedido apenas aos usuários pretendidos. Muitos métodos de autenticação são usados atualmente, como senhas digitadas, Kerberos, autenticação de chave pública, etc.
Connection Protocol - Isso fornece vários canais lógicos em uma única conexão SSH subjacente.
Serviços SSH
O SSH fornece três serviços principais que permitem o fornecimento de muitas soluções seguras. Esses serviços são descritos resumidamente a seguir -
Secure Command-Shell (Remote Logon)- Permite ao usuário editar arquivos, ver o conteúdo dos diretórios e acessar aplicativos no dispositivo conectado. Os administradores de sistemas podem iniciar / visualizar / interromper serviços e processos remotamente, criar contas de usuário e alterar permissões de arquivos / diretórios e assim por diante. Todas as tarefas viáveis no prompt de comando de uma máquina agora podem ser executadas com segurança na máquina remota usando logon remoto seguro.
Secure File Transfer- SSH File Transfer Protocol (SFTP) é projetado como uma extensão para SSH-2 para transferência segura de arquivos. Em essência, é um protocolo separado em camadas sobre o protocolo Secure Shell para lidar com as transferências de arquivos. SFTP criptografa o nome de usuário / senha e os dados do arquivo sendo transferidos. Ele usa a mesma porta do servidor Secure Shell, ou seja, a porta do sistema nº 22.
Port Forwarding (Tunneling)- Permite que dados de aplicativos baseados em TCP / IP não protegidos sejam protegidos. Após a configuração do encaminhamento de porta, o Secure Shell redireciona o tráfego de um programa (geralmente um cliente) e o envia através do túnel criptografado para o programa do outro lado (geralmente um servidor). Vários aplicativos podem transmitir dados em um único canal seguro multiplexado, eliminando a necessidade de abrir muitas portas em um firewall ou roteador.
Benefícios e limitações
Os benefícios e limitações do emprego de segurança de comunicação na camada de transporte são os seguintes -
Benefícios
A Segurança da Camada de Transporte é transparente para os aplicativos.
O servidor está autenticado.
Os cabeçalhos da camada de aplicativo ficam ocultos.
É mais refinado do que os mecanismos de segurança na camada 3 (IPsec), pois funciona no nível de conexão de transporte.
Limitações
Aplicável apenas a aplicativos baseados em TCP (não UDP).
Os cabeçalhos TCP / IP estão claros.
Adequado para comunicação direta entre o cliente e o servidor. Não atende a aplicativos seguros que usam cadeia de servidores (por exemplo, e-mail)
SSL não fornece não repúdio, pois a autenticação do cliente é opcional.
Se necessário, a autenticação do cliente precisa ser implementada acima do SSL.
Resumo
Um grande número de aplicativos da web surgiu na Internet na última década. Muitos portais de e-Governance e e-Commerce estão online. Esses aplicativos requerem que a sessão entre o servidor e o cliente seja segura, proporcionando confidencialidade, autenticação e integridade das sessões.
Uma forma de mitigar um ataque potencial durante a sessão de um usuário é usar um protocolo de comunicação seguro. Dois desses protocolos de comunicação, Secure Sockets Layer (SSL) e Transport Layer Security (TLS), são discutidos neste capítulo. Ambos os protocolos funcionam na camada de transporte.
Outro protocolo da camada de transporte, Secure Shell (SSH), projetado para substituir o TELNET, fornece meios seguros de instalação de logon remoto. É capaz de fornecer vários serviços, como Secure Command Shell e SFTP.
O emprego da segurança da camada de transporte tem muitos benefícios. No entanto, o protocolo de segurança projetado nessa camada pode ser usado apenas com TCP. Eles não fornecem segurança para a comunicação implementada usando UDP.
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 de 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 descrito 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, a partir 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 comunicantes 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.
Vimos que o rápido crescimento da Internet levantou uma grande preocupação com a segurança da rede. Vários métodos foram desenvolvidos para fornecer segurança na aplicação, transporte ou camada de rede de uma rede.
Muitas organizações incorporam medidas de segurança em camadas OSI mais altas, desde a camada de aplicativo até a camada IP. No entanto, uma área geralmente deixada sem supervisão é o fortalecimento da camada de enlace de dados. Isso pode abrir a rede para uma variedade de ataques e comprometimentos.
Neste capítulo, discutiremos problemas de segurança na camada de enlace de dados e métodos para combatê-los. Nossa discussão será focada na rede Ethernet.
Preocupações de segurança na camada de link de dados
A camada de enlace de dados em redes Ethernet é altamente sujeita a vários ataques. Os ataques mais comuns são -
ARP Spoofing
O protocolo de resolução de endereço (ARP) é um protocolo usado para mapear um endereço IP para um endereço de máquina física reconhecível na Ethernet local. Quando uma máquina host precisa encontrar um endereço físico de controle de acesso à mídia (MAC) para um endereço IP, ela transmite uma solicitação ARP. O outro host que possui o endereço IP envia uma mensagem de resposta ARP com seu endereço físico.
Cada máquina host na rede mantém uma tabela, chamada 'cache ARP'. A tabela contém o endereço IP e os endereços MAC associados de outro host na rede.
Como o ARP é um protocolo sem estado, toda vez que um host obtém uma resposta ARP de outro host, mesmo que não tenha enviado uma solicitação ARP, ele aceita essa entrada ARP e atualiza seu cache ARP. O processo de modificar o cache ARP de um host de destino com uma entrada forjada conhecida como envenenamento ARP ou falsificação ARP.
A falsificação de ARP pode permitir que um invasor se disfarce de host legítimo e, em seguida, intercepte quadros de dados em uma rede, modifique ou pare-os. Freqüentemente, o ataque é usado para lançar outros ataques, como man-in-the-middle, sequestro de sessão ou negação de serviço.
MAC Flooding
Cada switch na Ethernet tem uma tabela Content-Addressable Memory (CAM) que armazena os endereços MAC, números de porta de switch e outras informações. A mesa tem tamanho fixo. No ataque de inundação MAC, o invasor inunda o switch com endereços MAC usando pacotes ARP forjados até que a tabela CAM esteja cheia.
Depois que o CAM é inundado, o switch entra no modo semelhante a um hub e começa a transmitir o tráfego que não tem entrada CAM. O atacante que está na mesma rede, agora recebe todos os frames que eram destinados apenas a um determinado host.
Roubo de Porto
Os switches Ethernet têm a capacidade de aprender e vincular endereços MAC a portas. Quando um switch recebe tráfego de uma porta com um endereço de origem MAC, ele associa o número da porta e esse endereço MAC.
O ataque de roubo de porta explora essa capacidade dos switches. O invasor inunda o switch com quadros ARP forjados com o endereço MAC do host de destino como endereço de origem. O switch é enganado ao acreditar que o host de destino está na porta, na qual, na verdade, um invasor está conectado.
Agora, todos os quadros de dados destinados ao host de destino são enviados para a porta do switch do invasor e não para o host de destino. Assim, o invasor agora recebe todos os frames que na verdade eram destinados apenas ao host de destino.
Ataques DHCP
O protocolo de configuração dinâmica de hosts (DHCP) não é um protocolo de conexão de dados, mas as soluções para ataques DHCP também são úteis para impedir ataques da camada 2.
O DHCP é usado para alocar dinamicamente endereços IP a computadores por um período de tempo específico. É possível atacar servidores DHCP causando negação de serviço na rede ou personificando o servidor DHCP. Em um ataque de privação de DHCP, o invasor solicita todos os endereços DHCP disponíveis. Isso resulta em uma negação de serviço para o host legítimo na rede.
No ataque de falsificação de DHCP, o invasor pode implantar um servidor DHCP desonesto para fornecer endereços aos clientes. Aqui, o invasor pode fornecer às máquinas host um gateway padrão rouge com as respostas DHCP. Os frames de dados do host agora são guiados para o gateway rouge, onde o invasor pode interceptar todos os pacotes e responder ao gateway real ou descartá-los.
Outros Ataques
Além dos ataques populares acima, existem outros ataques, como a transmissão baseada na Camada 2, Negação de Serviço (DoS), clonagem de MAC.
No ataque de difusão, o invasor envia respostas ARP falsificadas aos hosts da rede. Essas respostas ARP definem o endereço MAC do gateway padrão para o endereço de broadcast. Isso faz com que todo o tráfego de saída seja transmitido, permitindo a detecção pelo invasor que está na mesma Ethernet. Esse tipo de ataque também afeta a capacidade da rede.
Nos ataques DoS baseados na Camada 2, o invasor atualiza os caches ARP dos hosts na rede com endereços MAC inexistentes. O endereço MAC de cada placa de interface de rede em uma rede deve ser globalmente exclusivo. No entanto, ele pode ser facilmente alterado ativando a clonagem de MAC. O invasor desabilita o host de destino por meio de um ataque DoS e usa os endereços IP e MAC do host de destino.
O invasor executa os ataques para lançar os ataques de nível superior, a fim de comprometer a segurança das informações que trafegam na rede. Ele pode interceptar todos os quadros e ler os dados dos quadros. O invasor pode agir como um intermediário e modificar os dados ou simplesmente descartar o quadro que leva ao DoS. Ele pode sequestrar a sessão em andamento entre o host de destino e outras máquinas e comunicar todas as informações erradas.
Protegendo LANs Ethernet
Discutimos alguns ataques amplamente conhecidos na camada de enlace de dados na seção anterior. Vários métodos foram desenvolvidos para mitigar esses tipos de ataques. Alguns dos métodos importantes são -
Segurança Portuária
É um recurso de segurança da camada 2 disponível em switches Ethernet inteligentes. Envolve amarrar uma porta física de um switch a um (s) endereço (s) MAC específico (s). Qualquer pessoa pode acessar uma rede não segura simplesmente conectando o host a uma das portas de switch disponíveis. Porém, a segurança da porta pode proteger o acesso à camada 2.
Por padrão, a segurança da porta limita a contagem de endereços MAC de entrada a um. No entanto, é possível permitir que mais de um host autorizado se conecte a partir dessa porta por meio da configuração. Os endereços MAC permitidos por interface podem ser configurados estaticamente. Uma alternativa conveniente é habilitar o aprendizado de endereço MAC "fixo", em que os endereços MAC serão aprendidos dinamicamente pela porta do switch até que o limite máximo da porta seja atingido.
Para garantir a segurança, a reação à mudança no (s) endereço (s) MAC (s) especificado (s) em uma porta ou em excesso de endereços em uma porta pode ser controlada de muitas maneiras diferentes. A porta pode ser configurada para desligar ou bloquear os endereços MAC que excedem um limite especificado. A melhor prática recomendada é desligar a porta. A segurança da porta impede ataques de inundação e clonagem de MAC.
DHCP Snooping
Vimos que o spoofing de DHCP é um ataque em que o invasor escuta as solicitações DHCP do host na rede e as responde com uma resposta DHCP falsa antes que a resposta DHCP autorizada chegue ao host.
A espionagem de DHCP pode evitar tais ataques. O snooping de DHCP é um recurso de switch. O switch pode ser configurado para determinar quais portas do switch podem responder às solicitações DHCP. As portas do switch são identificadas como confiáveis ou não confiáveis.
Apenas as portas que se conectam a um servidor DHCP autorizado são configuradas como “confiáveis” e têm permissão para enviar todos os tipos de mensagens DHCP. Todas as outras portas do switch não são confiáveis e podem enviar apenas solicitações DHCP. Se uma resposta DHCP for vista em uma porta não confiável, a porta será desligada.
Prevenindo ARP Spoofing
O método de segurança de porta pode impedir ataques de inundação e clonagem de MAC. No entanto, ele não impede o spoofing de ARP. A segurança da porta valida o endereço de origem MAC no cabeçalho do quadro, mas os quadros ARP contêm um campo de origem MAC adicional na carga de dados, e o host usa esse campo para preencher seu cache ARP. Alguns métodos para evitar spoofing de ARP são listados a seguir.
Static ARP- Uma das ações recomendadas é empregar entradas ARP estáticas na tabela ARP do host. As entradas ARP estáticas são entradas permanentes em um cache ARP. No entanto, esse método é impraticável. Além disso, ele não permite o uso de algum protocolo de configuração dinâmica de hosts (DHCP), pois o IP estático precisa ser usado para todos os hosts na rede da camada 2.
Intrusion Detection System- O método de defesa é utilizar o Sistema de Detecção de Intrusão (IDS) configurado para detectar grandes quantidades de tráfego ARP. No entanto, o IDS está sujeito a relatar falsos positivos.
Dynamic ARP Inspection- Este método de prevenção de spoofing de ARP é semelhante ao snooping de DHCP. Ele usa portas confiáveis e não confiáveis. As respostas ARP são permitidas na interface do switch apenas em portas confiáveis. Se uma resposta ARP chega ao switch em uma porta não confiável, o conteúdo do pacote de resposta ARP é comparado à tabela de ligação DHCP para verificar sua precisão. Se a resposta ARP não for válida, a resposta ARP será descartada e a porta será desabilitada.
Protegendo o Protocolo Spanning Tree
O Spanning Tree Protocol (STP) é um protocolo de gerenciamento de link da camada 2. O objetivo principal do STP é garantir que não haja loops de fluxo de dados quando a rede tiver caminhos redundantes. Geralmente, os caminhos redundantes são criados para fornecer confiabilidade à rede. Mas eles podem formar loops mortais que podem levar a ataques DoS na rede.
Protocolo Spanning Tree
Para fornecer redundância de caminho desejada, bem como evitar uma condição de loop, o STP define uma árvore que abrange todos os switches em uma rede. O STP força certos links de dados redundantes em um estado bloqueado e mantém outros links em um estado de encaminhamento.
Se um link no estado de encaminhamento quebrar, o STP reconfigura a rede e redefine os caminhos de dados ativando o caminho de espera apropriado. O STP é executado em pontes e switches implantados na rede. Todos os switches trocam informações para a seleção do switch raiz e para a configuração subsequente da rede. As unidades de dados de protocolo de ponte (BPDUs) transportam essas informações. Por meio da troca de BPDUs, todos os switches na rede elegem uma ponte / switch raiz que se torna o ponto focal na rede e controla os links bloqueados e encaminhados.
Ataques em STP
Assumindo a ponte raiz. É um dos tipos de ataque mais disruptivos na camada 2. Por padrão, um switch LAN leva qualquer BPDU enviado do switch vizinho pelo valor de face. A propósito, o STP é confiável, sem estado e não fornece nenhum mecanismo de autenticação de som.
Uma vez no modo de ataque raiz, o switch de ataque envia um BPDU a cada 2 segundos com a mesma prioridade da ponte raiz atual, mas com um endereço MAC ligeiramente inferior numericamente, o que garante sua vitória no processo de eleição da ponte raiz. O switch do invasor pode iniciar o ataque DoS não reconhecendo apropriadamente outros switches que causam inundação de BPDU ou sujeitando os switches a over-process BPDUS, alegando ser root em um momento e retraindo em rápida sucessão.
DoS usando Flood de configuração BPDU. O switch de ataque não tenta assumir o controle como root. Em vez disso, ele gera um grande número de BPDUs por segundo, levando a uma utilização muito alta da CPU nos switches.
Prevenindo Ataques no STP
Felizmente, a contramedida para um ataque de controle de root é simples e direta. Dois recursos ajudam a derrotar um ataque de controle de raiz.
Root Guard- A proteção de raiz restringe as portas do switch a partir das quais a bridge raiz pode ser negociada. Se uma porta 'habilitada para proteção de raiz' receber BPDUs superiores àquelas que a ponte raiz atual está enviando, essa porta será movida para um estado inconsistente de raiz e nenhum tráfego de dados será encaminhado por essa porta. O protetor de raiz é melhor implantado em portas que se conectam a switches que não devem assumir o controle como ponte de raiz.
BPDU-Guard- A proteção BPDU é usada para proteger a rede dos problemas que podem ser causados pelo recebimento de BPDUs nas portas de acesso. Estas são as portas que não deveriam recebê-los. O protetor BPDU é melhor implantado em portas voltadas para o usuário para evitar a inserção de um switch não autorizado por um invasor.
Protegendo LAN Virtual
Em redes locais, as redes locais virtuais (VLANs) às vezes são configuradas como uma medida de segurança para limitar o número de hosts suscetíveis a ataques de camada 2. As VLANs criam limites de rede, sobre os quais o tráfego de broadcast (ARP, DHCP) não pode cruzar.
Rede Local Virtual
Uma rede empregando switch (es) com suporte para recursos de VLAN pode ser configurada para definir várias VLANs em uma única infraestrutura de LAN física.
A forma comum de VLAN é uma VLAN baseada em porta. Nessa estrutura de VLAN, as portas de switch são agrupadas em VLAN usando software de gerenciamento de switch. Assim, um único switch físico pode atuar como vários switches virtuais.
O emprego de VLANs fornece isolamento de tráfego. Ele divide a grande rede de transmissão da camada 2 em redes menores da camada lógica 2 e, portanto, reduz o escopo de ataques como ARP / DHCP Spoofing. Os quadros de dados de uma VLAN podem ser movidos de / para as portas pertencentes apenas à mesma VLAN. O encaminhamento de quadros entre duas VLANs é feito por meio de roteamento.
As VLANs geralmente abrangem vários switches, conforme mostrado no diagrama acima. O link entre as portas de tronco transporta quadros de todas as VLANs definidas em vários switches físicos. Conseqüentemente, os quadros de VLAN encaminhados entre switches não podem ser quadros de formato Ethernet IEEE 802.1 simples. Como esses quadros se movem no mesmo link físico, eles agora precisam transportar informações de ID de VLAN. O protocolo IEEE 802.1Q adiciona / remove campos de cabeçalho adicionais para quadros Ethernet simples encaminhados entre portas de tronco.
Quando o campo após os dois campos de endereços IP for 0x8100 (> 1500), o quadro será identificado como quadro 802.1Q. O valor do identificador de protocolo de etiqueta de 2 bytes (TPI) é 81-00. O campo TCI consiste em informações de prioridade de 3 bits, indicador elegível para queda de 1 bit (DEI) e ID de VLAN de 12 bits. Este campo de prioridade de 3 bits e o campo DEI não são relevantes para VLANs. Bits de prioridade são usados para fornecer qualidade de serviço.
Quando um quadro não pertence a nenhuma VLAN, há um ID de VLAN padrão ao qual o quadro é considerado associado.
Ataque em VLAN e medidas de prevenção
Em um ataque de salto de VLAN, um invasor em uma VLAN pode obter acesso ao tráfego em outras VLANs que normalmente não seriam acessíveis. Ele contornaria um dispositivo da camada 3 (roteador) ao se comunicar de uma VLAN para outra, anulando assim o propósito de criação da VLAN.
O salto de VLAN pode ser executado por dois métodos; alternar spoofing e dupla marcação.
Switch Spoofing
Pode ocorrer quando a porta do switch, à qual o invasor está conectado, está no modo 'entroncamento' ou no modo 'negociação automática'. O invasor atua como um switch e adiciona cabeçalhos de encapsulamento 802.1Q com tags de VLAN para VLANs remotas de destino a seus quadros de saída. O switch receptor interpreta esses quadros como originados de outro switch 802.1Q e os encaminha para a VLAN de destino.
As duas medidas preventivas contra ataques de spoofing de switch são definir as portas de borda para o modo de acesso estático e desabilitar a negociação automática em todas as portas.
Dupla marcação
Nesse ataque, um invasor conectado na porta VLAN nativa do switch adiciona duas tags VLAN no cabeçalho do quadro. A primeira tag é da VLAN nativa e a segunda é da VLAN de destino. Quando o primeiro switch recebe os frames do invasor, ele remove a primeira tag, pois os frames da VLAN nativa são encaminhados sem tag na porta do tronco.
Como a segunda tag nunca foi removida pelo primeiro switch, o switch receptor identifica a tag restante como o destino da VLAN e encaminha os quadros para o host de destino nessa VLAN. O ataque de marcação dupla explora o conceito de VLAN nativa. Como a VLAN 1 é a VLAN padrão para portas de acesso e a VLAN nativa padrão em troncos, é um alvo fácil.
A primeira medida de prevenção é remover todas as portas de acesso da VLAN 1 padrão, pois a porta do invasor deve corresponder à da VLAN nativa do switch. A segunda medida de prevenção é atribuir a VLAN nativa em todos os troncos de switch a alguma VLAN não utilizada, digamos VLAN id 999. E, por último, todos os switches devem ser configurados para realizar a marcação explícita de quadros VLAN nativos na porta do tronco.
Protegendo LAN sem fio
A rede local sem fio é uma rede de nós sem fio dentro de uma área geográfica limitada, como um prédio comercial ou campus escolar. Os nós são capazes de comunicação de rádio.
Rede sem fio
A LAN sem fio é geralmente implementada como extensões da LAN com fio existente para fornecer acesso à rede com mobilidade de dispositivo. As tecnologias de LAN sem fio mais amplamente implementadas são baseadas no padrão IEEE 802.11 e suas emendas.
Os dois componentes principais da LAN sem fio são -
Access Points (APs)- Estas são estações base para a rede sem fio. Eles transmitem e recebem frequências de rádio para se comunicarem com clientes sem fio.
Wireless Clients- São dispositivos de computação equipados com uma placa de interface de rede sem fio (WNIC). Laptops, telefones IP, PDAs são exemplos típicos de clientes sem fio.
Muitas organizações implementaram LANs sem fio. Essas redes estão crescendo fenomenalmente. Portanto, é crucial entender as ameaças em LANs sem fio e aprender as medidas preventivas comuns para garantir a segurança da rede.
Ataques em LAN sem fio
Os ataques típicos realizados em LAN sem fio são -
Eavesdropping - O invasor monitora passivamente as redes sem fio em busca de dados, incluindo credenciais de autenticação.
Masquerading - O invasor se faz passar por um usuário autorizado e obtém acesso e privilégios em redes sem fio.
Traffic Analysis - O invasor monitora as transmissões por meio de redes sem fio para identificar padrões de comunicação e participantes.
Denial of Service - O invasor impede ou restringe o uso normal ou gerenciamento de LAN sem fio ou dispositivos de rede.
Message Modification/Replay - O invasor altera ou responde a uma mensagem legítima enviada por meio de redes sem fio excluindo, adicionando, alterando ou reordenando-a.
Medidas de segurança em LAN sem fio
As medidas de segurança fornecem meios para derrotar ataques e gerenciar riscos às redes. Estas são gerenciamento de rede, operação e medidas técnicas. Descrevemos a seguir as medidas técnicas adotadas para garantir a confidencialidade, disponibilidade e integridade dos dados transmitidos por LANs sem fio.
Em LANs sem fio, todos os APs devem ser configurados para fornecer segurança por meio de criptografia e autenticação de cliente. Os tipos de esquemas usados na LAN sem fio para fornecer segurança são os seguintes -
Privacidade equivalente com fio (WEP)
É um algoritmo de criptografia integrado ao padrão 802.11 para proteger redes sem fio. A criptografia WEP usa a cifra de fluxo RC4 (Rivest Cipher 4) com chaves de 40/104 bits e um vetor de inicialização de 24 bits. Ele também pode fornecer autenticação de endpoint.
É, no entanto, o mecanismo de segurança de criptografia mais fraco, visto que várias falhas foram descobertas na criptografia WEP. O WEP também não possui protocolo de autenticação. Portanto, o uso de WEP não é altamente recomendado.
Protocolo 802.11i
Neste protocolo, numerosas e mais fortes formas de criptografia são possíveis. Ele foi desenvolvido para substituir o esquema WEP fraco. Ele fornece mecanismo de distribuição de chaves. Ele suporta uma chave por estação e não usa a mesma chave para todas. Ele usa um servidor de autenticação separado do ponto de acesso.
IEEE802.11i exige o uso de um protocolo denominado modo de contador com protocolo CBC-MAC (CCMP). O CCMP oferece confidencialidade e integridade dos dados transferidos e autenticidade do remetente. É baseado na codificação de bloco Advanced Encryption Standard (AES).
O protocolo IEEE802.11i possui quatro fases de operação.
STA e AP se comunicam e descobrem recursos de segurança mútua, como algoritmos suportados.
STA e AS se autenticam mutuamente e juntos geram a chave mestra (MK). AP atua como “passagem”.
STA deriva Pairwise Master Key (PMK). AS deriva o mesmo PMK e envia para o AP.
STA, AP usam PMK para derivar Chave Temporal (TK) a ser usada para criptografia de mensagem e integridade de dados.
Outras Normas
Wi-Fi Protected Access(WPA) - Este protocolo implementa a maior parte do padrão IEEE 802.11i. Existia antes do IEEE 802.11i e usa o algoritmo RC4 para criptografia. Possui dois modos de operação. No modo 'Enterprise', o WPA usa o protocolo de autenticação 802.1x para se comunicar com o servidor de autenticação e, portanto, as chaves pré-mestras (PMK) são específicas para a estação cliente. No modo 'Pessoal', ele não usa 802.1x, PMK é substituído por uma chave pré-compartilhada, como usado para ambientes de LAN sem fio SOHO (Small Office Home Office).
O WPA também inclui uma verificação de integridade da mensagem de som que substitui a Verificação de Redundância Cíclica (CRC) que era usada pelo padrão WEP.
WPA2- WPA2 substituiu o WPA. O WPA2 implementa todos os elementos obrigatórios do esquema IEEE 802.11i. Em particular, inclui suporte obrigatório para CCMP, um modo de criptografia baseado em AES com forte segurança. Portanto, no que diz respeito aos ataques, o WPA2 / IEEE802.11i fornece soluções adequadas para a defesa contra as fraquezas do WEP, ataques man-in-the-middle, falsificação de pacotes e ataques de repetição. No entanto, o ataque DoS não é abordado adequadamente e não existem protocolos sólidos para impedir esses ataques, basicamente porque esses ataques visam a camada física como interferir na banda de frequência.
Resumo
Neste capítulo, consideramos ataques e técnicas de mitigação assumindo uma rede Ethernet comutada executando IP. Se sua rede não usa Ethernet como protocolo de camada 2, alguns desses ataques podem não ser aplicáveis, mas é provável que essa rede seja vulnerável a diferentes tipos de ataques.
A segurança é tão forte quanto o elo mais fraco. Quando se trata de rede, a camada 2 pode ser um elo muito fraco. As medidas de segurança da camada 2 mencionadas neste capítulo ajudam muito a proteger uma rede de muitos tipos de ataques.
O controle de acesso à rede é um método de aumentar a segurança de uma rede organizacional privada, restringindo a disponibilidade de recursos de rede para dispositivos terminais que estejam em conformidade com a política de segurança da organização. Um esquema típico de controle de acesso à rede compreende dois componentes principais, como Acesso restrito e Proteção de limite de rede.
O acesso restrito aos dispositivos de rede é obtido por meio de autenticação de usuário e controle de autorização, que é responsável por identificar e autenticar diferentes usuários no sistema de rede. Autorização é o processo de conceder ou negar permissões de acesso específicas a um recurso protegido.
Network Boundary Protectioncontrola a conectividade lógica dentro e fora das redes. Por exemplo, vários firewalls podem ser implantados para impedir o acesso não autorizado aos sistemas de rede. Além disso, tecnologias de detecção e prevenção de intrusão podem ser implantadas para defesa contra ataques da Internet.
Neste capítulo, discutiremos os métodos de identificação e autenticação do usuário para acesso à rede, seguidos por vários tipos de firewalls e sistemas de detecção de intrusão.
Protegendo o acesso a dispositivos de rede
Restringir o acesso aos dispositivos na rede é uma etapa muito essencial para proteger uma rede. Como os dispositivos de rede incluem equipamentos de comunicação e também de computação, comprometê-los pode derrubar uma rede inteira e seus recursos.
Paradoxalmente, muitas organizações garantem excelente segurança para seus servidores e aplicativos, mas deixam os dispositivos de rede de comunicação com segurança rudimentar.
Um aspecto importante da segurança do dispositivo de rede é o controle de acesso e a autorização. Muitos protocolos foram desenvolvidos para atender a esses dois requisitos e aumentar a segurança da rede para níveis mais elevados.
Autenticação e autorização do usuário
A autenticação do usuário é necessária para controlar o acesso aos sistemas de rede, em particular aos dispositivos de infraestrutura de rede. A autenticação tem dois aspectos: autenticação de acesso geral e autorização funcional.
A autenticação de acesso geral é o método para controlar se um determinado usuário tem “qualquer” tipo de direito de acesso ao sistema ao qual está tentando se conectar. Normalmente, este tipo de acesso está associado ao fato de o usuário possuir uma “conta” naquele sistema. A autorização trata dos “direitos” individuais do usuário. Por exemplo, ele decide o que um usuário pode fazer depois de autenticado; o usuário pode estar autorizado a configurar o dispositivo ou apenas visualizar os dados.
A autenticação do usuário depende de fatores que incluem algo que ele conhece (senha), algo que ele possui (token criptográfico) ou algo que ele é (biométrico). O uso de mais de um fator para identificação e autenticação fornece a base para a autenticação multifator.
Autenticação baseada em senha
No mínimo, todos os dispositivos de rede devem ter autenticação de nome de usuário e senha. A senha não deve ser trivial (pelo menos 10 caracteres, letras, números e símbolos mistos).
No caso de acesso remoto por parte do usuário, um método deve ser usado para garantir que os nomes de usuário e as senhas não sejam passados livremente pela rede. Além disso, as senhas também devem ser alteradas com alguma frequência razoável.
Métodos de autenticação centralizados
O sistema de autenticação individual baseado em dispositivo fornece uma medida básica de controle de acesso. No entanto, um método de autenticação centralizado é considerado mais eficaz e eficiente quando a rede tem um grande número de dispositivos com um grande número de usuários acessando esses dispositivos.
Tradicionalmente, a autenticação centralizada foi usada para resolver problemas enfrentados no acesso remoto à rede. Em sistemas de acesso remoto (RAS), a administração de usuários nos dispositivos de rede não é prática. Colocar todas as informações do usuário em todos os dispositivos e, em seguida, manter essas informações atualizadas é um pesadelo administrativo.
Sistemas de autenticação centralizados, como RADIUS e Kerberos, resolvem esse problema. Esses métodos centralizados permitem que as informações do usuário sejam armazenadas e gerenciadas em um só lugar. Normalmente, esses sistemas podem ser integrados de maneira transparente com outros esquemas de gerenciamento de contas de usuário, como o Active Directory da Microsoft ou diretórios LDAP. A maioria dos servidores RADIUS pode se comunicar com outros dispositivos de rede no protocolo RADIUS normal e então acessar com segurança as informações da conta armazenadas nos diretórios.
Por exemplo, o Internet Authentication Server (IAS) da Microsoft faz a ponte entre o RADIUS e o Active Directory para fornecer autenticação centralizada para os usuários dos dispositivos. Ele também garante que as informações da conta do usuário sejam unificadas com as contas de domínio da Microsoft. O diagrama acima mostra um controlador de domínio do Windows operando como um servidor Active Directory e um servidor RADIUS para que elementos de rede sejam autenticados em um domínio Active Directory.
Listas de controle de acesso
Muitos dispositivos de rede podem ser configurados com listas de acesso. Essas listas definem nomes de host ou endereços IP autorizados para acessar o dispositivo. É típico, por exemplo, restringir o acesso a equipamentos de rede de IPs, exceto para o administrador de rede.
Isso então protegeria contra qualquer tipo de acesso que possa ser não autorizado. Esses tipos de listas de acesso servem como uma última defesa importante e podem ser bastante poderosos em alguns dispositivos com regras diferentes para protocolos de acesso diferentes.
Quase toda organização de médio e grande porte está presente na Internet e possui uma rede organizacional conectada a ela. O particionamento da rede na fronteira entre a Internet externa e a rede interna é essencial para a segurança da rede. Às vezes, a rede interna (intranet) é referida como o lado “confiável” e a Internet externa como o lado “não confiável”.
Tipos de Firewall
Firewall é um dispositivo de rede que isola a rede interna da organização de uma rede externa / Internet maior. Pode ser um hardware, software ou sistema combinado que impede o acesso não autorizado de ou para a rede interna.
Todos os pacotes de dados que entram ou saem da rede interna passam pelo firewall, que examina cada pacote e bloqueia aqueles que não atendem aos critérios de segurança especificados.
A implantação de firewall no limite da rede é como agregar a segurança em um único ponto. É análogo a trancar um apartamento na entrada e não necessariamente em cada porta.
O firewall é considerado um elemento essencial para alcançar a segurança da rede pelas seguintes razões -
É improvável que a rede interna e os hosts estejam devidamente protegidos.
A Internet é um lugar perigoso para criminosos, usuários de empresas concorrentes, ex-funcionários descontentes, espiões de países hostis, vândalos, etc.
Para evitar que um invasor lance ataques de negação de serviço em recursos de rede.
Para evitar modificação / acesso ilegal a dados internos por um invasor externo.
O firewall é classificado em três tipos básicos -
- Filtro de pacotes (sem estado e com estado)
- Gateway de nível de aplicativo
- Gateway de nível de circuito
Essas três categorias, no entanto, não são mutuamente exclusivas. Os firewalls modernos possuem uma combinação de recursos que podem colocá-los em mais de uma das três categorias.
Firewall de filtragem de pacotes sem estado e com estado
Neste tipo de implantação de firewall, a rede interna é conectada à rede externa / Internet por meio de um firewall de roteador. O firewall inspeciona e filtra os dados pacote por pacote.
Packet-filtering firewalls permitir ou bloquear os pacotes principalmente com base em critérios como endereços IP de origem e / ou destino, protocolo, números de porta de origem e / ou destino e vários outros parâmetros no cabeçalho IP.
A decisão pode ser baseada em outros fatores além dos campos de cabeçalho IP, como tipo de mensagem ICMP, TCP SYN e bits ACK, etc.
A regra de filtro de pacotes tem duas partes -
Selection criteria - É usado como condição e correspondência de padrões para a tomada de decisão.
Action field- Esta parte especifica a ação a ser executada se um pacote IP atender aos critérios de seleção. A ação pode ser bloquear (negar) ou permitir (permitir) o pacote através do firewall.
A filtragem de pacotes geralmente é realizada pela configuração de listas de controle de acesso (ACL) em roteadores ou switches. ACL é uma tabela de regras de filtragem de pacotes.
Conforme o tráfego entra ou sai de uma interface, o firewall aplica ACLs de cima para baixo a cada pacote de entrada, encontra os critérios correspondentes e permite ou nega os pacotes individuais.
Stateless firewallé uma espécie de ferramenta rígida. Ele examina o pacote e permite que ele atenda aos critérios, mesmo que não faça parte de nenhuma comunicação contínua estabelecida.
Portanto, esses firewalls são substituídos por stateful firewallsem redes modernas. Este tipo de firewalls oferece um método de inspeção mais aprofundado sobre os únicos métodos de inspeção de pacotes baseados em ACL de firewalls sem estado.
O firewall estável monitora a configuração da conexão e o processo de desativação para verificar as conexões no nível TCP / IP. Isso permite que eles monitorem o estado das conexões e determinem quais hosts têm conexões abertas e autorizadas em um determinado momento.
Eles fazem referência à base de regra apenas quando uma nova conexão é solicitada. Os pacotes pertencentes a conexões existentes são comparados à tabela de estados de conexões abertas do firewall e a decisão de permitir ou bloquear é tomada. Esse processo economiza tempo e também oferece segurança adicional. Nenhum pacote pode invadir o firewall, a menos que pertença a uma conexão já estabelecida. Ele pode atingir o tempo limite de conexões inativas no firewall, após o qual não aceita mais pacotes para essa conexão.
Gateways de aplicativos
Um gateway de nível de aplicativo atua como um nó de retransmissão para o tráfego de nível de aplicativo. Eles interceptam pacotes de entrada e saída, executam proxies que copiam e encaminham informações através do gateway e funcionam como umproxy server, evitando qualquer conexão direta entre um servidor ou cliente confiável e um host não confiável.
Os proxies são específicos do aplicativo. Eles podem filtrar pacotes na camada de aplicação do modelo OSI.
Proxies específicos do aplicativo
Um proxy específico de aplicativo aceita pacotes gerados apenas por um aplicativo específico para o qual foram projetados para copiar, encaminhar e filtrar. Por exemplo, apenas um proxy Telnet pode copiar, encaminhar e filtrar o tráfego Telnet.
Se uma rede depende apenas de um gateway de nível de aplicativo, os pacotes de entrada e saída não podem acessar serviços que não tenham proxies configurados. Por exemplo, se um gateway executa proxies FTP e Telnet, apenas os pacotes gerados por esses serviços podem passar pelo firewall. Todos os outros serviços estão bloqueados.
Filtragem em nível de aplicativo
Um gateway de proxy de nível de aplicativo examina e filtra pacotes individuais, em vez de simplesmente copiá-los e encaminhá-los cegamente pelo gateway. Os proxies específicos do aplicativo verificam cada pacote que passa pelo gateway, verificando o conteúdo do pacote até a camada do aplicativo. Esses proxies podem filtrar tipos específicos de comandos ou informações nos protocolos de aplicativos.
Os gateways de aplicativo podem restringir a execução de ações específicas. Por exemplo, o gateway pode ser configurado para evitar que os usuários executem o comando 'FTP put'. Isso pode impedir a modificação das informações armazenadas no servidor por um invasor.
Transparente
Embora os gateways no nível do aplicativo possam ser transparentes, muitas implementações exigem autenticação do usuário antes que eles possam acessar uma rede não confiável, um processo que reduz a verdadeira transparência. A autenticação pode ser diferente se o usuário for da rede interna ou da Internet. Para uma rede interna, uma lista simples de endereços IP pode permitir a conexão com aplicativos externos. Mas, do lado da Internet, uma autenticação forte deve ser implementada.
Um gateway de aplicação realmente retransmite segmentos TCP entre as duas conexões TCP nas duas direções (Cliente ↔ Proxy ↔ Servidor).
Para pacotes de saída, o gateway pode substituir o endereço IP de origem por seu próprio endereço IP. O processo é conhecido como Network Address Translation (NAT). Isso garante que os endereços IP internos não sejam expostos à Internet.
Gateway em nível de circuito
O gateway de nível de circuito é uma solução intermediária entre o filtro de pacotes e o gateway de aplicativo. Ele é executado na camada de transporte e, portanto, pode atuar como proxy para qualquer aplicativo.
Semelhante a um gateway de aplicativo, o gateway de nível de circuito também não permite uma conexão TCP ponta a ponta através do gateway. Ele configura duas conexões TCP e retransmite os segmentos TCP de uma rede para a outra. Mas, ele não examina os dados do aplicativo como o gateway de aplicativo. Portanto, às vezes é chamado de 'Pipe Proxy'.
MEIAS
SOCKS (RFC 1928) refere-se a um gateway de nível de circuito. É um mecanismo de proxy de rede que permite que os hosts de um lado de um servidor SOCKS obtenham acesso total aos hosts do outro lado sem exigir a acessibilidade direta de IP. O cliente se conecta ao servidor SOCKS no firewall. Em seguida, o cliente entra em uma negociação para o método de autenticação a ser usado e autentica com o método escolhido.
O cliente envia uma solicitação de retransmissão de conexão ao servidor SOCKS, contendo o endereço IP de destino desejado e a porta de transporte. O servidor aceita a solicitação após verificar se o cliente atende aos critérios básicos de filtragem. Em seguida, em nome do cliente, o gateway abre uma conexão com o host não confiável solicitado e monitora de perto o handshaking TCP que se segue.
O servidor SOCKS informa o cliente e, em caso de sucesso, começa a retransmitir os dados entre as duas conexões. Os gateways em nível de circuito são usados quando a organização confia nos usuários internos e não deseja inspecionar o conteúdo ou os dados do aplicativo enviados pela Internet.
Implantação de firewall com DMZ
Um firewall é um mecanismo usado para controlar o tráfego de rede "para" e "fora" de uma rede interna organizacional. Na maioria dos casos, esses sistemas têm duas interfaces de rede, uma para a rede externa, como a Internet, e outra para o lado interno.
O processo de firewall pode controlar rigidamente o que é permitido atravessar de um lado para o outro. Uma organização que deseja fornecer acesso externo ao seu servidor web pode restringir todo o tráfego que chega ao firewall esperado para a porta 80 (a porta http padrão). Todo o outro tráfego, como tráfego de e-mail, FTP, SNMP, etc., não é permitido através do firewall para a rede interna. Um exemplo de firewall simples é mostrado no diagrama a seguir.
Na implantação simples acima, embora todos os outros acessos externos sejam bloqueados, é possível que um invasor entre em contato não apenas com um servidor web, mas com qualquer outro host na rede interna que deixou a porta 80 aberta por acidente ou de outra forma.
Conseqüentemente, o problema que a maioria das organizações enfrenta é como habilitar o acesso legítimo a serviços públicos, como web, FTP e e-mail, ao mesmo tempo em que mantém a segurança da rede interna. A abordagem típica é implantar firewalls para fornecer uma Zona Desmilitarizada (DMZ) na rede.
Nesta configuração (ilustrada no diagrama a seguir), dois firewalls são implantados; um entre a rede externa e o DMZ, e outro entre o DMZ e a rede interna. Todos os servidores públicos são colocados na DMZ.
Com esta configuração, é possível ter regras de firewall que permitem o acesso público aos servidores públicos, mas o firewall interno pode restringir todas as conexões de entrada. Por ter DMZ, os servidores públicos são fornecidos com proteção adequada em vez de colocá-los diretamente na rede externa.
Sistema de detecção / prevenção de intrusão
Os firewalls de filtragem de pacotes operam com base em regras envolvendo apenas cabeçalhos TCP / UDP / IP. Eles não tentam estabelecer verificações de correlação entre sessões diferentes.
O Sistema de detecção / prevenção de intrusão (IDS / IPS) realiza a inspeção profunda de pacotes (DPI) observando o conteúdo do pacote. Por exemplo, verificar cadeias de caracteres no pacote em relação ao banco de dados de vírus conhecidos, cadeias de ataque.
Os gateways de aplicativo examinam o conteúdo do pacote, mas apenas para aplicativos específicos. Eles não procuram dados suspeitos no pacote. O IDS / IPS procura dados suspeitos contidos em pacotes e tenta examinar a correlação entre vários pacotes para identificar quaisquer ataques, como varredura de portas, mapeamento de rede e negação de serviço e assim por diante.
Diferença entre IDS e IPS
IDS e IPS são semelhantes na detecção de anomalias na rede. IDS é uma ferramenta de 'visibilidade' enquanto IPS é considerada uma ferramenta de 'controle'.
Os Sistemas de Detecção de Intrusão ficam do lado da rede, monitorando o tráfego em muitos pontos diferentes e fornecem visibilidade do estado de segurança da rede. Em caso de relatório de anomalia pelo IDS, as ações corretivas são iniciadas pelo administrador da rede ou outro dispositivo na rede.
Os Sistemas de Prevenção de Intrusão são como um firewall e ficam em linha entre duas redes e controlam o tráfego que passa por elas. Ele impõe uma política especificada na detecção de anomalias no tráfego da rede. Geralmente, ele descarta todos os pacotes e bloqueia todo o tráfego da rede ao perceber uma anomalia até que uma anomalia seja tratada pelo administrador.
Tipos de IDS
Existem dois tipos básicos de IDS.
Signature-based IDS
Ele precisa de um banco de dados de ataques conhecidos com suas assinaturas.
A assinatura é definida por tipos e ordem de pacotes que caracterizam um ataque específico.
A limitação desse tipo de IDS é que apenas ataques conhecidos podem ser detectados. Este IDS também pode lançar um alarme falso. O alarme falso pode ocorrer quando um fluxo de pacote normal corresponde à assinatura de um ataque.
Um exemplo conhecido de IDS de código aberto público é o IDS “Snort”.
Anomaly-based IDS
Este tipo de IDS cria um padrão de tráfego de operação normal da rede.
Durante o modo IDS, ele observa os padrões de tráfego que são estatisticamente incomuns. Por exemplo, carga incomum de ICMP, crescimento exponencial em varreduras de portas, etc.
A detecção de qualquer padrão de tráfego incomum gera o alarme.
O principal desafio enfrentado neste tipo de implantação de IDS é a dificuldade em distinguir entre o tráfego normal e o tráfego incomum.
Resumo
Neste capítulo, discutimos os vários mecanismos empregados para o controle de acesso à rede. A abordagem à segurança de rede por meio do controle de acesso é tecnicamente diferente da implementação de controles de segurança em diferentes camadas de rede discutidas nos capítulos anteriores deste tutorial. No entanto, embora as abordagens de implementação sejam diferentes, elas são complementares entre si.
O controle de acesso à rede é composto por dois componentes principais: autenticação do usuário e proteção dos limites da rede. RADIUS é um mecanismo popular para fornecer autenticação central na rede.
O Firewall fornece proteção de limite de rede, separando uma rede interna da Internet pública. O firewall pode funcionar em diferentes camadas do protocolo de rede. O IDS / IPS permite monitorar as anomalias no tráfego da rede para detectar o ataque e tomar medidas preventivas contra o mesmo.
Informação e comunicação eficiente são duas das questões estratégicas mais importantes para o sucesso de qualquer negócio. Com o advento dos meios eletrônicos de comunicação e armazenamento, mais e mais empresas passaram a usar redes de dados para se comunicar, armazenar informações e obter recursos. Existem diferentes tipos e níveis de infraestruturas de rede que são usados para administrar os negócios.
Pode-se afirmar que, no mundo moderno, nada teve maior impacto nas empresas do que os computadores em rede. Mas a rede traz consigo ameaças à segurança que, se mitigadas, permitem que os benefícios da rede superem os riscos.
Papel da rede nos negócios
Hoje em dia, as redes de computadores são vistas como um recurso por quase todas as empresas. Esse recurso permite reunir, analisar, organizar e disseminar informações essenciais para sua rentabilidade. A maioria das empresas instalou redes para se manter competitiva.
A função mais óbvia da rede de computadores é que as organizações podem armazenar virtualmente qualquer tipo de informação em um local central e recuperá-la no local desejado por meio da rede.
Benefícios das redes
A rede de computadores permite que as pessoas compartilhem informações e ideias facilmente, para que possam trabalhar de forma mais eficiente e produtiva. As redes melhoram atividades como compras, vendas e atendimento ao cliente. A rede torna os processos de negócios tradicionais mais eficientes, mais gerenciáveis e menos caros.
Os principais benefícios que uma empresa obtém das redes de computadores são -
Resource sharing - Uma empresa pode reduzir a quantidade de dinheiro gasta em hardware compartilhando componentes e periféricos conectados à rede.
Streamlined business processes - As redes de computadores permitem que as empresas otimizem seus processos internos de negócios.
Collaboration among departments - Quando dois ou mais departamentos de negócios conectam partes selecionadas de suas redes, eles podem agilizar os processos de negócios que normalmente demandam uma quantidade excessiva de tempo e esforço e muitas vezes apresentam dificuldades para alcançar maior produtividade.
Improved Customer Relations - As redes oferecem aos clientes muitos benefícios, como conveniência para fazer negócios, resposta rápida de serviço e assim por diante.
Existem muitos outros benefícios específicos de negócios resultantes da rede. Esses benefícios tornaram essencial para todos os tipos de empresas a adoção de redes de computadores.
Necessidade de segurança de rede
As ameaças em redes com ou sem fio aumentaram significativamente devido ao avanço da tecnologia moderna com capacidade crescente de redes de computadores. O uso esmagador da Internet no mundo de hoje para várias transações comerciais impôs desafios de roubo de informações e outros ataques aos ativos intelectuais de negócios.
Na era atual, a maioria dos negócios é conduzida por meio de aplicativos de rede e, portanto, todas as redes correm o risco de serem atacadas. As ameaças de segurança mais comuns à rede comercial são a interceptação e o roubo de dados e o roubo de identidade.
A segurança de rede é um campo especializado que trata de impedir tais ameaças e fornecer a proteção da usabilidade, confiabilidade, integridade e segurança da infraestrutura de rede de computadores de uma empresa.
Importância da segurança de rede para negócios
Protecting Business Assets- Este é o objetivo principal da segurança da rede. Ativos são as informações armazenadas nas redes de computadores. As informações são tão cruciais e valiosas quanto quaisquer outros ativos tangíveis da empresa. A segurança da rede se preocupa com a integridade, proteção e acesso seguro a informações confidenciais.
Compliance with Regulatory Requirements - As medidas de segurança de rede ajudam as empresas a cumprir os regulamentos específicos do governo e do setor sobre segurança da informação.
Secure Collaborative Working- A segurança de rede incentiva a colaboração de colegas de trabalho e facilita a comunicação com clientes e fornecedores, oferecendo-lhes acesso seguro à rede. Ele aumenta a confiança do cliente e do consumidor de que suas informações confidenciais estão protegidas.
Reduced Risk - A adoção da segurança de rede reduz o impacto das violações de segurança, incluindo ações judiciais que podem levar à falência de pequenas empresas.
Gaining Competitive Advantage- O desenvolvimento de um sistema de segurança eficaz para redes oferece uma vantagem competitiva a uma organização. Na arena dos serviços financeiros da Internet e do comércio eletrônico, a segurança da rede assume importância primordial.