¿Cómo puedo ocultar lo que estoy usando para ejecutar mi sitio?

72

¿Hay algo que pueda hacer para evitar que alguien sepa que mi sitio está usando Drupal mirando el código fuente de la página principal? Me refiero a las personas que escanean sitios utilizando software que detecta el software utilizado para ejecutar el sitio web para poder atacarlo utilizando cualquier punto débil conocido.

Si no es posible ocultar completamente el hecho de que el sitio está usando Drupal, ¿es posible al menos confundirlos (por ejemplo, aliasando las páginas de nodo con URL como http://example.com/servlets/<node-id>.jsp)?

kiamlaluno
fuente
76
No quieres esconder a Drupal. Drupal es asombroso.
Damien Tournoud
44
¡Qué tal si eliminas el archivo CHANGELOG.txt del directorio raíz para empezar! No, pero en serio, me parece una completa pérdida de tiempo. Manténgase al día con las actualizaciones de seguridad y no hay necesidad de ocultar el hecho de que es Drupal. ¿The Whitehouse oculta el hecho de que están usando Drupal? No, lo gritan desde los tejados :)
Tom Kirkpatrick
10
En este caso, la seguridad a través de la oscuridad no ofrece más seguridad.
Bryan Casler
3
Es posible que desee leer Cacking Drupal: una gota en el cubo , que es un excelente tratado para asegurar su sitio Drupal.
Mawg
2
Si no cree que el caso de uso de seguridad se acumula, aquí hay una alternativa: confidencialidad comercial. Es posible que una empresa no quiera que sus competidores puedan descubrir fácilmente de qué está construido su sitio. O, una agencia o consultoría podría querer mantener a sus competidores en la oscuridad sobre la gama actual de herramientas que está utilizando.
user56reinstatemonica8

Respuestas:

53

Esta es una pregunta vieja y ya respondida, pero recientemente me esforcé en escribir una descripción de todas las cosas que necesitarías cambiar:

  • Eliminar el metagenerador para Drupal 7
  • Elimine el texto revelador como CHANGELOG.txt
  • Verifique el encabezado Caduca
  • Directorios móviles para códigos de estado HTTP 200/404/403
  • Busque mensajes de texto predeterminados: modifique todos los mensajes orientados al usuario
  • Mire el HTML: el html predeterminado del núcleo y los módulos es un signo revelador

Básicamente: técnicamente podría ser posible ocultar el hecho de que su sitio ejecuta Drupal, pero pasaría tanto tiempo en él que no vale la pena. En su lugar, debe centrarse en hacerlo seguro y en operaciones seguras (por ejemplo, la capacidad de implementar actualizaciones rápidamente, monitorear registros, etc.).

greggles
fuente
Olvidó el Drupalobjeto JavaScript que necesita ser renombrado.
Mołot
@Molot buen punto. ¿Es eso posible? ¿Algún indicador sobre cómo hacerlo? Mi punto es que no vale la pena hacerlo, por lo que agregar más consejos sobre cómo hacerlo solo es útil si promueve ese punto. Espero que sea realmente difícil hacer lo que mencionas :)
greggles
Bueno, lo probé con el reemplazo de expresiones regulares masivas en un directorio de Drupal y funcionó ... pero no creo que sea realmente bueno. Y f * @ # up con cada actualización de módulo, por supuesto.
Mołot
Correcto. No vale la pena tu tiempo. Centrarse en cosas más importantes :)
greggles
101

No puedes ocultarlo por completo. La mayor parte de lo que se necesita para hacerlo requeriría piratear el núcleo. La mayor diferencia es la Drupalvariable de JavaScript que se puede leer desde la página principal o desde cualquier página.

Si desea mejorar la seguridad de su sitio al ocultar que es un sitio de Drupal, su esfuerzo se gasta mejor en revisiones de código que en tratar de ocultar el hecho de que el sitio está hecho con Drupal.

googletorp
fuente
77
Convenido. Otro obsequio muerto es la estructura de las rutas CSS / JS / imagen.
Fuzzy76
2
También puede visitar /node/1y ver qué aparece o consultar los encabezados HTTP .
Paul Jones
39
Si intenta ocultar su sitio con seguridad a través de la oscuridad, simplemente perderá su tiempo.
Dave Reid
66
De acuerdo con todo lo anterior. Además, sería más difícil para las personas que hacen comparaciones de CMS ver cuántos sitios increíbles ejecutan Drupal ;-)
geerlingguy
Relevante para lo que dice geerlingguy fue la discusión que tuvimos aquí: groups.drupal.org/node/113024#comments
coderintherye
42

¡Es demasiado fácil de hacer, Kiam!

  • Use un proxy inverso o personalice su demonio http para filtrar el molesto encabezado http de Drupal
  • Denegar el acceso http a cualquier carpeta predeterminada de Drupal
  • Use el buffering de salida PHP para reescribir y ocultar su fuente HTML, eliminar datos innecesarios
  • Utilice el alias de URL o custom_url_rewrite_in / outbound para hacer que sus URL sean un desastre
  • Cambie el error 404 predeterminado, elimine / cambie update.php
  • Realice cualquier otro cambio si alguien se entera

Y por último, pero no menos importante, asegúrese de que su sitio sea tan simple que no requiera JS o CSS para comportamientos normales (no use Vistas o Ctools ...), no admita la autenticación del usuario, etc., lo que significa que su sitio debería ser tan simple como un sitio html estático.

Ok, todo eso para que la gente crea que su sitio no ejecuta Drupal. De todos modos, la seguridad por oscuridad es inútil.

jcisio
fuente
@jcisio "De todos modos, la seguridad por oscuridad es inútil", deberías haber agregado esto encima de tu comentario: P.
arpitr
@arpitr Todos los demás lo hacen, así que creo que no necesito;)
jcisio
34

Hay un artículo oficial y discusión sobre el mismo .

No puedes No lo intentes

  • Los ataques automatizados (con mucho, los ataques más comunes) ni siquiera inspeccionan el servidor antes de probar sus exploits .
    La inspección de los registros de cualquier sitio de alto perfil mostrará miles de peticiones infructuosas para /AspBB/db/betaboard.mdb _private/cmd.asp /scripts/../../winnt/system32/cmd.exe /wp-login/ /administrator/components/com_wmtgallery/admin.wmtgal, /cgi-bin/ip.cgi... y cualquier número de intentos de hazañas históricas en cualquier sistema relacionado.
    Los ataques a exploits ocurren incluso si los exploits no existen en su sistema operativo o CMS. Cualquier cosa que haga para identificar mal su sitio será ignorada de todos modos por los piratas informáticos aficionados.
  • Independientemente de lo que piense que puede ocultar, hay otras pistas para cualquier sistema.
    Simplemente eliminar algunas de las cadenas que contienen 'drupal' no oculta su sitio a ningún intruso razonable. Hay docenas de formas que se pueden utilizar para adivinar lo que está sirviendo a sus páginas, incluso servicios dedicados para saber si ese sitio ejecuta Drupal. Sólo las palabras clave que se reconocen y se piensa que son una amenaza son un subconjunto menor de los indicadores reales.
    Solicite index.php /? Q = user. Luego intente deshabilitar esa respuesta sin paralizar su sitio.
  • La seguridad por oscuridad no es seguridad. Da una falsa impresión de estar 'seguro' cuando solo está ocultando vulnerabilidades detrás de una cortina de humo que cualquier atacante que representara una amenaza real podría ver.
  • Aunque no es del todo imposible piratear el código hasta el punto en que la mayoría de los rastros de Drupal están ocultos de la fuente HTML, (después de todo, es de código abierto), los pasos necesarios para hacerlo necesariamente romperían el núcleo de manera tan grave que su rama pirateada del código sería incompatible con las actualizaciones de seguridad reales que no podría parchear y estaría realmente abierto a cualquier amenaza real futura identificada por el equipo de seguridad. Esta es una verdadera ruta a la vulnerabilidad del sistema.
  • La mayoría de los módulos significativos o útiles tienen su propia 'firma' de código que es difícil de ocultar sin reescrituras significativas. Si está utilizando 'vistas', 'cck', 'ad', 'imagecache', 'jquery', css-agregación, temas contribuidos o cualquier cosa útil en su sitio, alguien puede decirlo . Ocultarlo por completo generalmente requeriría una conversión total de las funciones del tema, al menos. Incluso entonces, la obsesión probablemente no funcionará .
  • Para eliminar la identificación de muchas de las funciones avanzadas, como incluso la fácil instalación de Google Analytics que puede usar las bibliotecas de Drupal para trabajar, necesariamente debe renunciar a esas funciones por completo o reescribirlas de una manera que no aproveche la infraestructura de Drupal . A veces esto es posible, pero en todos los casos es contraproducente.

Puede que también le interese leer Asegurar su sitio .

Recuerde nunca hackear núcleo

niksmac
fuente
Aunque estoy de acuerdo con esto, creo que incluso como primera línea de defensa, eliminar los encabezados que hacen referencia a PHP y Drupal es algo bueno, así como no permitir el acceso a ningún script PHP no indexado. No, por supuesto, las personas siempre encontrarán una manera de descubrir que estás ejecutando Drupal, y pensar que puedes ocultar eso es una tontería. Pero no hay daño en hacer la vida un poco más difícil para el hacker menos exigente.
Matt Fletcher
1

No tiene sentido ocultar que su sitio ejecuta Drupal. Es la forma incorrecta de mirar sitios web en desarrollo. En lo que debe centrarse es en la seguridad. Asegúrese de implementar todas las medidas de valores y todo estará bien. No hay una razón en el mundo para ocultar que está utilizando un determinado cms u otro software. Con complementos FF como Wappalyzer, puede saber en un instante si un sitio usa Drupal, por lo que la pregunta es bastante discutible.

Picxelplay
fuente
1

Algo adicional que puede hacer es usar también el módulo Alias ​​de archivo para cambiar la estructura de archivos predeterminada.

El módulo File Aliases le permite usar alias personalizables de token para sus archivos cargados, lo que le brinda la capacidad de mantener su sistema de archivos organizado de la manera habitual mientras proporciona rutas de aspecto limpias (es decir, no más / sites / default / files /).

John
fuente
1
¿Y? Eso arregla una pequeña parte del proceso y tal vez ni siquiera la parte más importante.
greggles
1
No quería repetir una vez más las respuestas correctas de las personas de arriba. Solo agrego un consejo más. Y sí, este consejo es muy importante, porque era lo más difícil de hacer hasta ahora, y generalmente la única forma de entender un sitio es drupal, ya que generalmente el webmaster realiza los pasos habituales, excepto esto. Y sí, es muy fácil entender que es un sitio drupal solo por esta estructura de archivos / organización de carpetas.
John
1

Estoy de acuerdo con otras personas en que no puedes ocultarlo por completo. Si observa la fuente HTML, notará que muchas veces los archivos CSS y JavaScript no se han agregado. La agregación CSS y JavaScript debe estar habilitada.

usuario140
fuente
0

En ese pasado, cambié mis fuentes por las fuentes típicas del proyecto Ruby como Lucida Sans, y también aumenté los tamaños de entrada como lo hacen todos los niños modernos.

Otro regalo es el gráfico "throbber" para los campos de autocompletar. Tampoco funciona cuando aumenta el tamaño de entrada. Aquí hay uno que puedes robar: http://beta.seattlebedandbreakfast.com/misc/throbber.gif

doublejosh
fuente