--- name: check_firewall kind: function lang: bash domain: cybersecurity version: "1.0.0" purity: impure signature: "check_firewall() -> void" description: "Detecta el firewall activo del sistema (ufw, firewalld o iptables) y muestra su estado, reglas activas y puertos en escucha para cruzar con las reglas. Si no se detecta ningún firewall, emite una advertencia de exposición." tags: [bash, cybersecurity, firewall, ufw, iptables, network, hardening, linux, pendiente-usar] uses_functions: [] uses_types: [] returns: [] returns_optional: false error_type: "error_go_core" imports: [] params: [] output: "imprime el firewall detectado, su estado (activo/inactivo), reglas vigentes y lista de puertos en escucha" tested: false tests: [] test_file_path: "" file_path: "bash/functions/cybersecurity/check_firewall.sh" source_repo: "https://gitea-dgg044oo04woo4ggcsws4gk0.organic-machine.com/egutierrez/DevLauncher.git" source_license: "MIT" source_file: "scripts/linux/ciberseguridad/sistema/firewall_status.sh" --- ## Ejemplo ```bash source bash/functions/cybersecurity/check_firewall.sh check_firewall ``` ## Notas La detección sigue el orden: ufw > firewalld > iptables > none. Para ufw muestra `ufw status verbose`; para firewalld muestra zona por defecto, servicios y puertos permitidos; para iptables muestra las cadenas INPUT/OUTPUT/FORWARD. Leer reglas de iptables requiere privilegios de root. El cruce de puertos en escucha (via `ss -tlnp`) ayuda a identificar servicios sin regla de firewall correspondiente.