Bloquear con iptables las IP que están atacando una web

Si estás recibiendo un ataque desde unas cuantas IP que te están cargando el tráfico en un servidor web, en esta entrada te explico cómo solucionarlo. Este ejemplo está descrito para NGINX, pero llevarlo a cabo en Apache o en otros servidores es muy similar, solo cambia la ruta de los logs.

“403 Invalid signature” when I try to verify an email in Laravel

When I try to verify an email in Laravel I get the error:

403 Invalid signature

The problem is a misconfiguration in the nginx configuration file (the Server Blocks).

The bad configuration was

location / {
    try_files $uri $uri/ /index.php?q=$uri&$args;
}

The good configuration is

 location / {
    try_files $uri $uri/ /index.php?$query_string;
}

Instalar un servidor web LEMP (IV). Certificado SSL/TLS de Let’s Encrypt

Tras instalar el sistema operativo base (Debian 9 Stretch), los servidores (MySQL y nginx) y configurarlos y migrar la instalación de WordPress desde otro servidor, llega el momento de isntalar un certificado SSL/TLS de Let’s Encrypt para proteger la comunicación.

Instalar un servidor web LEMP (II). Instalación y configuración del MySQL, nginx y PHP

En la anterior entrada de esta serie expliqué cómo cómo instalar y configurar el sistema operativo base (Debian 9 Stretch) en un servidor físico.

En esta entrada voy a explicar cómo, partiendo de la instalación descrita en el artículo anterior, instalar los servicios y demás software necesario para poder ejecutar dos instalaciones de WordPress.

Instalar un servidor web LEMP con WordPress y Let’s Encrypt en Debian 9 Stretch. Instalación y configuración del sistema operativo

El 17 de junio de 2017 se publicó la versión estable de Debian 9, por lo que me decidí a reinstalar un servidor y a migrar unos WordPress, a la vez que añadía SSL con Let’s Encrypt. A lo largo de varios posts voy a explicar todo el proceso de instalación.

Esta es la primera entrada de un conjunto de entradas relacionadas, en las que explico cómo instalar un servidor web LEMP con WordPress y Let’s Encrypt en Debian 9 Stretch.

  1. Instalación y configuración del sistema operativo.
  2. Instalación y configuración del MySQL, nginx y PHP.
  3. Migración de WordPress desde el servidor antiguo al nuevo.
  4. Obtención y configuración de un certificado SSL/TLS de Let’s Encrypt.

La idea es realizar la siguiente instalación:

  • Debian 9.
  • nginx 1.10.3-1.
  • MySQL 5.7.
  • PHP 7.0.

Protección para la vulnerabilidad XML-RPC de WordPress en nginx

En una entrada anterior expliqué cómo proteger el blog de un ataque a la vulnerabilidad XML-RPC en WordPress en un servidor Apache.

En esta entrada indico los campos que hay que añadir en cada configuración de los hosts de nginx para evitar este ataque. Simplemente hay que añadir

server {
#…..
location = /xmlrpc.php {
            deny all;
            access_log off; #Evitamos saturar el archivo de log
        }
#…..
}

Recuerda volver a cargar la configuración del servidor, ejecutando

sudo service nginx restart