# Sobre seguridad

Cosas sobre seguridad, firewall, permisos y sistemas de defensa

# Autounblock para desbloquear IP bloqueadas

## «La web no funciona»: casi siempre es un bloqueo de tu conexión

Muchos tickets de soporte llegan con frases como estas:

- «La web se ha caído»
- «El servidor no funciona»
- «No puedo acceder al correo»

En la gran mayoría de los casos el servidor funciona y la web se ve con normalidad para todo el mundo, **menos para la conexión desde la que se produjo el problema**, que el sistema de seguridad ha bloqueado. El bloqueo puede ser temporal o permanente, según lo que lo provocó: contraseñas mal escritas una y otra vez en el correo o el FTP, un programa con credenciales antiguas guardadas, o peticiones a la web que el cortafuegos de aplicaciones (ModSecurity) ha considerado un ataque.

### Cómo reconocer que es un bloqueo

- La web te carga desde el móvil con datos (sin wifi), pero no desde tu oficina o tu casa.
- El navegador tarda mucho y al final da un error de **tiempo de espera agotado** (`ERR_CONNECTION_TIMED_OUT`, «Operation timed out», «La conexión ha caducado»).
- Te aparece un mensaje de error que **no es de tu web ni de nuestro servidor**, sino de un programa de tu ordenador o de tu red: un proxy, un antivirus o un filtro de contenidos. Esos programas, cuando no consiguen conectar, muestran su propia página de error (por ejemplo una que termina en «Generated … by localhost (squid)»). Que el aviso diga *localhost* significa que lo ha generado tu propio equipo o tu red, no el servidor.

Si te ocurre cualquiera de estas cosas, antes de abrir un ticket prueba el autodesbloqueo.

## Autodesbloqueo en unblock.castris.com

Hemos habilitado [unblock.castris.com](https://unblock.castris.com/) para que puedas comprobar y, en su caso, desbloquear tu conexión tú mismo, en un minuto y a cualquier hora, sin esperar a que te respondamos.

1. Entra en [https://unblock.castris.com](https://unblock.castris.com/) **desde la misma conexión que está bloqueada** (el mismo ordenador y la misma red). Esta web está en otro servidor, así que te cargará aunque tu web no lo haga.
2. Escribe el correo electrónico de tu cuenta de cliente, o tu usuario si eres un usuario autorizado de esa cuenta, y pulsa «Enviar código de acceso».
3. Introduce el código de un solo uso que te llega por correo. Si no lo ves en unos minutos, revisa la carpeta de spam.
4. Lanza la comprobación. El sistema revisa el cortafuegos, levanta el bloqueo si lo hay y deja tu conexión en lista blanca durante **24 horas**, tiempo de sobra para que, si el problema persiste, el técnico pueda revisarlo.
5. Recibirás por correo un informe con el **motivo** del bloqueo.

> Desbloquear sin corregir la causa solo sirve para volver a ser bloqueado. Lee el informe: si el motivo es una contraseña errónea guardada en un programa de correo, en un FTP o en el móvil, corrígela; si es un aviso del navegador o de un programa que estás ignorando, atiéndelo. Insistir una y otra vez es el camino más corto a un bloqueo continuo.

## Si el aviso está en inglés, tradúcelo

Muchas de estas páginas de error están en inglés y dicen exactamente lo que pasa. Copia el texto y pégalo en un traductor (por ejemplo [Google Traductor](https://translate.google.com/)) antes de nada: en este ejemplo, el propio mensaje explica que la conexión ha agotado el tiempo de espera y que el aviso lo ha generado un proxy local.

![Página de error de un proxy local traducida con Google Traductor](https://wiki.castris.com/uploads/images/gallery/2026-10/EJ8ORIg3k22CVJh7-error-proxy-traductor.jpg)

## Si abres un ticket, envíanos el texto, no solo una captura

Si después de desbloquearte el problema sigue, abre un ticket e incluye **el texto exacto del error** y la hora aproximada a la que te ocurrió. Una captura ayuda, pero el texto se puede buscar en los registros del servidor; una imagen no.

Para que el texto llegue limpio, pégalo como código en el editor del ticket:

1. Pega el mensaje de error en el cuerpo del ticket.
2. Selecciónalo y pulsa el botón de código (`</>`). El texto quedará entre dos líneas con tres comillas invertidas (` ``` `).

![Mensaje de error pegado como código en el editor del ticket](https://wiki.castris.com/uploads/images/gallery/2026-10/F9sao0k6UmbWABCc-redacted-ticket-pegar-codigo.jpg)

3. Pulsa «Previsualizar» para comprobar que se ve en un bloque, tal cual, antes de enviarlo.

![Vista previa del error pegado como código](https://wiki.castris.com/uploads/images/gallery/2026-10/9QcSKyquaiss8bzZ-redacted-ticket-visualizar.jpg)

## Descargo

Alguna vez hemos perdido clientes que no han entendido por qué existe esta seguridad, sobre todo la de ModSecurity, que es la que evita la gran mayoría de los hackeos de páginas web. Aun así, la seguridad de cada cliente y la de todos los que comparten servidor con él son nuestra principal preocupación.

ModSecurity necesita a veces un ajuste fino con algunos sitios web, en buena parte porque el software más usado es también el más atacado. Si crees que un bloqueo es un error del sistema de seguridad (un falso positivo), dínoslo en el ticket con el texto y la hora: lo revisamos y, si lo es, lo corregimos para todos.

# Brute Force Manager

# BFM (Brute Force Monitor) de DirectAdmin  
### Explicado para usuarios no técnicos

---

## ¿Qué es el BFM?

El **BFM** es el sistema de seguridad integrado en DirectAdmin que vigila, cuenta y bloquea intentos de acceso fallidos a:

- Panel de control (puerto 2222)  
- Cuentas de correo (IMAP/POP/SMTP)  
- FTP / SFTP  
- SSH  
- Aplicaciones web comunes (por ejemplo, WordPress)

Cuando detecta demasiados fallos desde una misma IP (o contra un mismo usuario) la bloquea automáticamente durante un tiempo, o la envía al cortafuegos para bloqueo permanente.

---

## ¿Cómo cuenta los intentos?

| Parámetro | Lo que controla | Valor típico |
|-----------|-----------------|--------------|
| `brutecount` | Máximo de intentos fallidos antes de bloquear la **IP** | 20 |
| `user_brutecount` | Máximo de intentos fallidos contra un **mismo usuario** | 20 |
| `brute_dos_count` | Peticiones repetidas a la página de login del panel (DoS) | 100 |

Los límites se ajustan en **Admin Level → Admin Settings → pestaña Security**.

---

## Picos frecuentes de intentos

- **Panel de control**: bots que prueban contraseñas de *admin*  
- **Correo**: diccionarios contra cuentas populares (`info@`, `admin@`…)  
- **WordPress**: ataques a `wp-login.php` (activar la opción *Scan for WordPress attacks* en BFM)

---

## Qué pasa al superar el límite

1. La IP se añade a `/usr/local/directadmin/data/admin/ip_blacklist`.  
2. (Opcional) Si está activado el enlace con CSF/LFD, la IP se bloquea a nivel de cortafuegos y no puede volver a conectarse.

---

## Buenas prácticas recomendadas

- **Mantener `brutecount` ≤ 20** para cortar diccionarios rápidos  
- **Contraseñas fuertes**: el BFM bloquea, pero una clave robusta evita ataques exitosos  
- **Revisar BFM a diario**: decide si alguna IP debe desbloquearse  
- **Activar “Scan WordPress attacks”** si se usan sitios WordPress

---

## Resumen

El BFM es un **vigilante automático**:  
cuenta intentos, detecta patrones de ataque y bloquea al agresor antes de que entre.  
Con límites bien ajustados y revisiones periódicas, mantenemos el servidor protegido sin afectar a los usuarios legítimos.

##### Aviso
Esta documentación y su contenido, no implica que funcione en tu caso o determinados casos. 
También implica que tienes conocimientos sobre lo que trata, y que en cualquier caso tienes copias de seguridad.
El contenido el contenido se entrega, tal y como está, sin que ello implique ningún obligación ni responsabilidad por parte de [Castris](https://castris.com)

Si necesitas soporte profesional puedes contratar con Castris [soporte profesional](https://intranet.castris.com/store/soporte-profesional).

# CSF Configserver Firewall

# CSF: ConfigServer Security & Firewall  
### Guía básica para usuarios no técnicos

---

## ¿Qué es CSF?

**CSF** (*ConfigServer Security & Firewall*) es un cortafuegos avanzado para servidores Linux.  
Funciona como una **capa de protección** que filtra conexiones, limita ataques y bloquea IPs maliciosas.

> **Componentes clave**  
> - **iptables / nftables**: motor de filtrado de red en Linux  
> - **LFD (Login Failure Daemon)**: demonio que vigila logs y detecta intentos de acceso fallidos  
> - **Integra** con paneles como DirectAdmin, cPanel, Plesk

---

## ¿Cómo protege el servidor?

1. **Filtrado de puertos**  
   - Solo permite los puertos necesarios (ej. 22, 80, 443, 2222).  
2. **Detección de fuerza bruta (LFD)**  
   - Cuenta intentos fallidos de SSH, FTP, correo, panel, etc.  
   - Si se supera el límite (p. ej. 10 fallos en 5 min), la IP se bloquea.  
3. **Alertas por e-mail**  
   - Envía notificaciones cuando bloquea o detecta actividad sospechosa.  
4. **Rate limiting**  
   - Limita conexiones simultáneas y velocidad (DoS ligero).  
5. **Listas blanca / negra**  
   - IPs de confianza (`csf.allow`)  
   - IPs bloqueadas permanentemente (`csf.deny`)

---

## Archivos y comandos principales

| Archivo / Comando | Descripción |
|-------------------|-------------|
| `/etc/csf/csf.conf` | Archivo de configuración principal |
| `/etc/csf/csf.allow` | Lista blanca de IPs (permitir) |
| `/etc/csf/csf.deny`  | Lista negra de IPs (bloquear) |
| `csf -r` | Reiniciar CSF (aplica cambios) |
| `csf -d IP` | Bloquear IP manualmente |
| `csf -a IP` | Añadir IP a lista blanca |
| `csf -g IP` | Buscar IP en todas las listas |

---

## Parámetros importantes (csf.conf)

| Opción | Qué hace | Valor recomendado |
|--------|----------|-------------------|
| `TCP_IN` | Puertos TCP permitidos de entrada | `22,80,443,2222` |
| `TCP_OUT` | Puertos TCP permitidos de salida | `80,443,53` |
| `LF_TRIGGER` | Nº de bloqueos antes de alerta | `5` |
| `LF_SSHD` | Intentos fallidos SSH antes de bloqueo | `5` |
| `CONNLIMIT` | Límite de conexiones simultáneas por IP | `80;20` (20 conexiones al puerto 80) |

> **Nota:** Ajustar estos valores según tus servicios y nivel de riesgo.

---

## Relación CSF ↔️ BFM (DirectAdmin)

- **BFM** detecta intentos fallidos en DirectAdmin y puede *pasar* la IP a CSF.  
- **CSF/LFD** bloquea a nivel de red, impidiendo cualquier conexión desde esa IP.

---

## Buenas prácticas

1. **Mantener CSF y el sistema actualizados**  
2. **Revisar las alertas**: identificar falsos positivos o ataques reales  
3. **No abrir puertos innecesarios**  
4. **Usar listas blanca** para IPs fijas (oficina, hogar)  
5. **Verificar logs** de LFD: `/var/log/lfd.log`

---

## Resumen

CSF + LFD actúan como **muralla de defensa**:  
- Bloquean puertos no usados  
- Detienen ataques de fuerza bruta  
- Alertan al admin en tiempo real  
- Se integran con DirectAdmin para protección adicional

Configurado correctamente, CSF mantiene el servidor seguro con un impacto mínimo en los usuarios legítimos.

##### Aviso
Esta documentación y su contenido, no implica que funcione en tu caso o determinados casos. 
También implica que tienes conocimientos sobre lo que trata, y que en cualquier caso tienes copias de seguridad.
El contenido el contenido se entrega, tal y como está, sin que ello implique ningún obligación ni responsabilidad por parte de [Castris](https://castris.com)

Si necesitas soporte profesional puedes contratar con Castris [soporte profesional](https://intranet.castris.com/store/soporte-profesional).

# Logs Servidor Correo

## Detección temprana de reenvíos no autorizados y spam

## 1. ¿Qué es un reenvío no autorizado?

Un **reenvío no autorizado** (open relay) ocurre cuando un atacante usa nuestro servidor SMTP para mandar correos (normalmente spam o phishing) sin autenticación válida.

| Riesgo | Consecuencia |
|--------|--------------|
| **Spam** enviado desde nuestra IP | Listas negras (RBL), correos legítimos bloqueados |
| **Phishing** o malware | Pérdida de confianza de usuarios y clientes |
| **Sobrecarga de recursos** | CPU, ancho de banda y almacenamiento saturados |
| **Problemas legales** | Posibles sanciones por incumplir normativas anti-spam |

---

## 3. Qué revelan los logs

1. **Volumen inusual de mensajes**: picos que indican un robot o script.  
2. **Fallos de autenticación repetidos**: intentos de forzar contraseñas.  
3. **IPs desconocidas enviando correo**: posible exploiter de credenciales.  
4. **Bloqueos externos (RBL)**: rebotes con errores 550/451 apuntando a spam.

---

## 4. Beneficios de un monitoreo constante

- **Reacción temprana**: se bloquea la actividad antes de que sea masiva.  
- **Reputación protegida**: menos riesgo de terminar en listas negras.  
- **Visibilidad**: se identifican usuarios o scripts mal configurados.  
- **Cumplimiento**: ayuda a demostrar buenas prácticas anti-spam.

---

## 5. Flujo de detección (conceptual)

1. **Rotación diaria** de logs.  
2. **Revisión automática** para buscar patrones sospechosos.  
3. **Alerta** al administrador si se supera un umbral.  
4. **Acción**: bloqueo temporal de IP/cuenta y análisis manual.  

> Resultado: el servidor permanece limpio y los correos legítimos llegan a destino.

---

## 6. Conclusión

Supervisar los registros de Exim no es un lujo, sino una **medida esencial de higiene y reputación**.  
Permite detectar uso indebido, evitar bloqueos globales y garantizar que el correo de la organización siga siendo confiable.

##### Aviso
Esta documentación y su contenido, no implica que funcione en tu caso o determinados casos. 
También implica que tienes conocimientos sobre lo que trata, y que en cualquier caso tienes copias de seguridad.
El contenido el contenido se entrega, tal y como está, sin que ello implique ningún obligación ni responsabilidad por parte de [Castris](https://castris.com)

Si necesitas soporte profesional puedes contratar con Castris [soporte profesional](https://intranet.castris.com/store/soporte-profesional).

# Logs Dovecot

## Beneficios para usuarios finales y atención al cliente

## 1. ¿Qué es Dovecot?

Dovecot es el servicio que gestiona **la lectura de correo** en el servidor (IMAP y POP3).  
Cuando abres tu buzón desde móvil, Outlook o webmail, hablas con Dovecot.

---

## 2. ¿Qué problemas detectan sus logs?

| Situación | Cómo se refleja en los logs | Por qué te importa |
|-----------|----------------------------|--------------------|
| **Contraseña incorrecta** (olvidada, cambiada) | Repetidos intentos fallidos de inicio de sesión | Evita bloqueos de la cuenta y restablece la clave a tiempo |
| **Cuentas hackeadas** | Inicios de sesión desde países/IPs inesperados | Permite forzar cambio de clave antes de que lean tu correo |
| **Buzón lleno** | Mensajes “quota exceeded” | Sabes que debes limpiar correos antiguos o ampliar espacio |
| **Errores de conexión** (cliente mal configurado) | Desconexiones frecuentes, time-outs | Soporte puede guiarte para reconfigurar el cliente |
| **Filtros mal puestos** | Correos se mueven a carpetas inesperadas | Diagnostica reglas que archivan o marcan mensajes |

---

## 3. Beneficios directos para el usuario

- **Correo disponible y sin sorpresas**: los problemas se detectan y corrigen rápido.  
- **Seguridad**: acceso sospechoso → alerta temprana → contraseña cambiada → tu privacidad intacta.  
- **Menos tickets repetitivos**: el soporte identifica la causa en segundos.  
- **Experiencia fluida**: menos “¿dónde está mi correo?” o “¿por qué me pide la clave otra vez?”.

---

## 4. Flujo de acción orientado al usuario

1. **Monitoreo automático**: el sistema marca patrones irregulares.  
2. **Notificación interna** al equipo de soporte.  
3. **Soporte proactivo**: antes de que notes el fallo, recibes ayuda o un aviso.  
4. **Cuestiones resueltas**: tu buzón vuelve a la normalidad.

> _“Nuestro objetivo es que jamás pierdas un mensaje ni veas tu cuenta comprometida.”_

---

## 5. Conclusión

Revisar los logs de Dovecot permite **garantizar que tu correo siempre llegue, sea seguro y esté disponible**.  
No necesitas saber de comandos ni configuraciones: basta con entender que, gracias a ese seguimiento, tu equipo de soporte actúa antes de que el problema te afecte.

##### Aviso
Esta documentación y su contenido, no implica que funcione en tu caso o determinados casos. 
También implica que tienes conocimientos sobre lo que trata, y que en cualquier caso tienes copias de seguridad.
El contenido el contenido se entrega, tal y como está, sin que ello implique ningún obligación ni responsabilidad por parte de [Castris](https://castris.com)

Si necesitas soporte profesional puedes contratar con Castris [soporte profesional](https://intranet.castris.com/store/soporte-profesional).

# Mod Security Logs

# ModSecurity  
## Por qué NO conviene “desactivar reglas globalmente” y cómo beneficia al servidor

---

## 1. ¿Qué es ModSecurity?

ModSecurity (o **ModSec**) es un **cortafuegos de aplicaciones web (WAF)** que inspecciona cada petición HTTP antes de que llegue a tu sitio.  
Detecta patrones de ataque (SQL-Injection, XSS, bots, etc.) y puede **bloquear** o **registrar** la petición.

---

## 2. Resultados reales en Castris

> Con una instalación robusta y una depuración progresiva de falsos positivos (por usuario, URL y software), el número de hackeos **ha descendido a niveles que no veíamos desde 2001**.

En otras palabras, **cada regla bien ajustada = un intento de intrusión menos**.

---

## 3. El error habitual: “Rule desactivada globalmente”

| Mito | Realidad |
|------|----------|
| *“Si una regla salta como falso positivo, quítala para todos.”* | Esa regla puede seguir bloqueando ataques en otras webs e incluso al usuio que se quejo de esa regla. Desactivarla globalmente abre un agujero innecesario. |

---

## 4. Cómo gestionar falsos positivos de forma responsable

1. **Identificar el caso concreto** (URL, usuario, software).  
2. **Revisar el log de ModSecurity**: ver la **ID de la regla** que se dispara.  
3. **Excluir la regla solo para ese contexto** (ubicación, dominio, etc.).  
4. **Documentar** la exclusión para futuras auditorías.  

Esto se traduce en:

> *Regla madura + exclusión localizada* → **Seguridad intacta y cero molestias** para el usuario legítimo.

---

## 5. Beneficios de esta metodología

- **Menos hackeos**: reglas útiles siguen activas para el resto del servidor.  
- **Soporte eficiente**: el equipo sabe dónde y por qué se excluyó.  
- **Historial limpio**: facilita nuevos ajustes sin “parches” confusos.  
- **Confianza del usuario**: menos falsos bloqueos y sitio más seguro.

---

## 6. Conclusión

Desactivar reglas globalmente es una “solución rápida” que **socava la seguridad**.  
Con un proceso de revisión puntual y controlado:

1. Se mantiene la **protección integral de ModSecurity**.  
2. El usuario final navega sin bloqueos injustificados.  
3. El equipo de soporte puede rastrear, justificar y revertir cualquier cambio.

**Respetar las reglas = proteger el servidor y la reputación del proyecto.**

##### Aviso
Esta documentación y su contenido, no implica que funcione en tu caso o determinados casos. 
También implica que tienes conocimientos sobre lo que trata, y que en cualquier caso tienes copias de seguridad.
El contenido el contenido se entrega, tal y como está, sin que ello implique ningún obligación ni responsabilidad por parte de [Castris](https://castris.com)

Si necesitas soporte profesional puedes contratar con Castris [soporte profesional](https://intranet.castris.com/store/soporte-profesional).