MariaDB [(none)]> CREATE DATABASE IF NOT EXISTS wpDBname DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
MariaDB [(none)]> CREATE USER ‘user_wp’@’localhost’ IDENTIFIED BY ‘Password’;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON DATABASE.* TO ‘user_wp’@’localhost’;
MariaDB [(none)]> FLUSH PRIVILEGES;
En caso de requerir restaurar un respaldo de una base de datos y que se haya hecho con mysqldump
# mysql -u root -p wpDBname < backup_filename.sql
Ir a la pagina del server para iniciar la instalación
http://www.site.com
Introducir los datos, que se configuraron en el paso anterior.
Base de Datos.
Usuario
Password
Servidor: localhost
Default prefix: wp_
Siguiente paso es seleccionar el idioma español México.
Se crea el usuario de administración de wordpress: adminuser
Se crea el password para el usuarios de administración: Password
Iniciar sesion en WordPress
Elija la opción correcta de México para “Zona horaria (Timezone)” en la sección Ajustes (Settings) > Generales
Elija la opción “Nombre de la entrada (Post name)” en la sección Ajustes (Settings) > Enlaces permanentes (Permalinks)
Deseleccione la opción “Permitir avisos de enlaces de otros blogs (pingbacks y trackbacks) en las nuevas entradas” en la sección Ajustes (Settings) > Comentarios (Duscussion)
Seleccione la opción “El comentario debe aprobarse manualmente.” en la sección Ajustes (Settings) > Comentarios (Duscussion)
Hacer seguro a wordpress
El siguiente paso se recomienda si se tiene una ip fija y solo se administrara desde esa(s) IPs. Estas lineas solo permitirán el acceso a las IPs puestas en el archivo.
Asegurarse que se está ubicado en el directorio raíz de los documentos
Salvar archivo y probar, no es necesario reiniciar el demonio de httpd o algún otro, conecta el browser a la vpn y trata de entrar a administrar.
Instalación Fail2ban
Nos tenemos que asegurar que el fail2ban se ejecute antes que todos los plugins,seguir la instalación aquí
Cambiar el wp-content (iThemes Security – anteriormente Better WP Security)
Instalar y activar plug in iThemes Security (Este plugin de seguridad puede sustituir a otros ya puestos, solo lo vamos a usar para cambiar el acceso directo a wp-admin y wp-content)
Nos vamos al plugin y nos pondra en la parte de security checks
Apretar botón de secure site para protección básica
Ver que fue lo que protegio al finalizar la ejecución
Si hay algo que no protegio o dio error hay que verificar si eso que fallo no esta siendo ya protegido por otros plugins (por ejemplo brutforce sera protegido por otro plugin).
En la parte de buscar modulos, buscar la palabra “content”, esto encuentra el modulo “Change Content Directory” (hay que estar seguro que tenemos respaldo de nuestro sitio y base de datos).
Modificar el directorio por ejemplo wp-site-content
Después de salvar los cambios, es posible que de un error de navegador, es esperado, se puede validar el cambio, dando un ls -alF en el directorio raiz de wordpress y validar si esta el directorio que fue puesto en la configuracion del punto anterior.
Cerrar sesión de wordpress y entrar de nuevo, validar que todo jale ok
En caso contrario restaurar todo desde respaldo
Cambiar el wp-admin iThemes Security
Seleccionar el plug in iThemes Security .
En la parte de buscar modulos, buscar la palabra “hide” ó “ocultar”, esto encuentra el modulo “Hide Backend”
Modificar el campo de slug, por ejemplo: site-login
Salvar los cambios, cerrar sesion y entrar con el nuevo slug al panel de admin
Instalar Google Authenticator app en el celular para Two Factor Authentication
Desde el celular instalar el Google Authenticator app desde la tienda de apps del telefono
Instalar y activar wordfence plugin
Seleccionar firewall
Seleccionar “Manage Firewall”
Si pregunta “Do you want Wordfence to stay up-to-date automatically?“, contestar que si.
Para optimizar Wordfence, dar click en “Click here to configure”, esto descargara el .htaccess y ponerlo en un sitio seguro, renombrarlo con el nombre de sitio para que no se confunda con otro .htacces.
Seleccionar “Advanced Firewall Options“
Seleccionar “Delay IP and Country blocking until after WordPress and plugins have loaded (only process firewall rules early)“
En la sección de “Whitelisted IP addresses that bypass all rules” iran las ips o segmento de ips que no bloqueara el plug in, poner la ip de internet y el segmento de red local (ejemplo 187.xxx.xxx.xxx, 192.168.xxx.0/24, 127.0.0.1)
Seleccionar sección BruteForce y validar que Enable brute force protection este ON
Lock out after how many login failures =4
Lock out after how many forgot password attempts=4
Amount of time a user is locked out= 1 hora
Habilitar Block IPs who send POST requests with blank User-Agent and Referer
Validar que ese habilitado Enable Rate Limiting and Advanced Blocking
Habilitar Veryfi Google Crawlers will not be rate-limited
If anyone’s requests exceed =240
If a crawler’s page views exceed =240
If a crawler’s pages not found (404s) exceed =60 min
If a human’s page views exceed =120
If a human’s pages not found (404s) exceed = 60
How long is an IP address blocked when it breaks a rule=30
Salvar cambios En firewall tab cambiar “lerning mode” a “enabling and protect Scan” para checar que todo bien
Seleccionar “Login Security Settings” del menu de la izquierda.
Habilitar “Require 2FA for all administrators”
Agregar as mismas ips y redes que en paso 7 en “Allowlisted IP addresses that bypass 2FA”
Seleccionar tab de 2 FACTOR AUTH y abrir la app en el telefono de goolgle auth.
Escanear el codigo de barras.
Descargar los codigos de seguridad y validar que el archivo haga referencia al sitio.
Introducir un codigo generado en el celular para activar el TWO FACTOR AUTH
Creando un user y password para acceder al wp-admin(http auth)
Pre requisitos tener instalado httpd-tools(yum install httpd-tools -y)
Crear un archivo con el usuario y password (si el archivo ya existe quitar el -c del comando)
# htpasswd -c /etc/httpd/.htpassword admin
Verificar que este archivo creado tenga permisos 644 y que pertenezca apache:apache