
A nova geração de firewalls é mais conveniente e segura, graças à nova arquitetura de mecanismo e à nova ideologia de gerenciamento de fluxos de rede.
Por que este artigo apareceu?
Repetidamente, vi colegas de segurança que usam uma nova geração de firewalls e viram que continuam a escrever regras sobre números de portas. Por sugestão de continuar escrevendo pelo nome de aplicativos, ouvi "E se não funcionar dessa maneira?" Se você também está "assustado" ou não está claro por que escrever as regras para aplicativos, este artigo é para você.
Início do artigo por referência
Parte 1. Noções básicas de firewallParte 2. Impacto na segurança do FIREWALL L7
Conteúdo
O firewall L7 verifica o conteúdo do campo de dados, o firewall L4 nãoOs aplicativos foram alterados - seu firewall foi alteradoComo funciona a detecção de tráfegoO firewall L7 é mais convenienteO firewall L7 é mais seguroQuais novos problemas criam uma nova abordagem para escrever regras para L7Limitações da tecnologia de análise de nível 7ConclusãoVotaçãoO firewall L7 verifica o conteúdo do campo de dados, o firewall L4 não
O principal problema com o qual estamos enfrentando problemas é que agora os programas são gravados imediatamente, para contornar a proteção do firewall L4.
Se uma pessoa coloca o Skype, ele não quer ligar para o administrador do sistema e implorar para abrir a porta que ele precisa no firewall - ele quer que o Skype acenda imediatamente "verde". Os programadores sabem que geralmente há um proxy HTTP na rede ou a porta 80 é aberta para HTTP, a porta 53 é para DNS, a porta 123 é para NTP e, às vezes, para funcionários de dentro para fora da Internet, tudo está aberto e você pode usar essas conexões permitidas de acordo.

Os desenvolvedores têm o termo Experiência do usuário - após a instalação, o cliente pegou fogo em verde Skype = o cliente está feliz. E o fato de o Skype ter ultrapassado ilegalmente o perímetro da empresa por meio de uma conexão aberta apenas para navegador nas portas TCP / 80 e 443 - o firewall L4 ignora, porque não é tarefa dele examinar o conteúdo dos pacotes - apenas os cabeçalhos são importantes para ele.
Problema no firewall L4: salto de porta (encapsulamento)

O encapsulamento de aplicativos não autorizados dentro de conexões permitidas é uma imagem padrão nas redes modernas. Naturalmente, os hackers usam o mesmo truque: eles criam túneis nas conexões permitidas. E os seguranças nem sabem.
Exemplo de túnel TCP-sobre-DNS

A partir dos pacotes de tráfego coletados na imagem, fica claro que há conexões na 53ª porta TCP, que geralmente é considerada a operação do protocolo DNS. No entanto, se você olhar com atenção, poderá ver que no campo Texto do protocolo DNS há algum tipo de texto criptografado. Esta é uma implementação do túnel TCP-Over-DNS, que eu frequentemente vejo nas redes corporativas. À esquerda, há uma lista de outros túneis que seus usuários ou hackers podem usar. O firewall L4 fornece essas informações? Não. Portanto, se você precisar proteger a empresa contra túneis não autorizados, precisará analisar o conteúdo dos dados transmitidos e usá-lo para analisar qual aplicativo está atualmente usando esta conexão TCP.
Os aplicativos foram alterados - seu firewall foi alterado

O mundo mudou e hoje determinar a aplicação pelo número da porta não é suficiente. Sim, há 20 anos, concordamos que, se 80 estiver escrito no campo Port, então isso é HTTP, se 53, então isso é DNS, mas agora não é assim!
É necessário analisar o conteúdo dos dados transmitidos e cabe a eles analisar qual aplicativo está usando atualmente essa conexão TCP.
Acesse o
banco de dados do aplicativo
applipedia.paloaltonetworks.com . Veja quantos aplicativos usam as portas 80 e 443.
Um exemplo
Aplicativos usando a porta 80

O problema com muitos recursos de segurança é ignorar aplicativos em portas não padrão.

Mover um aplicativo padrão para uma porta não padrão também permite que um invasor fique fora de controle. Este controle restaura apenas o dispositivo que analisa o conteúdo de todo o tráfego, e não apenas os cabeçalhos.
Como funciona a detecção de tráfego
Uma das tarefas da análise de aplicativos é detectar o tráfego de aplicativos criados especialmente para que suas conexões não fiquem visíveis. Tomemos, por exemplo, o Skype. As pessoas que aprenderam a distinguir pacotes UDP criptografados do Skype de outros pacotes UDP criptografados são muito bons.
Há também uma classe de dispositivos que podem fazer isso: Inspeção profunda de pacotes (a seguir, DPI). Agora, esses dispositivos estão com grandes fornecedores e permitem que você manipule o tráfego de aplicativos: aplique QoS ou redirecione na direção certa. Às vezes, NGFW e DPI são comparados. Diferença: o DPI foi projetado para controlar a qualidade do tráfego e a segurança do NGFW, embora o NGFW também tenha recursos de QoS.
Os métodos para detectar aplicativos no tráfego são diferentes.
- Se você precisar encontrar um aplicativo que não se oculte no tráfego, como HTTP, basta usar as pesquisas usuais para os padrões ou assinaturas correspondentes. E isso é usado ativamente pelos fabricantes. Este é o mais fácil.
- Se você precisar encontrar um aplicativo que oculte deliberadamente , por exemplo, TOR, precisará de um conjunto de métodos para analisar as estatísticas e o comportamento do pacote. Isso é difícil, pois requer um laboratório de pesquisa, que também precisa acompanhar as mudanças no protocolo a tempo e implementar novos algoritmos de busca. Minhas tentativas de conseguir pelo menos um desenvolvedor para dizer como esses algoritmos funcionam, deparamos com a resposta de que tudo isso é propriedade intelectual.
Acontece que o aplicativo já alterou o algoritmo de operação e o mecanismo DPI ou NGFW ainda não conseguiu alterar. Por exemplo, o Telegram às vezes muda porque está sendo procurado. Ocorrem falsos positivos. Isso é importante para verificar. Consequentemente, os dispositivos, NGFW e DPI diferem principalmente no número e na qualidade da detecção de aplicativos. Aqui está o único método: coloque o NGFW no seu tráfego e veja. Se falamos sobre o perímetro, o tráfego mais complexo que eu vi continha 715 aplicativos diferentes por mês. Em média, 200 a 300 aplicativos de vários tipos passam pelo perímetro. Nesta visualização do tráfego de aplicativos, você pode ver o seguinte: passe o mouse sobre cada círculo:
http://researchcenter.paloaltonetworks.com/app-usage-risk-report-visualization/

Existem milhares de aplicativos no banco de dados de aplicativos, portanto, analisar essencialmente os formatos e algoritmos de cada aplicativo é um trabalho longo e meticuloso dos analistas. Depois de entendermos como o aplicativo funciona, os programadores começam a trabalhar, que implementam a descoberta de aplicativos pelo tráfego. E esses poucos milhares de aplicativos estão mudando constantemente. Consequentemente, o produto deve ser constantemente suportado, aprender novas aplicações e monitorar alterações nas antigas e adicionar detectores modificados ao banco de dados. O banco de dados de todos os aplicativos possíveis que geram tráfego pode ser
encontrado aqui .
Às vezes, os fornecedores de firewall L7 tentam medir o número de aplicativos que eles têm no banco de dados, mas isso é mais como palavrões. Ao ativar o pensamento crítico, você entende que, na realidade, você só precisa detectar aplicativos no perímetro (em média, na região de 300 aplicativos diferentes), no data center (10 a 15 peças), nas redes ICS / SCADA (2-3 aplicações), entre segmentos (talvez sejam apenas algumas dezenas). E se você for oferecido para detectar milhares de aplicativos - isso é apenas marketing e a detecção de alguns aplicativos desconhecidos que ninguém usa.
Exemplos de aplicativos na rede de uma empresa:
A segmentação interna dentro da empresa é uma exigência constante de padrões de segurança da informação que quase ninguém atende. Entre os segmentos onde estão programadores, financiadores, RH e contabilidade, os aplicativos também são executados. No mínimo, você precisa controlar a rede Windows (protocolo SMB), isso ficou especialmente claro após a epidemia de criptomoedas WannaCry, que foi distribuída via SMB. Ou seja, as redes internas também precisam da análise de aplicativos de nível 7 e métodos relacionados para procurar código malicioso na sandbox e no IPS e, pelo menos, controlar os tipos de arquivos transferidos.
O problema mais comum que se nota nas redes: o firewall supostamente está no nível 7, mas na realidade ele detecta aplicativos por porta. Como verificá-lo?
- Para o teste, desligue o servidor FTP na porta 25. Se o dispositivo estiver errado e disser que é o protocolo SMTP, esse definitivamente não é o firewall L7.
- Ou tente escrever regras para dois aplicativos diferentes que usam a mesma porta. Faça regras diferentes para eles: em um bloco, os arquivos exe, no outro, permitam. Se isso acontecer, significa que a verdade é a análise do aplicativo (não o número da porta) e, em seguida, trabalhe com seu conteúdo: bloqueio de arquivos, verificação de assinaturas de vírus, verificação de IPS e assim por diante.
- Outro teste interessante para o NGFW é quando você precisa criar dois aplicativos L7 personalizados com propriedades diferentes no mesmo endereço IP. Isso não pode firewall L4, mas pode firewall L7. Descrição completa e teste em si aqui: http://basic.ngfw-test.com/
Na Rússia, ainda é importante que os firewalls conheçam o tráfego de aplicativos russos: 1C, Odnoklassniki, Yandex.Disk, mail.ru, como são as atualizações do Kaspersky Anti-Virus e assim por diante. Esse também é um componente importante de descoberta de aplicativos que você precisa para permitir esses aplicativos com segurança aos seus funcionários.
O firewall L7 é mais conveniente
Se você observar o processo de treinamento de engenheiros de rede, na maioria das vezes as pessoas fazem cursos de um conhecido fabricante de equipamentos de rede, o que fornece um bom conhecimento das tecnologias de rede.

O autor dessas linhas concluiu um número decente de cursos da Cisco em 2003 e, portanto, apresenta as especificidades dos engenheiros de redes de treinamento em particular: como regra, depois de estudar o modelo OSI ISO de sete níveis, apenas os quatro primeiros níveis são estudados em detalhes. Ou seja, todas as sutilezas dos engenheiros de rede de segurança da informação conhecem apenas até o nível de TCP / UDP / ICMP. Apenas alguns básicos são considerados no nível do aplicativo: HTTP, DNS, SSH, Telnet, NTP, FTP. Qual é o resultado? E o administrador da rede considera que é fácil gerenciar a camada de aplicativos a partir da camada de transporte!
Pode parecer para um especialista em rede recém-criado que tudo pode ser feito com regras no nível de transporte, onde você só precisa permitir o protocolo e a porta necessários. Precisa permitir um navegador na Internet? Abrimos o TCP / 80. Precisa abrir o DNS? Abra o TCP / 53 ou UDP / 53. Precisa abrir o RDP? Abra o TCP / 3389. E escrever regras no firewall L4 está se tornando o padrão na empresa.
Devo dizer que muitos especialistas em TI estão cientes do conceito de inspeção completa. Mas, ao mesmo tempo, para muitos, é uma revelação que diferentes firewalls oferecem suporte à inspeção adequada para um conjunto diferente de aplicativos. Tenho certas estatísticas porque trabalhei como professor de cursos de Firewall no centro de treinamento da empresa Informzashita. O que estou vendo? Alguém pensa que a inspeção completa do estado é apenas permissão para aceitar as respostas do protocolo TCP / UDP / ICMP de volta. Mas e as aplicações mais complexas? Por exemplo, como rastrear duas conexões TCP que o protocolo FTP faz nas portas 21 e 20 - elas dependem uma da outra? Lá, você precisa não apenas aceitar a resposta, mas também permitir a segunda conexão, dependendo do comando PORT, dentro da conexão de controle na porta 21. E quantos aplicativos mais para abrir novas conexões dentro de si fornecem aplicativos? Em resumo, as redes agora usam a lista de acesso usual, que não entende o comando PORT dentro do protocolo FTP, e há o firewall L4, que desmonta o comando PORT e abre automaticamente a porta desejada, há alguém que foi além e examinou os comandos mais complexos do protocolo MS RPC ou ICS Protocolos / SCADA. Mas todos os aplicativos possíveis do firewall L4 não são exibidos, e esses firewalls geralmente também diferem no número de aplicativos implementados dentro do Application Layer Gateway (ALG).
No que estou chegando? A convicção de que apenas lembrar as principais portas TCP / UDP não funciona.
Já existem milhares de aplicativos no mundo e todos usam redes de computadores. E nenhum engenheiro de rede consegue se lembrar de todas essas portas.
A revelação para os engenheiros de rede é a tarefa de abrir portas para uma aplicação mais complexa, por exemplo, o VNC. Ninguém se lembra de quais portas existem e precisa usar o google.
Ao publicar a primeira parte, realizei uma pesquisa e vejo que as pessoas ainda estão prontas para lembrar os números das portas - as opiniões foram divididas em 50 a 50: alguém respondeu que estava pronto para lembrar as 4 portas do aplicativo VNC.
Talvez o campeão no número de portas seja o Lync (também conhecido como Skype for Business). Cerca de 40 portas. É realista lembrá-los?

Se você
observar o Microsoft TechNet, que descreve quais portas você precisa abrir, desejo escrever uma permissão para qualquer regra, porque existem cerca de 40 portas e algumas delas devem abrir dinamicamente. E é desastrosamente inconveniente registrar-se no firewall L4.
Acontece que é mais conveniente para um engenheiro de rede escrever as regras do aplicativo L7 e é necessário que o próprio firewall abra automaticamente as portas necessárias.
Precisa abrir o VNC? Você escreve a palavra VNC na regra e o firewall já entende quais protocolos subjacentes você precisa abrir. Isso é conveniente.
Um exemplo Relatório NGFW sobre categorias de tráfego selecionadas.
Em média, 200 a 300 aplicativos usam acesso à Internet a partir de uma rede corporativa. O firewall no nível do aplicativo mostra quais aplicativos são e pode filtrar esses aplicativos para todos ou para usuários específicos e filtrar arquivos por tipos ou conteúdo que vão para aplicativos permitidos para todos os usuários na rede corporativa. Também não esqueça que no NGFW, as funções de segurança funcionam em paralelo: IPS, antivírus, anti-spyware, filtro de URL, filtro de DNS, Threat Intelligence e assim por diante. Ou seja, não apenas permitimos aplicativos, mas o fazemos com segurança.
O firewall L7 é mais seguro
Eu tenho o NGFW da Palo Alto Networks em mãos. Eu escrevi três regras diferentes sobre isso. Vamos ver como eles diferem.

Se você já configurou um firewall, verá que para diferentes grupos de usuários: vip, marketing e programadores, ativei o SSL de três maneiras diferentes.
- Os usuários vip poderão acessar a porta 443 e usar SSL dentro dela , pois é a porta padrão para SSL. Se eles tentarem acessar a porta 443, por exemplo, telnet comum, eles não terão êxito - o firewall verificará se não é SSL e o bloqueará. E é disso que você precisa!
- o marketing pode ir para qualquer porta usando SSL , porque no campo Serviço, onde as portas são indicadas, qualquer porta é permitida. A questão é: eu quero que o marketing use SSL em portas não padrão? Não. Este é um erro de configuração comum. Especificar uma porta como qualquer outra é lógica se a regra for proibitiva - ou seja, se queremos proibir o SSL em qualquer porta.
- programadores podem andar na porta 443 com qualquer aplicativo , o que é realmente um buraco, porque eu originalmente queria abrir apenas SSL. E é exatamente assim que o firewall L4 funciona - ele abre a porta e, em seguida, não importa para ele o que existe e quais aplicativos usam essa porta. Qualquer programador no grupo de programadores pode usar qualquer túnel.
Definir o
padrão do aplicativo é muito importante e permite reduzir o número de regras: você pode especificar os aplicativos necessários na coluna Aplicativo em uma regra e o próprio firewall abrirá as portas necessárias para os aplicativos necessários, e somente os aplicativos que devem ir passar por essas portas. Assim, você precisa de uma regra para abrir vários aplicativos.
Por exemplo, para a regra abaixo, onde todos os funcionários têm permissão para acessar a Internet apenas por padrão, o NGFW verifica constantemente se eles querem apenas o cliente DNS na 53ª porta e não o TCP sobre DNS. E, claro, isso aumenta a segurança, porque você não apenas permite aplicativos, mas controla que apenas os aplicativos permitidos passam por canais abertos.

Quais novos problemas criam uma nova abordagem para escrever regras para L7
Você precisa entender que a determinação do aplicativo pelo conteúdo do pacote é muito estressante para o processador de firewall L7. Se o firewall L4 habitual verificou apenas alguns bytes do cabeçalho do pacote TCP e passou os megabytes restantes do clipe de flash sem verificar, o firewall L7 deve ler tudo o que está armazenado no campo de dados TCP / IP e verificar constantemente o conteúdo da conexão TCP / IP; mudou ou representa uma ameaça para a empresa. Portanto, quando um funcional, como análise de conteúdo, apareceu, todos os dispositivos começaram a ficar mais lentos. Portanto, a análise de conteúdo requer dispositivos mais poderosos.
Limitações da tecnologia de análise de nível 7
O firewall L7 requer mais memória para armazenar o estado de uma conexão, portanto, o parâmetro "número de conexões simultâneas" do firewall L7 é sempre menor que o firewall L4 com a mesma quantidade de RAM nos dois dispositivos e significativamente a cada 10 vezes. Isso já foi explicado acima na seção Statefull Inspeção E esse é o preço da segurança de seus aplicativos. Portanto, se você estiver comparando a inspeção L4 e L7, pergunte ao fabricante como ele mediu o parâmetro "número de sessões simultâneas": com a segurança ativada no nível 7 ou desativada.
O mesmo com o desempenho: o processador de firewall L4 verifica apenas alguns bytes do cabeçalho do pacote e depois transfere os dados em velocidade de roteamento sem verificação, e o firewall L7 verifica o cabeçalho e todos os megabytes de dados contidos nos pacotes de conexão subsequentes. E este é um trabalho completamente diferente. Portanto, esse trabalho precisa ser feito em plataformas especializadas de hardware, onde a análise de aplicativos é acelerada, o antivírus de streaming é acelerado, o IPS e outras funções de segurança são aceleradas. O melhor de tudo é que a Cavium conseguiu criar chips para acelerar a segurança, cujos chips, por exemplo, são usados pela Palo Alto Networks.
Além disso, o uso de chips FPGA especializados (FPGAs) permite que você atualize as assinaturas de antivírus e IPS no próprio chip e a verificação da assinatura é realizada na velocidade do hardware do chip FPGA. Agora, mesmo os computadores pessoais têm aceleração de funções gráficas em GPUs dedicadas, portanto, o uso de chips para acelerar a segurança é um desenvolvimento lógico da tecnologia.Conclusão
Primeiro , gerenciar a segurança no firewall L7 é mais fácil. Anteriormente, você lia a documentação do fabricante do aplicativo por um longo tempo e abriu as portas listadas lá. Agora é simples: especifique o nome do aplicativo na regra NGFW e as portas necessárias serão resolvidas automaticamente, dependendo do estado das conexões desse aplicativo.Em segundo lugar , você pode detectar e bloquear o encapsulamento, porque o firewall L7 permite com segurança apenas um aplicativo especificado explicitamente e, se alguém tentar encapsular outro aplicativo em uma porta aberta, ele será imediatamente detectado e bloqueado.Em terceiro lugar, você pode permitir o aplicativo desejado em qualquer porta desejada e apenas o aplicativo desejado entrará nessa porta, e não todos de uma vez. Por exemplo, apenas um navegador da web usará a porta 80.Parte 3. Descriptografia de SSL no NGFW. (continuação)Tudo de bom!Denis Batrankovdenis@batrankov.ru