Unblock CSF Ip de Aicha digital
Contenidos
Tras 25 años gestionando infraestructuras de hosting, he identificado un problema recurrente que consume recursos innecesarios del equipo de soporte: los bloqueos automáticos de firewall CSF.
En entornos de hosting compartido con cPanel o DirectAdmin:
He desarrollado Unblock, un sistema opensource que permite a los usuarios:
┌─────────────────────────────────────────────────────────┐
│ Panel de Hosting │
│ (cPanel / DirectAdmin) │
└────────────────────┬────────────────────────────────────┘
│
│ CSF bloquea IP
↓
┌─────────────────────────────────────────────────────────┐
│ CSF Firewall │
│ /var/log/lfd.log │
│ /etc/csf/csf.deny │
└────────────────────┬────────────────────────────────────┘
│
│ Usuario intenta acceder
↓
┌─────────────────────────────────────────────────────────┐
│ Unblock Web Interface │
│ • Consulta estado de su IP │
│ • Lee logs de CSF de forma comprensible │
│ • Botón "Desbloquear mi IP" │
└────────────────────┬────────────────────────────────────┘
│
│ API segura
↓
┌─────────────────────────────────────────────────────────┐
│ Backend (PHP/Python) │
│ • Valida identidad del usuario │
│ • Verifica que el bloqueo es reversible │
│ • Ejecuta: csf -dr [IP] │
│ • Registra la acción en logs │
└─────────────────────────────────────────────────────────┘
No solo desbloquea, sino que explica:
❌ Tu IP 203.0.113.45 está bloqueada
Motivo: 5 intentos fallidos de login FTP en 10 minutos
Servicio: ProFTPD (puerto 21)
Hora del bloqueo: 2025-10-21 14:32:18
Duración: Temporal (se levanta automáticamente en 1 hora)
💡 ¿Por qué pasó esto?
- Posible contraseña incorrecta guardada en cliente FTP
- Revisa FileZilla, WinSCP u otro cliente que uses
🔓 ¿Qué puedo hacer?
1. Corregir la contraseña en tu cliente FTP
2. Hacer clic en "Desbloquear ahora" (disponible en 30 segundos)
Antes:
Con Unblock:
Antes:
Con Unblock:
curl -X POST unblock.tuhosting.com/api/unblock -d "ip=X&domain=Y"
Antes:
Con Unblock:
/etc/csf/csf.deny
y /var/log/lfd.log
// Ejemplo de validación antes de desbloquear
function canUnblock($ip, $domain) {
// 1. ¿El dominio existe en este servidor?
if (!domainExistsInServer($domain)) return false;
// 2. ¿La IP pertenece al usuario del dominio?
if (!validateOwnership($ip, $domain)) return false;
// 3. ¿Es un bloqueo temporal o permanente?
$blockType = getBlockType($ip);
if ($blockType === 'PERMANENT') return false;
// 4. ¿Cuántos desbloqueos ha hecho hoy?
$unblockCount = getUnblockCount($ip, today());
if ($unblockCount >= MAX_DAILY_UNBLOCKS) return false;
// 5. ¿Es una IP de ataque conocida?
if (isInGlobalBlacklist($ip)) return false;
return true;
}
Este proyecto es opensource porque creo que:
# 1. Fork del repositorio
# 2. Crear rama de feature
git checkout -b feature/nueva-funcionalidad
# 3. Desarrollar con tests
# 4. Commit siguiendo Conventional Commits
git commit -m "feat: añade soporte para Plesk"
# 5. Push y Pull Request
A mis 60 años he visto suficientes soluciones propietarias que se abandonan. Este proyecto debe sobrevivirme. Si mañana no estoy, cualquiera puede:
Después de 3 meses:
Si 100 empresas de hosting adoptan Unblock:
Pull requests bienvenidos. El código está esperando.
Proyecto iniciado: Octubre 2025
Autor: @AichaDigital
Licencia: MIT
Estado: 1.0, en desarrollo activo
Una reflexión para responsables de sistemas, CTOs, directores de producto y administradores con responsabilidad sobre…
Estimada empresa: Les escribo para expresar mi profundo descontento con el servicio recibido tras contratar…
En el ecosistema de la lucha contra el spam, Spamhaus es una de las organizaciones…
¡Hola a todos! Vamos a sumergirnos en el fascinante mundo de Mod Security y aprender…
Ya son muchos años en el sector, muchos años pasando por varios paneles de control,…
La lista UCEPROTECT es una herramienta utilizada por muchos administradores de sistemas y proveedores de…