2010-10-01 15 views
5

Recientemente he estado contemplando la forma más segura de configurar un área de administración en un sitio web. Las dos opciones con las que estaba jugando son,¿Cuál es la forma más segura de configurar un área de administración en PHP?

  • Cree el área de administración como parte del sitio principal, solicite que se registren primero usando su dirección de correo electrónico como nombre de usuario y configúrelos con un nivel de administrador.
  • Crea un área de administración completamente separada del sitio web en el que los usuarios no tendrían que registrarse, sino que sería configurada por otro administrador.

Me doy cuenta de que si configuro el área de administración separada del sitio, esto requeriría que el usuario descubra que el panel de administración está allí antes de que pudieran siquiera intentar entrar en él. ¿Cuánta seguridad agrega eso?

Sin embargo, forzarlos a registrarse con una dirección de correo electrónico en el sitio principal vincula su cuenta a una dirección de correo electrónico que creo que ayuda un poco a la seguridad. Pero poner el área de administración en el sitio principal hace que sea más fácil hackear, porque todo lo que el usuario debería hacer es encontrar un error en el sistema ¿no?

Supongo que podría ver aspectos positivos y negativos para ambos.

Respuesta

0

Mi regla general es la siguiente (en su mayoría):

Después de entrar, hacer los administradores hacen cosas en el diseño del sitio, o son de alguna completamente diferente "de diseño" (como la mayoría de servicios de fondo de CMS). Si permanecen en el mismo diseño (Y el sitio tiene la posibilidad de registrarse para los usuarios), tiene sentido crear cuentas de administrador en el sitio principal.

Si no hay ninguna opción para que los usuarios se registren, tenga un back-end en algo así como /admin/ y llámelo por día.

Además, ser "pirateable" depende de millones de factores, la posición de inicio de sesión de los administradores en mi humilde opinión no es una de ... bueno ... importante.

1

También puede forzarlos a utilizar el sitio web de administración separado con una dirección de correo electrónico existente en el sitio principal. De hecho, haz ambas cosas; agregue una bandera en su cuenta principal que diga "ok, este es un administrador". De esta manera puede mostrar un iframe en el sitio principal que apunta al sitio de administración, y cualquier persona que se conecte en el sitio de administración debería tener esta configuración de indicador

Por último, no olvide iniciar sesión único; al conectarse a cualquiera de los sitios, cree ambas cookies para que no tengan que autenticarse en ambos lugares (a menos que tengan que hacerlo por diseño)

0

Definitivamente es mejor mantener una parte administrativa separada del sitio principal.

La primera razón es lo que dijiste: los usuarios deben descubrir dónde está primero.

Otra cosa que podría hacer es otorgar acceso a su carpeta de administrador, por ejemplo, utilizando .htaccess, solo a algunas direcciones IP.

3

Me doy cuenta de que si configuro el área de administración separada del sitio, esto requeriría que el usuario descubra que el panel de administración está allí antes de que pudieran intentar entrar en él. ¿Cuánta seguridad agrega eso?

Esto es lo que llamarías "seguridad a través de la oscuridad". En general, solo va a detener a los piratas informáticos menos persistentes.Para cualquiera que tenga la intención de piratear su sitio, esto solo proporcionará un retraso momentáneo en su éxito.

La oscuridad aún puede ser útil cuando se coloca encima de un sistema que de otro modo sería seguro. Úselo para evitar que el usuario final promedio vea cosas que no necesariamente quiere o no necesita ver.

0

Yendo para la opción "debe configurarse por otro administrador" aumentará las posibilidades de contraseñas seguras. Mejor aún, genere contraseñas seguras para los administradores usted mismo y no les permita elegir las suyas propias.

Como Greg W señaló, la oscuridad no vale mucho, pero es útil para usar además de una configuración ya segura. No creo que separar el área de administración de cualquier otra cosa la haga más o menos segura en sí misma: si tiene un código inseguro en el área de administración, corre el riesgo de cualquier forma.

Para el consejo de seguridad general, recomendaría el sitio de Chris Shiflett: administradores http://shiflett.org/articles

fuerza a entrar en su contraseña antes de la actualización de los datos - no se basan en sus credenciales de sesión existentes. PHP Session Security

+0

Sí, he leído su libro. ¡Me encantó! Saqué un montón de eso. – Metropolis

0

Uso de sandboxes ... creando áreas de administrador señuelo no visibles que apuntan a ningún lugar como/admin/manage/administrator entretendrán a su hacker durante mucho tiempo.

Además, intente mantener la carpeta de administrador real fuera de la carpeta pública (public_html, www).

Estas prácticas me funcionaron.

Cuestiones relacionadas