56 líneas
1.3 KiB
Bash
56 líneas
1.3 KiB
Bash
#!/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" |