Cómo mantener seguro un sitio web en Wordpress desde el inicio

  • Autor Autor bugrin
  • Fecha de inicio Fecha de inicio
B

bugrin

Beta
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Gente cómo anda?
Les comento, el viernes me llego una notificación del servidor de un sitio que cree hace un tiempo, que fue dado da baja momentaneamente por actividad sospechosa. Me mandaron un log, que no entiendo nada de nada, no se que debería hacer para solucionar esto.

Mi duda acá va mas que nada a sitios nuevos que pueda realizar. Cómo mantenerlo limpio desde el principio? es posible? que pluguins puedo necesitar??

Adjunto lo que me mandaron por si alguno tiene idea.


Su sitio gsci.com.ar fue suspendido preventivamente debido a que estaba realizando envíos de SPAM con phishing.

Los envíos estaban siendo realizados desde un archivo que creemos fue subido de forma no autorizada a su sitio web aprovechando una vulnerabilidad de seguridad.

Hemos renombrado el directorio public_html por public_html_verificar para que no sea necesario suspender la cuenta completamente, pudiendo así utilizar el correo electrónico, y además tener la posibilidad de acceder a los archivos de su sitio web para resolver los problemas de seguridad.

----
IMPORTANTE: Tenga en cuenta que en WIROOS somos muy estrictos en lo relacionado con SPAM y seguridad. Su servicio podría ser cancelado de manera definitiva en caso de que no sea cuidadoso con la seguridad de su servicio ya que Ud. es responsable por el mal uso del mismo.

Por favor, no elimine simplemente los archivos que fueron subidos a su sitio, preocúpese por resolver el problema que permitió que esos archivos se suban, que es el problema de fondo.

No le reste importancia a este asunto. Considere las pérdidas económicas que sufriría su negocio si su servicio es suspendido o cancelado.
----
----
Colaboramos en la resolución de este problema compartiéndole el siguiente resultado de nuestro scan de virus y exploits:

'/home/gscicom1/public_html_verificar/bestside.php.suspected'
# Known exploit = [Fingerprint Match] [PHP Obfuscation Exploit [P1499]]

'/home/gscicom1/public_html_verificar/index.php'
# Known exploit = [Fingerprint Match] [PHP Exploit [P1551]]

'/home/gscicom1/public_html_verificar/seter.php.suspected'
# Known exploit = [Fingerprint Match] [PHP Shell Exploit]

'/home/gscicom1/public_html_verificar/.well-known/pki-validation/single-side.php.suspected'
# Known exploit = [Fingerprint Match] [PHP Obfuscation Exploit [P1082]]

'/home/gscicom1/public_html_verificar/cgi-bin/index.php'
# Known exploit = [Fingerprint Match] [PHP Include Exploit [P1588]]

'/home/gscicom1/public_html_verificar/n5jh/apache-nifi-docker-compose.php'
# Regular expression match = [\n(?!\s*(//|\#|\))./etc/passwd]

'/home/gscicom1/public_html_verificar/n5jh/roborio-ssh.php'
# Regular expression match = [\n(?!\s*(//|\#|\))./etc/passwd]

'/home/gscicom1/public_html_verificar/n5jh/zzz.php'
# Known exploit = [Fingerprint Match] [PHP Exploit [P1475]]

'/home/gscicom1/public_html_verificar/wp-admin/teter.php.suspected'
# Known exploit = [Fingerprint Match] [PHP Shell Exploit [P1381]]

'/home/gscicom1/public_html_verificar/wp-admin/js/widgets/eqnyffbv.php'
# Known exploit = [Fingerprint Match] [PHP Exploit [P1471]]

'/home/gscicom1/public_html_verificar/wp-content'
# World writeable directory

'/home/gscicom1/public_html_verificar/wp-content/plugins/LayerSlider/helpers/iqtkkbju.php'
# Known exploit = [Fingerprint Match] [PHP Exploit [P1532]]

'/home/gscicom1/public_html_verificar/wp-content/plugins/akismet/akismet.php'
# Script version check [OLD] [Akismet Anti-Spam v4.1 < v4.1.2]

'/home/gscicom1/public_html_verificar/wp-content/plugins/all-in-one-wp-security-and-firewall/wp-security.php'
# Script version check [OLD] [All In One WP Security v4.3.7.2 < v4.3.9.4]

'/home/gscicom1/public_html_verificar/wp-content/plugins/all-in-one-wp-security-and-firewall/admin/bbdnlyob.php'
# Known exploit = [Fingerprint Match] [PHP Exploit [P1471]]

'/home/gscicom1/public_html_verificar/wp-content/plugins/contact-form-7/wp-contact-form-7.php'
# Script version check [OLD] [Contact Form 7 v5.0.5 < v5.1.3]

'/home/gscicom1/public_html_verificar/wp-content/plugins/loco-translate/loco.php'
# Script version check [OLD] [Loco Translate v2.2.0 < v2.2.2]

'/home/gscicom1/public_html_verificar/wp-content/plugins/revslider/admin/views/navigation-editor.php'
# Known exploit = [Fingerprint Match] [PHP Injection Exploit [P0997]]

'/home/gscicom1/public_html_verificar/wp-content/plugins/ubh/attachment.php'
# Known exploit = [Fingerprint Match] [PHP Spammer Exploit [P0332]]

'/home/gscicom1/public_html_verificar/wp-content/plugins/ubh/con.php'
# Known exploit = [Fingerprint Match] [PHP Exploit]

'/home/gscicom1/public_html_verificar/wp-content/plugins/ubh/f0w.php.suspected'
# Known exploit = [Fingerprint Match] [PHP Shell Exploit [P0297]]

'/home/gscicom1/public_html_verificar/wp-content/plugins/ubh/php.php'
# Known exploit = [Fingerprint Match] [PHP Exploit]

'/home/gscicom1/public_html_verificar/wp-content/plugins/ubh/shellxo.php'
# Known exploit = [Fingerprint Match] [PHP Shell Exploit [P1583]]

'/home/gscicom1/public_html_verificar/wp-content/plugins/ubh/ubh.php'
# Known exploit = [Fingerprint Match] [Hacker Signature [P0912]]

'/home/gscicom1/public_html_verificar/wp-content/plugins/ubh/up.php.suspected'
# Known exploit = [Fingerprint Match] [PHP Upload Exploit]

'/home/gscicom1/public_html_verificar/wp-content/plugins/ubh/wp-admini.php'
# Known exploit = [Fingerprint Match] [Shell Exploit [P0310]]

'/home/gscicom1/public_html_verificar/wp-content/plugins/ubh/wp-logs.php'
# Known exploit = [Fingerprint Match] [PHP Shell Exploit [P1295]]

'/home/gscicom1/public_html_verificar/wp-content/plugins/ubh/wp-site.php'
# Known exploit = [Fingerprint Match] [PHP cPanel Exploit [P1519]]

'/home/gscicom1/public_html_verificar/wp-content/plugins/ubh/wp/index.php'
# Known exploit = [Fingerprint Match] [PHP Phishing Exploit [P1376]]

'/home/gscicom1/public_html_verificar/wp-content/themes'
# World writeable directory

'/home/gscicom1/public_html_verificar/wp-content/themes/bridge'
# World writeable directory

'/home/gscicom1/public_html_verificar/wp-content/themes/bridge/search.php'
# Known exploit = [Fingerprint Match] [PHP Injection Exploit [P0997]]

'/home/gscicom1/public_html_verificar/wp-content/themes/bridge/img/tiluxadc.php'
# Known exploit = [Fingerprint Match] [PHP Exploit [P1471]]

'/home/gscicom1/public_html_verificar/wp-content/themes/bridge/includes/fyebmamc.php'
# Known exploit = [Fingerprint Match] [PHP Exploit [P1471]]

'/home/gscicom1/public_html_verificar/wp-content/themes/bridge/includes/shortcodes/shortcode-elements/report-sheet/load.php'
# Known exploit = [Fingerprint Match] [PHP Injection Exploit [P0997]]

'/home/gscicom1/public_html_verificar/wp-content/themes/bridge/widgets/tusnrdfq.php'
# Known exploit = [Fingerprint Match] [PHP Exploit [P1471]]

'/home/gscicom1/public_html_verificar/wp-content/uploads/2019/05/custom-custom-css-4.7.php'
# Decode regex = [decode regex: 1]

'/home/gscicom1/public_html_verificar/wp-content/uploads/2019/05/ps.php'
# SUID permission set
# GUID permission set
# Known exploit = [Fingerprint Match] [PHP Joomla Exploit]

'/home/gscicom1/public_html_verificar/wp-content/uploads/2019/05/wp-clears.php.suspected'
# (decoded file [advanced decoder: 14 (depth: 1)]) Known exploit = [Fingerprint Match] [PHP Shell Exploit [P0297]]

'/home/gscicom1/public_html_verificar/wp-content/uploads/2019/05/wp-ms-sites.php.suspected'
# Known exploit = [Fingerprint Match] [PHP Shell Exploit [P1517]]

'/home/gscicom1/public_html_verificar/wp-content/uploads/2019/05/wrapper-end.php'
# Decode regex = [decode regex: 1]

'/home/gscicom1/public_html_verificar/wp-content/uploads/2019/06'
# World writeable directory

'/home/gscicom1/public_html_verificar/wp-content/uploads/2019/07'
# World writeable directory

'/home/gscicom1/public_html_verificar/wp-content/uploads/2019/07/ID3module.audio.dts.php'
# (decoded file [advanced decoder: 14 (depth: 1)]) Known exploit = [Fingerprint Match] [PHP Shell Exploit [P0297]]

'/home/gscicom1/public_html_verificar/wp-content/uploads/js_composer'
# World writeable directory

'/home/gscicom1/public_html_verificar/wp-content/uploads/revslider'
# World writeable directory

'/home/gscicom1/public_html_verificar/wp-content/uploads/revslider/objects'
# World writeable directory

'/home/gscicom1/public_html_verificar/wp-content/uploads/revslider/objects/thumbs'
# World writeable directory

'/home/gscicom1/public_html_verificar/wp-content/uploads/revslider/templates'
# World writeable directory

'/home/gscicom1/public_html_verificar/wp-includes/class-wp-customize-nav-menus.php'
# Known exploit = [Fingerprint Match] [PHP Injection Exploit [P0997]]

'/home/gscicom1/public_html_verificar/wp-includes/class-wp-http-curl.php'
# Known exploit = [Fingerprint Match] [PHP Injection Exploit [P0997]]

'/home/gscicom1/public_html_verificar/wp-includes/version.php'
# Script version check [OLD] [Wordpress v4.9.10 < v5.2.1]

'/home/gscicom1/public_html_verificar/wp-includes/Requests/Auth/wp-side.php.suspected'
# (decoded file [advanced decoder: 14 (depth: 1)]) Known exploit = [Fingerprint Match] [PHP Shell Exploit [P0297]]

'/home/gscicom1/public_html_verificar/wp-includes/Requests/Exception/new_side.php.suspected'
# Known exploit = [Fingerprint Match] [PHP Upload Exploit]

'/home/gscicom1/public_html_verificar/wp-includes/Requests/Exception/HTTP/miniv48.php.suspected'
# ClamAV detected virus = [Win.Trojan.Hide-1]

'/home/gscicom1/public_html_verificar/wp-includes/Requests/Exception/HTTP/simpleside.php5'
# Known exploit = [Fingerprint Match] [PHP Shell Exploit [P1528]]

'/home/gscicom1/public_html_verificar/wp-includes/Requests/Proxy/sq.php.suspected'
# Known exploit = [Fingerprint Match] [PHP Shell Exploit [P1517]]

'/home/gscicom1/public_html_verificar/wp-includes/Requests/Transport/404.php'
# Decode regex match = [decode regex: 1]
# (decoded file [depth: 1]) Known exploit = [Fingerprint Match] [PHP Shell Exploit [P0297]]

'/home/gscicom1/public_html_verificar/wp-includes/SimplePie/media-admin.php'
# Known exploit = [Fingerprint Match] [RFI Exploit [P1419]]

'/home/gscicom1/public_html_verificar/wp-includes/SimplePie/Cache/pop-side.php.suspected'
# Known exploit = [Fingerprint Match] [PHP Exploit]

'/home/gscicom1/public_html_verificar/wp-includes/css/ms.phtml'
# Known exploit = [Fingerprint Match] [PHP Shell Exploit]

'/home/gscicom1/public_html_verificar/wp-includes/images/crystal/idb.php'
# Known exploit = [Fingerprint Match] [PHP Upload Exploit [P1069]]

'/home/gscicom1/public_html_verificar/wp-includes/images/wlw/bestside.php.suspected'
# Known exploit = [Fingerprint Match] [PHP Obfuscation Exploit [P1499]]

'/home/gscicom1/public_html_verificar/wp-includes/js/mediaelement/yxjsaywv.php'
# Known exploit = [Fingerprint Match] [PHP Obfuscation Exploit [P0803]]

'/home/gscicom1/public_html_verificar/wp-includes/js/plupload/ykenqgpr.php'
# Known exploit = [Fingerprint Match] [PHP Exploit [P1471]]

'/home/gscicom1/public_html_verificar/wp-includes/random_compat/teter.php.suspected'
# Known exploit = [Fingerprint Match] [PHP Shell Exploit [P1381]]

'/home/gscicom1/public_html_verificar/wp-includes/rest-api/sq.php.suspected'
# Known exploit = [Fingerprint Match] [PHP Shell Exploit [P1517]]

'/home/gscicom1/public_html_verificar/wp-includes/rest-api/endpoints/.5c6138db.ico'
# Known exploit = [Fingerprint Match] [PHP Exploit [P1496]]

'/home/gscicom1/public_html_verificar/wp-includes/rest-api/endpoints/wp-menus.php.suspected'
# (decoded file [advanced decoder: 14 (depth: 1)]) Known exploit = [Fingerprint Match] [PHP Shell Exploit [P0297]]

'/home/gscicom1/public_html_verificar/wp-includes/rest-api/fields/.h..php.suspected'
# Known exploit = [Fingerprint Match] [PHP RFI Exploit [P1505]]

'/home/gscicom1/public_html_verificar/wp-includes/rest-api/fields/neter.php.suspected'
# Known exploit = [Fingerprint Match] [PHP Shell Exploit]

'/home/gscicom1/public_html_verificar/wp-includes/rest-api/fields/seter.php.suspected'
# Known exploit = [Fingerprint Match] [PHP Shell Exploit]

'/home/gscicom1/public_html_verificar/wp-includes/rest-api/fields/wp-blogsnew.php'
# Known exploit = [Fingerprint Match] [PHP Exploit]

'/home/gscicom1/public_html_verificar/wp-includes/rest-api/fields/wp-clears.php.suspected'
# (decoded file [advanced decoder: 14 (depth: 1)]) Known exploit = [Fingerprint Match] [PHP Shell Exploit [P0297]]


----


Por favor háganos saber cuando el problema de seguridad fue resuelto para reactivar su sitio web.

Atte.,
El equipo de WIROOS
 
Hola bugrin, veo en el log que tu instalación de WP contiene archivos que no son parte del core, mi recomendación es que escanees tu WP en el Sitecheck de Sucuri. Si tu WP está infectado con malware (que es lo más seguro por lo que veo) avisa por este hilo lo resolvemos, saludos.
 
Gracias!
Mira, te muestro lo que me tiro el scan:

https://puu.sh/DW0Zn.png (no puedo poner la imagen directo)

Igualmente, no entiendo naaaada de esto. Voy aprendiendo en el camino. Yo soy diseñador gráfico y me fui metiendo en worpress pero me estoy dando cuenta que me falta aprender toda la parte de seguridad.

Más allá de este scan, creo que el sitio murio, cuando ingreso esta todo roto, no sabría por donde empezar. Yo iba a hacerlo nuevamente de cero, total no era muy complejo, pero queria eso, saber que hacer antes para prevenir.

Muchas gracias!
 
bugrin el sitio tiene 3 problemas, y todos solucionables, te voy indicando el orden en que los debes resolver:

1- El sitio está infectado con malware injection de archivos PHP. Estos archivos deben ser retirados y evaluar que otros no tengan cadenas de caracteres ofuscadas.

2- el dominio entró en blacklisted por Google Safe Browsing, Spamhaus y McAfee. Luego de haber limpiado el sitio debes solicitar la revisión del mismo por estos entes. Google safe Browsing es elmás sencillo, haces la solicitud a través del Search Console de Google, con Spamhaus y McAfee, debes hacerlo en sus sitios web respectivos.

3- Debes actualizar el actualizar el certificado TLS (TLS es una versión mejorada de SSL. Funciona de un modo muy parecido a SSL).

Para recuperar tu sitio solo debes respaldar el directorio wp-content, lo comprimes y lo descargas o lo mantienes en elpublic_html. Una vez tengas este directorio respaldado, respalda el archivo wp-config.php (aquí van tus datos de conexión de base de datos que no debes compartir en público).

Luego de realizar estos respaldos, elimina tu WP por completo del public_html, haz una nueva instalación WP, a esta nueva instalación le vas a eliminar el directorio wp-content y después colocarás el original (el que respaldaste).

Y para finalizar, coloca los datos de nombre de base de datos, nombre de usuario y password de la base de datos de tu wp-config.php en el nuevo. Con esto deberías tener visible tu sitio web. Ah, se me olvidaba, anota todos los plugins que estás usando, porque deberás eliminarlos y reinstalarlos, porque veo que también algunos están infectados y estos están dentro de la carpeta wp-content que respaldarás.

Si necesitas ayuda solo avisa. Saludos.
 
Las respuestas que has recibido son geniales, a esto le agregaría que consultes con tu proveedor a ver si no tienen backup de días anteriores de tu sitio web quizas puedas encontrar una copia que no este infectada, recuperar el diseño de tu sitio y procedes a escanearlo y detectar que pudo generar la infección.

1.- Restauras a una copia no infectada
2.- Analizas todo el sitio web con las herramientas recomendadas
3.- Actualizas los plugin que estés utilizando, eliminas los que no.
4.- Anti-Malware and Brute-Force Security by ELI - Este plugin es muy bueno para detectar amenazas y malware.

Si tu proveedor no tiene copia de tu sitio de días anteriores, yo pensaría bien seguir allí, ojo esto no te exime de tener copia de tu sitio en tu computador.
 
Atrás
Arriba