Saltar al contenido

Cómo asegurar de manera confiable el panel de administración del sitio.

Как надежно защитить админку сайта.

En primer lugar, echemos un vistazo a los métodos más básicos que pueden complicar la vida de un atacante que tiene vistas en su sitio. Empecemos por la autorización. Aconsejo a todos que utilicen una dirección de correo electrónico como inicio de sesión, al autorizar el sitio, y no la que se indica en el sitio como dirección de contacto, sino que solo usted la conoce (llamémosla condicionalmente «técnica»). Permítanme explicar por qué un intruso puede determinar fácilmente el nombre de usuario habitual a partir de la firma en publicaciones, publicaciones en foros o encontrarlo en otras secciones del sitio y la dirección de correo electrónico a menudo se oculta a la vista del público. El siguiente paso es cambiar la ruta estándar al panel de administración. ¿Cómo puedo hacer esto? La más simple y conveniente es cambiar el nombre del archivo o carpeta del panel de administración, pero no todos los CMS le permiten hacer esto. Por ejemplo, DataLife Engine (DLE) te permite cambiar el nombre del archivo de administración muy fácilmente, por defecto está ubicado en la raíz y se llama admin.phpy el camino para llegar parece www.miosito.com/admin.php, puedes cambiar su nombre a adminochka_654321.php y en el navegador se verá así www.miosito.com/adminochka_654321.php… Aquí hay otro ejemplo, pero con cambio de nombre de carpeta, para aquellos que conocen un CMS como PHP Melody. Para este CMS, la ruta predeterminada para el panel de administración es la siguiente:www.miosito.com/admin/ , puede cambiar el nombre de esta carpeta en el servidor por el suyo www.miosito.com/upravlenie/… Para CMS tan populares como Joomla y WordPress, existen complementos especiales que modifican la ruta del panel agregando una palabra especial (palabra clave) a la dirección. En el caso de Joomla, la ruta al panel de administración cambia así: www.mysite.com/administrator/?SlovoKluch, en lugar del estándar www.miosito.com/administrator/ (complemento jSecure, AdminExile, Backend Token, etc.). Para WordPress, la situación es la siguiente, si la ruta estándar al panel de administración se ve así: www.miosito.com/wp-admin/ es www.miosito.com/wp-login.php, luego, usando el complemento «Wp-login protegido», puede cambiar la dirección a la siguiente www.mysite.com/wp-login.php?sk=my_secure_keyDónde está my_secure_key cualquiera de tus palabras. El método con complementos, desafortunadamente, a veces puede fallar, pueden ocurrir fallas debido a un conflicto con otro complemento o después de actualizar la versión CMS, así que tenga cuidado. En cualquier caso, haga una copia de seguridad antes de tales experimentos. Obviamente no todos los CMS pueden cambiar el nombre de la ruta al panel de administración sin dolor, a veces es necesario realizar más cambios en el archivo de configuración, y también sucede que esto no es factible en términos de costos de mano de obra, por lo que es recomendable utilizar un software probado. y método universal: el método de configuración del servidor. Los servidores web más comunes son Apache e IIS, en este post me enfocaré en configurar Apache ya que es multiplataforma y el más común. Para la configuración, usaremos el archivo de servicio del servidor – .htaccess y un archivo de contraseña auxiliar .htpasswd Hay dos tareas que resolveremos de esta manera, la primera es una autorización adicional con una contraseña y nombre de usuario alternativos y la segunda es restringir el acceso a direcciones IP especificadas. Primero, necesitamos permiso adicional para crear el archivo. .htaccess… Esto se hace de manera bastante simple, abra el «Bloc de notas» estándar de Windows (puede usar cualquier otro editor de texto en general) y escriba el siguiente código: para DLE, esta entrada es adecuada, que se agrega al archivo raíz existente .htaccess

#защита отдельного файла паролем

AuthType Basic
AuthName «Secure Zone»
AuthUserFile /home/user/public_html/.htpasswd
Require valid-user

esta opción es adecuada para Joomla, archivo .htaccess colocado en una carpeta administrador


AuthType Basic
AuthName "Secure Zone"
AuthUserFile  /home/user/public_html/administrator/.htpasswd
Require valid-user

para proteger una carpeta, no un archivo específico, debe cargar un archivo en esta carpeta .htaccess, en el que registrar el código subyacente

AuthType Basic
AuthName "Secure Zone"
AuthUserFile  /home/user/public_html/folder/.htpasswd
Require valid-user

Me gustaría llamar su atención sobre la directiva AuthUserFileindicando la ruta raíz del archivo .htpasswd, ya que será diferente para todos. Para determinar correctamente la ruta raíz, debe crear un script php con el siguiente código:


Vamos a llamarlo root.php, cárguelo en la raíz del sitio y ejecútelo en la página del navegador (www.miosito.com/root.php ) verá su ruta raíz y deberá usarla después de crear el archivo .htaccess, debe estar integrado con un archivo que contenga el nombre de usuario y la contraseña – .htpasswd, contiene datos de usuario en el siguiente formulario nombre de usuario: contraseña_cifradaPuedes crearlo usando la utilidad htpasswd.exeque se incluye en la distribución de Windows de Apache. La utilidad se encuentra en el directorio C: / Apache2 / bin (suponiendo que esté instalado en la raíz de la unidad C.) Para crear un archivo .htpasswd usando la utilidad htpasswd.exe necesita ejecutar la siguiente línea de comando:

htpasswd -cm .htpasswd admin

* – admin, reemplácelo con su nombre de usuario. Para mayor comodidad, creé una carpeta en mi computadora, en la que coloqué 3 archivos:Cómo asegurar de manera confiable el panel de administración del sitio.Cómo asegurar de manera confiable el panel de administración del sitio.después de ejecutar el archivo pwd.bat, debe ingresar la contraseña deseada dos veces en la ventana que apareceCómo proteger de forma fiable el área de administración del sitio.obtenemos como resultado (la contraseña se ingresó 123456)Cómo asegurar de manera confiable el panel de administración del sitio.

También hay una utilidad de terceros que simplifica enormemente el proceso, se llama Encode UNIX Password 1.2Cómo asegurar de manera confiable el panel de administración del sitio.

Si necesita otorgar acceso a varios usuarios, puede presentar .htpasswd introdúzcalos en una nueva línea:

SuperAdmin:Su6444x9P7MKc
SuperUser:Sutp8PUxn.w9U

La segunda tarea que mencioné anteriormente es restringir el acceso a las direcciones IP dadas. Puede permitir el acceso al panel de administración solo desde direcciones IP domésticas y laborales o solo desde una de ellas. Para hacer esto, en el mismo archivo .htaccess necesita agregar directivas adicionales: crear una carpeta (directorio) con dos direcciones IP permitidas

Order Deny,Allow
Deny from all
Allow from 111.111.111.111 222.222.222.222

crear un archivo con una dirección IP permitida


  Order Deny,Allow
  Deny from all
  Allow from 111.111.111.111

Para conocer su IP externa, puede utilizar uno de los servicios: YOIP.RUSPEEDTEST.NET Yandex Internet Meter

En conclusión, quiero dar algunas sugerencias: 1) Cree contraseñas normales que contengan números, letras mayúsculas y minúsculas, caracteres especiales y al menos 8 caracteres. 2) La contraseña más difícil debe ser desde el panel de alojamiento. 3) Configuración de copia de seguridad periódica de su sitio y DB (cuanto más grueso, mejor) 4) chmod 444 para todos .htaccess es .htpasswd5) no almacene las copias de seguridad de la base de datos en el alojamiento en carpetas con nombres estándar, como copia de seguridad / copia de seguridad, o acceso cercano usando .htaccess