#!/bin/bash # Script de inicio para CSF en contenedor Docker set -e echo "Iniciando ConfigServer Security & Firewall (CSF)..." # Verificar que los archivos de configuración existen if [ ! -f /etc/csf/csf.conf ]; then echo "Error: Archivo de configuración CSF no encontrado" exit 1 fi # Crear directorios de log si no existen mkdir -p /var/log/lfd mkdir -p /var/lib/csf # Verificar y corregir permisos chmod 600 /etc/csf/csf.conf chmod 600 /etc/csf/csf.allow chmod 600 /etc/csf/csf.deny chmod 755 /usr/local/csf/bin/csf chmod 755 /usr/local/csf/bin/lfd # Inicializar iptables si es necesario if ! iptables -L > /dev/null 2>&1; then echo "Inicializando iptables..." iptables -F iptables -X iptables -Z iptables -t nat -F iptables -t nat -X iptables -t mangle -F iptables -t mangle -X fi # Verificar configuración CSF echo "Verificando configuración CSF..." if ! /usr/local/csf/bin/csf --check; then echo "Advertencia: Verificación de CSF falló, continuando de todos modos..." fi # Iniciar CSF echo "Iniciando CSF..." /usr/local/csf/bin/csf --start # Verificar estado if /usr/local/csf/bin/csf --status > /dev/null 2>&1; then echo "CSF iniciado correctamente" else echo "Error: CSF no pudo iniciarse correctamente" exit 1 fi echo "CSF está ejecutándose"