Analise o que acontece nesta situação:
| pacote | direção | ip_org. | ip_dst. | Proto. | porta_org. | porta_dst. | ação |
|---|---|---|---|---|---|---|---|
| 7 | in | 172.16.1.2 | 10.0.0.1 | TCP | 25 | 6000 | permite (D) |
| 8 | out | 10.0.0.1 | 172.16.1.2 | TCP | 6000 | 25 | permite (C) |
Como se nota, este pacote será permitido e a tentativa de abertura de conexão terá sucesso.
Para resolver este problema deve-se incluir mais um elemento nos filtros: a análise das flags dos pacotes TCP, especificamente a flag ACK.
| regra | direção | ip_org. | ip_dst. | Proto. | porta_org. | porta_dst. | flag | ação |
|---|---|---|---|---|---|---|---|---|
| A | in | externo | interno | TCP | >1023 | 25 | qualquer | permite |
| B | out | Interno | externo | TCP | 25 | >1023 | Só ACK | permite |
| C | out | Interno | externo | TCP | >1023 | 25 | qualquer | permite |
| D | in | Externo | interno | TCP | 25 | >1023 | Só ACK | permite |
| E | ambas | Qualquer | qualquer | qualquer | qualquer | qualquer | qualquer | bloqueia |
No processo de estabelecimento de conexão TCP, sempre o primeiro pacote possui a flag ACK setada como 0. Já os demais pacotes da conexão possuem a flag ACK setada em 1.
Agora analise o que ocorre com a inclusão deste novo elemento no filtro:
| pacote | direção | ip_orig. | ip_dest. | protocolo | porta_orig. | porta_dest. | flag | ação |
|---|---|---|---|---|---|---|---|---|
| 7 | in | 172.16.1.2 | 10.0.0.1 | TCP | 25 | 6000 | ACK=0 | bloqueia(E) |
Como pode notar agora as tentativas de abertura de conexão com origem em redes externas e destinadas a portas >1023 serão bloqueadas.
Com o exemplo dado, damos por encerrada esta etapa, sem exaurir o assunto que é bastante vasto. No próximo módulo será abordado o assunto DMZ que emprega o NAT, PAT e a ACL estudados até então.