Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CFC — Control centralizado de cortafuegos | Kitploit
Herramientas/GitHubGitHub/leonbroseliske/cfc
Scripting y AutomatizaciónAuditoría de ConfiguraciónSeguridad de Redes
GitHubleonbroseliske/cfc

CFC

Control centralizado de cortafuegos

Ver Repositorio
219hace 8 añosRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Script de control centralizado de firewall

El control centralizado de firewall proporciona una forma centralizada de gestionar el firewall en múltiples servidores o balanceadores de carga que ejecutan iptables. De esta manera, puedes permitir/bloquear/eliminar/buscar rangos de abuso, etc., rápidamente con un solo comando en varios servidores. Accede a esos servidores a través de SSH.

Soporta tanto IPv4 como IPv6.

Probado en Debian 6.x / 7.x / 8.x / 9.x, pero debería funcionar en cualquier distribución.

Prerrequisitos

Para usar las funciones 'precheck', 'protected' y 'findip' para IPv6, necesitas tener instalado el módulo de Python 'netaddr'. IPv4 no lo necesita ya que utiliza coincidencia de prefijos en la forma binaria de la IP.

Debian: apt-get install python3-netaddr

Es más eficiente usar 'ipset' además de iptables. Ipset se puede usar para gestionar listas a las que iptables puede referirse y utilizar. Esto funciona más rápido y la manipulación de la lista también es más flexible y es el método preferido para usar este script.

Debian: apt-get install ipset

Dado que este script se conecta a los servidores indicados mediante SSH, dicho acceso debe estar presente antes de que pueda ser utilizado.

Configuración

Copia la configuración de ejemplo de cfc.cfg-example a cfc.cfg la primera vez.

Los siguientes ajustes se pueden configurar en el archivo de configuración:

  • action: establece la acción al agregar una regla, por defecto: DROP
  • checkaggrbin: ruta al script checkaggr.py, por defecto: ./checkaggr.py
  • cleanupconfirmation: pide confirmación antes de ejecutar el comando clean, establece en false para uso en cron, por defecto: true
  • date: establece el formato de fecha para los comentarios del firewall, por defecto: $(date +%d%m%Y) -> 22062016
  • dateipset: establece el formato de fecha para los comentarios del firewall de ipset, déjalo por defecto para evitar romper algunas funciones, por defecto: $(date +%Y%m%d) -> 20160622
  • ipsetname: establece el nombre de la lista IPSET, por defecto: blockedips
  • ipsetservers: establece los servidores que usan IPSET en lugar de iptables, por defecto: "lvs05.example.com lvs06.example.com"
  • fwchain: nombre de la cadena del firewall para agregar/eliminar/buscar, por defecto: INPUT
  • masklimit: tamaño máximo de los rangos IP que se pueden agregar, por defecto: /21
  • precheck: verifica si la IP que se va a agregar ya está en el firewall o es parte de un rango añadido más grande, puede ser un poco lento en firewalls grandes con IPv6 (~25 segundos para buscar 500 rangos IP por servidor), por defecto: true
  • protected: habilita los rangos protegidos añadidos, por defecto: true
  • protectedranges: rangos IP que se excluyen de la función 'add', normalmente los rangos propiedad de la red local, por defecto: "172.16.0.0/12 10.0.0.0/8 192.168.0.0/16"
  • pythonbin: ubicación del binario de Python utilizado, por defecto: /usr/bin/python3
  • servers: establece los servidores que usan solo iptables, por defecto: "lvs01.example.com lvs02.example.com lvs03.example.com lvs04.example.com"
  • Las funciones IPv6 están marcadas con el sufijo '6'

Uso

Al introducir IPs/rangos con los siguientes comandos, hazlo en notación CIDR, esto se valida y no aceptará nada más.

add:

root@kitploit:~
cfc.sh add n.n.n.n/NN '<optional comment>'
cfc6.sh add <IPv6_address_range> '<optional comment>'

Agrega la IP(rango) dada a los firewalls con la acción configurada para todo el tráfico desde esa fuente. Hace un comentario por defecto con la fecha actual, puedes agregar un comentario opcional usando comillas simples para añadir una razón o propietario de ese rango como ejemplo. También se puede buscar posteriormente por ese comentario.

addstring:

root@kitploit:~
cfc.sh addstring <protocol>:<dport> <string>
cfc6.sh addstring <protocol>:<dport> <string>

Agrega un bloqueo de cadena a iptables para un cierto protocolo y puerto de destino. Un ejemplo práctico sería bloquear un User-Agent destinado a un grupo de servidores web, por lo que una conexión tcp destinada al puerto 80 con la cadena: Firefox/28.0, todo el tráfico entrante que coincida con esa cadena hacia el puerto tcp 80 sería bloqueado:

root@kitploit:~
cfc.sh addstring tcp:80 'Firefox/28.0'

¡Cuidado, esto puede tener grandes consecuencias si la cadena no es lo suficientemente específica!

clean:

root@kitploit:~
cfc.sh clean <older_than_number_of_days>

Limpia todas las reglas de firewall de CFC más antiguas que n cantidad de días. Ten en cuenta que depende del formato de fecha predeterminado. Por lo tanto, si personalizaste el formato de fecha, deberás ajustar el script en la sección 'clean'.

del:

root@kitploit:~
cfc.sh del n.n.n.n/NN
cfc6.sh del <IPv6_address_range>

Elimina la IP(rango)/regla dada de los firewalls.

delstring:

root@kitploit:~
cfc.sh delstring <protocol>:<dport> <string>
cfc6.sh delstring <protocol>:<dport> <string>

Elimina un bloqueo de cadena en iptables para un cierto protocolo y puerto de destino.

find:

root@kitploit:~
cfc.sh find <string>
cfc6.sh find <string>

Busca en los firewalls la cadena dada (no distingue mayúsculas/minúsculas), esto puede ser (parte de) una IP / rango / comentario.

findip:

root@kitploit:~
cfc.sh findip n.n.n.n/NN
cfc6.sh findip <IPv6_address_range>

Busca en los firewalls si la IP(rango) dada ya es parte de una regla agregada, puede ser un poco lento en firewalls grandes para IPv6 (~25 segundos para buscar 500 rangos IP por servidor). IPv4 utiliza coincidencia de prefijos en la forma binaria de la IP, que es aproximadamente un 500% más rápida, también se usa para las funciones precheck y protectedranges.

ipsethostinit:

root@kitploit:~
cfc.sh ipsethostinit <server_name>
cfc6.sh ipsethostinit <server_name>

Agrega una lista IPSET al host especificado y una regla iptables que haga referencia a ella utilizando los parámetros definidos en cfc.cfg. Esto solo debe hacerse una vez antes de agregar reglas de firewall.

last:

root@kitploit:~
cfc.sh last <nr_of_most_recent_rules>
cfc6.sh last <nr_of_most_recent_rules>

Muestra las últimas entradas agregadas a los firewalls.

Descargar herramienta