Cursos / Redes de Computadores / Segurança em Redes / Aula
As regras de filtragem são listas de acesso que definem os tipos de acesso permitidos ou não em uma rede. A Figura 2 ilustra os componentes básicos encontrados em uma regra de firewall.
#regra | ação | protocolo | origem | destino | opções |
O primeiro campo é um identificador da regra. O segundo campo estabelece se a ação é permitir ou negar a passagem do pacote. O terceiro campo refere-se ao protocolo (normalmente de rede, transporte ou aplicação), utilizado pelo pacote. O quarto campo indica a origem do pacote. O quinto campo indica o seu destino. O sexto campo define, por exemplo, os flags do pacote e portas de origem ou destino. A seguir, veremos alguns exemplos de regras.
Se o administrador deseja impedir conexões do serviço telnet para sua rede interna (protocolo TCP, porta 23), deve configurar uma regra de firewall conforme mostra a Figura 3.
#regra | ação | protocolo | origem | destino | opções |
01 | negar | TCP | qualquer | Rede interna | Porta destino = 23 |
Se o administrador desejar abrir uma exceção, permitindo conexões telnet vindas de um determinado local, então adiciona-se uma nova regra que contenha o endereço de origem deste local, por exemplo, 1.2.3.4. As regras na Figura 4 mostram que todos os pacotes para a porta 23 serão bloqueados, exceto os que possuem como origem o endereço 1.2.3.4.
#regra | ação | protocolo | Origem | destino | opções |
01 | permitir | TCP | 1.2.3.4 | Rede interna | Porta destino = 23 |
02 | negar | TCP | qualquer | Rede interna | Porta destino = 23 |
Com isso, você pode pensar que vamos precisar criar uma regra nova para cada restrição ou liberação. Mas, isso não é verdade. Se duas restrições não se excluírem, elas podem vir a fazer parte da mesma regra.
Uma questão importante refere-se à prioridade das regras, que influencia diretamente a política de segurança da rede. Uma opção seria liberar tudo e estabelecer regras específicas de negação. Outra opção seria negar tudo e liberar o que for necessário. Certamente, a segunda opção é mais segura, mas a manutenção será mais trabalhosa, pois a cada novo serviço que surgir, o administrador terá que incluir uma nova regra para liberá-lo.
Adotando a primeira opção (liberar tudo e ter regras de negação), suponha que queremos bloquear o acesso a serviços que estão em portas menores que 1024, que são serviços que precisam ser executados com privilégios de root. A Figura 5 ilustra essa regra.
#regra | ação | protocolo | origem | destino | opções |
01 | negar | TCP/UDP | qualquer | Rede interna | Porta destino < 1024 |
Conforme visto, o campo “opções” poderá conter uma série de informações além da porta de origem ou destino. Por exemplo, é bastante comum termos regras onde se leva em consideração informações do “estado” de uma conexão TCP (contidas no cabeçalho de seus frames). Com isso, conforme visto na Figura 6, podemos bloquear apenas novas tentativas de conexão a um serviço, sem influir nas já estabelecidas.
#regra | ação | protocolo | origem | destino | opções |
01 | Negar | TCP | qualquer | Rede interna | Porta destino = 80 Estado = new |
Versão 5.3 - Todos os Direitos reservados