🎨 Sysprovider Code
Sysprovider LogoWiki
🇪🇸Hosting español para ecommerce

Cómo configurar un bloqueo de IPs en DirectAdmin (htaccess y firewall)

Actualizado el 22 de diciembre de 2025

¿Por qué necesitas bloquear una IP en tu servidor?

La seguridad de tu sitio web es una prioridad absoluta. Si has notado intentos de acceso sospechosos, ataques de fuerza bruta o simplemente quieres restringir el acceso a ciertas regiones o personas, aprender a bloquear IP en DirectAdmin es una habilidad esencial. Este panel de control es uno de los más utilizados en hosting compartido y VPS, y ofrece varias capas de protección. En esta guía extensa, te explicaré paso a paso cómo configurar un bloqueo de IPs tanto a nivel de aplicación (archivo .htaccess) como a nivel de servidor (firewall), para que puedas elegir el método que mejor se adapte a tus necesidades.


Niveles de bloqueo: ¿Aplicación o servidor?

Antes de empezar, es crucial entender la diferencia entre los dos métodos principales para denegar IP en DirectAdmin. No son excluyentes, de hecho, lo ideal es combinarlos.

Bloqueo a nivel de aplicación (.htaccess)

Este archivo se encuentra en la raíz de tu dominio (normalmente en public_html). Cuando bloqueas una IP aquí, el servidor web (Apache o LiteSpeed) rechaza la petición antes de que se ejecute cualquier script PHP. Es un método muy efectivo para ataques a nivel de aplicación, pero consume recursos ligeramente porque el servidor debe leer el archivo en cada petición.

Bloqueo a nivel de servidor (Firewall)

Aquí hablamos de herramientas como CSF (ConfigServer Security & Firewall) o iptables. Este método actúa en las capas más bajas del sistema operativo. La petición se descarta antes de llegar siquiera al servidor web. Es mucho más eficiente y protege todos los servicios (SSH, FTP, correo, etc.), no solo tu sitio web. Es la opción más robusta para una seguridad DirectAdmin seria.


Método 1: Bloquear IPs usando el archivo .htaccess

Este es el método más rápido y accesible para cualquier usuario, incluso sin experiencia técnica. Lo puedes hacer desde el Administrador de Archivos de DirectAdmin o por FTP.

Paso 1: Localizar o crear el archivo .htaccess

  1. Accede a tu panel de DirectAdmin.
  2. Ve a Administrador de Archivos (File Manager).
  3. Entra a la carpeta public_html (o la carpeta raíz de tu dominio).
  4. Busca un archivo llamado .htaccess. Si no lo ves, activa la opción de "Mostrar archivos ocultos" (suele ser un icono de ojo o similar). Si no existe, crea un archivo nuevo con ese nombre exacto.

Paso 2: Añadir el código de bloqueo

Dentro del archivo .htaccess, añade las siguientes líneas. Te recomiendo ponerlas al principio del archivo.

# Bloquear IPs específicas
<RequireAll>
    Require all granted
    Require not ip 123.456.789.10
    Require not ip 203.0.113.5
</RequireAll>

Explicación del código:

  • Require all granted: Permite el acceso a todos por defecto.
  • Require not ip: Niega el acceso a las IPs listadas. Añade una línea por cada IP que quieras bloquear.

Bloquear un rango de IPs

Si necesitas bloquear IP en DirectAdmin que pertenecen a un rango completo (por ejemplo, un atacante que cambia la última cifra), puedes usar comodines:

# Bloquear un rango de IPs (ejemplo: 203.0.113.0 a 203.0.113.255)
<RequireAll>
    Require all granted
    Require not ip 203.0.113
</RequireAll>

Otra sintaxis más clásica que también funciona es:

Order Allow,Deny
Deny from 123.456.789.10
Deny from 203.0.113.5
Allow from all

[TIP] Si usas la sintaxis Order Allow,Deny, el orden de las líneas es importante. Primero se procesan las reglas Deny y luego Allow. La regla Allow from all al final asegura que todo lo demás tenga acceso.

Paso 3: Guardar y probar

Guarda los cambios y visita tu sitio web. Si has bloqueado tu propia IP, verás un error 403 Forbidden. Si no lo ves, es que el bloqueo se ha aplicado correctamente a otras IPs.

[WARNING] Ten mucho cuidado al bloquear tu propia IP. Si lo haces, no podrás acceder a tu sitio ni al panel de control. Te recomiendo hacer estos cambios cuando estés seguro de tu dirección IP actual (puedes buscarla en Google escribiendo "cuál es mi IP").


Método 2: Configurar el Firewall (CSF) en DirectAdmin

Este es el método profesional para una seguridad DirectAdmin de alto nivel. CSF es el firewall más comúnmente instalado en servidores con este panel. Si tu hosting lo incluye, es la mejor opción para bloquear ataques DDoS, fuerza bruta en SSH o en wp-login.php.

Paso 1: Acceder a la interfaz de CSF

  1. Inicia sesión en DirectAdmin como administrador (admin).
  2. Busca la sección Plugins o Administración. Verás un icono llamado ConfigServer Security&Firewall o simplemente CSF.
  3. Haz clic en él para abrir su interfaz gráfica.

Paso 2: Bloquear una IP de forma temporal o permanente

Dentro de CSF, verás una opción llamada Quick IP Blocker o Block IP.

  • Bloqueo temporal: Introduce la IP en el campo correspondiente y selecciona un tiempo (por ejemplo, 1 hora, 1 día). Esto es útil para IPs que están haciendo pruebas o si estás investigando un posible ataque.
  • Bloqueo permanente: Añade la IP a la lista de "Bloqueados". Se guardará en el archivo /etc/csf/csf.deny.

Paso 3: Añadir IPs manualmente al archivo csf.deny

Si prefieres el control total, puedes editar el archivo de configuración directamente. Esto es ideal para denegar IP en DirectAdmin de forma masiva.

  1. En la interfaz de CSF, busca la opción Firewall Configuration o "Configuración".
  2. Ve a la pestaña Deny IPs o busca el archivo csf.deny.
  3. Añade una IP por línea. Puedes usar formatos como:
    • 123.456.789.10 para una IP individual.
    • 203.0.113.0/24 para un rango de IPs (subred).
    • 203.0.113.0/255.255.255.0 para una subred en notación de máscara.
  4. Guarda el archivo y haz clic en Restart csf o Restart firewall para aplicar los cambios.

[INFO] Al reiniciar el firewall, no se pierden las reglas. CSF las lee desde los archivos de configuración cada vez que se inicia. Es un proceso seguro y sin tiempo de inactividad para tu web.

Bloqueo automático de IPs con CSF

CSF no solo bloquea manualmente. También monitoriza los logs del sistema y puede bloquear automáticamente IPs que superen un número de conexiones o intentos fallidos. Esto es una característica clave para la seguridad DirectAdmin.

  1. En la configuración de CSF, busca parámetros como LF_SSHD (intentos fallidos de SSH) o LF_MODSEC (ataques al firewall de aplicaciones).
  2. Configura el número máximo de intentos antes de que se bloquee la IP. Por ejemplo, LF_SSHD = 5 bloqueará una IP después de 5 intentos fallidos de inicio de sesión por SSH.
  3. También puedes configurar el tiempo de bloqueo con LF_TRIGGER o usar la opción de "Temporary" para bloqueos cortos.

Método 3: Usar IP Blocker desde el panel de DirectAdmin

DirectAdmin tiene una herramienta nativa muy sencilla llamada IP Blocker. Es un punto intermedio entre el .htaccess y el firewall, ya que modifica las reglas de Apache y el firewall al mismo tiempo.

Cómo usarlo:

  1. Ve a tu panel de usuario (no necesitas ser admin).
  2. Busca la sección Gestión de Cuentas o Herramientas Avanzadas.
  3. Haz clic en IP Blocker.
  4. Introduce la IP que quieres bloquear en el campo IP to Block.
  5. Haz clic en Block.

Este método es extremadamente fácil y visual. DirectAdmin se encarga de todo el trabajo técnico por ti. Es perfecto para usuarios que no quieren tocar código.

[TIP] Si tu servidor usa Syspanel (anteriormente conocido como HestiaCP) en lugar de DirectAdmin, el proceso es similar, pero el puerto de acceso a su panel es el 2106. Busca la sección "Firewall" o "IP Blocker" dentro de su interfaz. La lógica es la misma.


Comparativa rápida de métodos

MétodoNivel de ProtecciónFacilidad de UsoRecursos del ServidorIdeal Para
.htaccessAplicación (Solo web)Muy FácilMedio (Apache lo lee)Bloqueos puntuales de una IP o rango
IP Blocker (Panel)Aplicación + FirewallFácilMedioUsuarios sin experiencia técnica
CSF (Firewall)Todo el servidorIntermedioBajo (Muy eficiente)Protección avanzada y ataques DDoS

Preguntas Frecuentes (FAQ)

¿Por qué no puedo bloquear mi propia IP?

Porque si bloqueas la IP desde la que te conectas, perderás el acceso inmediato a tu panel de control y a tu sitio web. Deberás contactar al soporte de tu hosting para que la desbloqueen manualmente. Siempre verifica tu IP antes de bloquear.

¿Puedo desbloquear una IP más tarde?

Sí, absolutamente. En .htaccess, solo tienes que eliminar la línea Require not ip correspondiente. En CSF, elimina la IP del archivo csf.deny y reinicia el firewall. En el IP Blocker del panel, busca la lista de bloqueados y elimina la entrada.

¿Qué es mejor, bloquear por .htaccess o por firewall?

Para una protección robusta, el firewall (CSF) es siempre superior. Bloquea la IP antes de que consuma recursos de tu servidor web. El .htaccess es útil para bloqueos rápidos y específicos de una aplicación, pero no protege otros servicios como el correo o FTP.

¿Cómo sé si un ataque viene de una IP o de un rango?

Puedes revisar los logs de acceso en DirectAdmin (sección Logs o Visor de Logs). Busca patrones de IPs. Si ves muchas IPs similares (ej. 192.168.1.10, 192.168.1.25, 192.168.1.80), es probable que sea un ataque desde el rango 192.168.1.0/24. Bloquear el rango completo es más efectivo.

¿El bloqueo de IP afecta al SEO?

Bloquear una IP no afecta negativamente a tu SEO si lo haces correctamente. Motores de búsqueda como Google usan sus propias IPs para rastrear. Si bloqueas accidentalmente un rango de Googlebots, tu sitio podría no indexarse. Para evitarlo, asegúrate de no bloquear rangos de Google (como 66.249.64.0/19) o usa la herramienta de verificación de Google Search Console para comprobar que los bots pueden acceder.

¿Puedo bloquear un país entero?

Sí, pero no es recomendable hacerlo solo con .htaccess porque la lista de IPs sería enorme. CSF tiene una función integrada para bloquear países enteros utilizando la base de datos GeoIP. Esto es mucho más eficiente y no sobrecarga el servidor.


Conclusión y mejores prácticas

Aprender a bloquear IP en DirectAdmin es un paso fundamental para mantener tu sitio seguro. Te recomiendo que combines los métodos:

  1. Usa el IP Blocker del panel para bloqueos rápidos y sencillos.
  2. Usa CSF para bloqueos permanentes y para proteger servicios críticos como SSH.
  3. Usa .htaccess si solo necesitas restringir una parte específica de tu web (como un directorio de administración) y no quieres tocar el firewall.

Recuerda siempre monitorear los logs de tu servidor para entender qué está pasando. Y si en algún momento te sientes abrumado, no dudes en contactar con el soporte técnico de tu proveedor de hosting. Ellos pueden configurar el firewall por ti o ayudarte a identificar la fuente del ataque.

[WARNING] Nunca bloquees una IP sin estar 100% seguro de que es maliciosa. Podrías estar bloqueando a un cliente legítimo o a un servicio que necesitas. Siempre es mejor bloquear temporalmente primero y observar el comportamiento.

Con estas herramientas y conocimientos, tu seguridad DirectAdmin estará a otro nivel. ¡Manos a la obra!

¿Necesitas ayuda?Son dos de nuestros técnicos, Agustín y Mikel, y están disponibles para resolver cualquier problema.

Hablar con ellos ahora
Agustín y Mikel