Rule Conflict Finder
Encontrar regras duplicadas, sombreadas ou sobrepostas do firewall
Firewall Rules
Format
action, source, port, protocol
Actions: allow/deny, Port: single, range (80-443), or *
Analysis Results
Enter firewall rules to analyze for conflicts
O Localizador de Conflito de Regra analisa conjuntos de regras de firewall para identificar duplicatas, regras sombreadas, contradições e condições sobrepostas. Cole regras em formato CSV, iptables, nftables ou exportação de grupo de segurança e obtenha um relatório de conflito com números de linha, classificações de severidade e sugestões específicas de resolução para cada problema encontrado.
Entendendo Conflitos de Regra de Firewall
Configurações de firewall crescem organicamente. Uma nova regra é adicionada para um projeto específico, outra para uma resposta a incidente, outra para uma solicitação de acesso de fornecedor. Ao longo de meses e anos, o conjunto de regras acumula camadas de mudanças de diferentes administradores, e ninguém tem uma visão completa de como todas as regras interagem. É aqui que conflitos rastejam -- regras que se contradizem, regras que sombreiam regras mais específicas, e regras duplicadas que desperdiçam capacidade sem adicionar valor.
A parte perigosa é que conflitos de regra são frequentemente invisíveis. Uma regra sombreada -- onde uma regra ampla acima da cadeia captura todo o tráfego antes de uma regra específica abaixo -- não produz uma mensagem de erro. O firewall felizmente processa a regra ampla e nunca avalia a específica. Se a regra ampla permite tráfego que a regra específica era feita para bloquear, você tem uma lacuna de segurança que não aparecerá em nenhum log ou alerta. Será descoberta apenas quando um atacante a explora ou quando um auditor manualmente revisa cada regra contra cada outra, que é exatamente o que esta ferramenta automatiza.
Contradições são igualmente sutis. Duas regras poderiam ter intervalos de origem sobrepostos, portas coincidentes, mas ações diferentes -- uma permite e a outra nega. Em firewalls com semântica de primeira correspondência (iptables, nftables, nginx), a regra que aparece primeiro vence. Em plataformas que avaliam todas as regras (grupos de segurança AWS), o modelo apenas de permissão significa que qualquer regra de permissão sobrepõe a negação implícita, e contradições entre grupos de segurança e ACLs de Rede podem criar comportamento inesperado. Sem análise automatizada, essas interações são virtualmente impossíveis de raciocinar em conjuntos de regra com mais de algumas poucas dúzias de entradas.
Como Encontrar Conflitos de Regra de Firewall
- Cole suas regras de firewall em qualquer formato comum -- CSV, comandos iptables, regras nftables ou exportações de grupo de segurança.
- O analisador analisa cada regra e extrai campos de origem, destino, protocolo, porta e ação.
- Cada regra é comparada contra todas as outras regras para detectar conflitos.
- Revise o relatório de conflito mostrando cada problema com números de linha, tipo de conflito, severidade e sugestões de resolução.
- Aplique as correções recomendadas e re-analise para verificar que o conjunto de regra está limpo.
Tipos de Conflitos de Regra de Firewall
Duplicatas Exatas
Duas regras com condições e ações idênticas. Uma é desnecessária e desperdiça capacidade de regra.
Linha 3: iptables -A INPUT -s 10.0.0.0/8 -p tcp --dport 443 -j ACCEPT
Linha 17: iptables -A INPUT -s 10.0.0.0/8 -p tcp --dport 443 -j ACCEPT
-> DUPLICATA: Linha 17 é idêntica à linha 3. Remova a linha 17.
Regras Sombreadas
Uma regra mais ampla acima de uma regra mais específica torna a regra específica inalcançável. A regra específica nunca corresponde a nenhum tráfego porque a regra ampla captura tudo primeiro.
Linha 5: iptables -A INPUT -s 10.0.0.0/8 -p tcp --dport 443 -j ACCEPT
Linha 8: iptables -A INPUT -s 10.1.2.0/24 -p tcp --dport 443 -j DROP
-> SOMBREADA: Linha 8 é inalcançável. 10.1.2.0/24 está dentro de 10.0.0.0/8, então
linha 5 corresponde primeira. Tráfego de 10.1.2.0/24 é ACEITO, nunca NEGADO.
Contradições
Regras sobrepostas com ações diferentes -- uma permite e outra nega tráfego que corresponde a ambas as condições.
Linha 2: iptables -A INPUT -s 192.168.0.0/16 -p tcp --dport 22 -j ACCEPT
Linha 6: iptables -A INPUT -s 192.168.1.0/24 -p tcp --dport 22 -j DROP
-> CONTRADIÇÃO: 192.168.1.0/24 corresponde a ambas as regras. Linha 2 ACEITA enquanto
linha 6 NEGA. Em iptables, linha 2 vence (primeira correspondência). É isto intencional?
Regras Redundantes
Uma regra específica que é um subset de uma regra mais ampla com a mesma ação -- ela corresponde mas não adiciona valor.
Linha 4: iptables -A INPUT -s 10.0.0.0/8 -p tcp --dport 80 -j ACCEPT
Linha 9: iptables -A INPUT -s 10.1.0.0/16 -p tcp --dport 80 -j ACCEPT
-> REDUNDANTE: Linha 9 é um subset da linha 4 com a mesma ação. Remova
a linha 9 para reduzir a contagem de regra sem mudar o comportamento.
Níveis de Severidade de Conflito
| Severidade | Tipo de Conflito | Impacto de Segurança |
|---|---|---|
| Crítico | Contradição (sobreposição de permissão vs. negação) | Pode criar lacuna de segurança ou bloquear tráfego legítimo |
| Alto | Regra sombreada com ação diferente | Regra de negação pretendida nunca é executada |
| Médio | Regra sombreada com a mesma ação | Sem impacto de segurança mas indica um erro de lógica |
| Baixo | Duplicata exata | Desperdiça capacidade de regra, sem impacto de segurança |
| Info | Subset redundante | Pode ser removido para limpeza |
Quando Usar o Localizador de Conflito de Regra
- Auditoria pré-desploiement -- Analise novos conjuntos de regra antes de fazer push para produção para pegar erros que causariam falhas ou lacunas de segurança.
- Configurações herdadas -- Ao assumir um firewall de outra equipe ou administrador, encontre problemas acumulados em regras construídas ao longo do tempo.
- Validação pós-mesclagem -- Após combinar conjuntos de regra de múltiplas fontes (ex: mesclar dois firewalls durante consolidação de data center), verifique conflitos.
- Auditorias de conformidade -- Demonstre a auditores que regras de firewall estão livres de conflito e seguem princípios de privilégio mínimo.
- Higiene regular -- Agende revisões periódicas para prevenir acumulação de regra, onde novas regras são adicionadas mas antigas nunca são removidas.
Como a Detecção de Conflito de Regra Funciona
Análise de Sobreposição CIDR
O analisador determina sobreposição comparando o endereço de rede binário e comprimento de prefixo de cada CIDR de origem e destino de regra:
10.0.0.0/8contém10.1.2.0/24porque/8é um superset de/24dentro da mesma rede base192.168.1.0/24e192.168.2.0/24não se sobrepõem -- endereços de rede diferentes172.16.0.0/12e172.20.0.0/16se sobrepõem -- o/16cai dentro do intervalo/12
Sobreposição de Intervalo de Porta
Intervalos de porta são verificados para sobreposição independentemente de intervalos de IP:
80-443e443-8080se sobrepõem em porta4431024-65535contém3306(MySQL) e5432(PostgreSQL)22e22são idênticos (correspondência exata)
Correspondência de Campo Cruzado
Um conflito existe apenas quando todos os campos se sobrepõem simultaneamente -- origem, destino, protocolo e porta. Duas regras com a mesma origem mas portas diferentes não estão em conflito.
Análise Ciente de Plataforma
O analisador considera o modelo de avaliação da plataforma alvo. Para firewalls de primeira correspondência (iptables, nftables), a ordem de regra importa -- uma sombra é apenas um problema quando a regra mais ampla aparece antes da específica. Para grupos de segurança AWS onde todas as regras são avaliadas simultaneamente, ordem é irrelevante mas contradições entre o grupo de segurança e ACLs de Rede ainda podem ocorrer.
Conselho Prático para Higiene de Conjunto de Regra
A causa raiz da maioria dos conflitos de regra de firewall é falta de processo. Quando qualquer um pode adicionar uma regra sem revisar o conjunto de regra existente, conflitos são inevitáveis. Implemente um processo de gerenciamento de mudança: toda nova regra deve ser revisada contra as regras existentes antes do desploiement, com uma justificação documentada pelo motivo de ser necessária. Isto não tem que ser heavyweight -- um simples checklist e revisão de pares são suficientes para pegar a maioria dos conflitos. O Localizador de Conflito de Regra pode ser integrado a esse workflow como uma verificação automatizada.
Quando você herda uma configuração de firewall e o relatório de conflito mostra dezenas de problemas, resista ao impulso de limpar tudo de uma vez. Comece com os conflitos críticos e de severidade alta -- esses são os que poderiam estar ativamente criando lacunas de segurança. Corrija esses primeiro, teste completamente, e então mude para problemas de severidade média e baixa em janelas de mudança subsequentes. Tentar limpar 50 regras de uma vez é uma receita para um apagão.
Uma prática útil é executar o localizador de conflito após cada mudança, não apenas periodicamente. Adicione-o ao seu pipeline de desploiement para que cada mudança de conjunto de regra dispare uma análise. Isto pega conflitos no momento que são introduzidos, quando o contexto é fresco e o engenheiro que fez a mudança está disponível para explicar a intenção. Descobrir um conflito seis meses depois significa que ninguém se lembra por que qualquer uma das regras existe, tornando a resolução muito mais difícil.
Perguntas Frequentes
A ordem de regra importa para detecção de conflito?
Sim, para firewalls que usam semântica de primeira correspondência (iptables, nftables, nginx). Uma regra sombreada é apenas um problema se a regra mais ampla aparece antes. Para firewalls que avaliam todas as regras (grupos de segurança AWS), ordem não importa, mas contradições ainda são possíveis entre grupos de segurança e ACLs de Rede.
O localizador pode analisar regras de diferentes plataformas de firewall?
Sim. O analisador aceita CSV, comandos iptables e exportações de grupo de segurança. A lógica de detecção de conflito é agnóstica de plataforma -- funciona nas tuplas subjacentes origem/destino/porta/ação independentemente do formato original.
Como corrijo uma regra sombreada?
Ou reordene as regras para que a regra específica apareça antes da regra ampla, ou remova a regra específica se a ação da regra ampla é o comportamento pretendido. O analisador sugere a correção apropriada baseada nas ações envolvidas.
E se a contradição é intencional?
Às vezes contradições são deliberadas -- por exemplo, permitindo todo o tráfego interno mas negando SSH de uma subnet interna específica por razões de segurança. Em iptables, você colocaria a regra específica de negação antes da regra geral de permissão. O analisador marca esses para revisão para que você possa confirmar a intenção, mas não os remove automaticamente.
Quantas regras o analisador pode lidar?
O analisador compara cada regra contra cada outra regra, que é uma operação O(n^2). Ele lida com conjuntos de regra de até algumas milhares de regras confortavelmente. Para conjuntos de regra muito grandes (10.000+ regras), análise pode levar alguns segundos a mais mas ainda se completa sem problemas.
Posso excluir regras conhecidas boas da análise?
O analisador processa todas as regras de entrada. Se certos conflitos são intencionais, note-os em sua documentação mas mantenha-os na análise para garantir que permaneçam visíveis durante auditorias. Esconder conflitos conhecidos riscos mascarar novos, não intencionais.
Ferramentas Relacionadas
- Construtor de Lista de Permissão - Construa allowlist CIDR mínima a partir de lista de IP
- Construtor de Lista de Bloqueio - Construa blocklist CIDR mínima a partir de lista de IP
- Gerador de Regra iptables - Gere regras iptables a partir de CSV
- Gerador de Regra nftables - Gere regras nftables a partir de CSV
- Gerador de Regra de Grupo de Segurança AWS - Gere regras de Grupo de Segurança AWS a partir de CSV