Как я могу скрыть, что я использую для запуска своего сайта?

72

Могу ли я что-нибудь сделать, чтобы кто-то не узнал, что мой сайт использует Drupal, посмотрев на исходный код главной страницы? Я имею в виду людей, которые сканируют сайты с помощью программного обеспечения, которое обнаруживает программное обеспечение, используемое для запуска сайта, чтобы иметь возможность атаковать его с помощью любого известного слабого места.

Если невозможно полностью скрыть тот факт, что сайт использует Drupal, возможно ли, по крайней мере, перепутать их (например, добавив псевдонимы страниц узла с такими URL-адресами http://example.com/servlets/<node-id>.jsp)?

киамлалуно
источник
76
Вы не хотите прятать Drupal. Drupal потрясающий
Дэмиен Турноуд
4
Как насчет удаления файла CHANGELOG.txt из корневого каталога для начала! Нет, но серьезно - звучит как пустая трата времени для меня. Будьте в курсе обновлений безопасности, и нет необходимости скрывать тот факт, что это Drupal. The Whitehouse скрывает тот факт, что они используют Drupal? Нет, они кричат ​​с крыш :)
Том Киркпатрик,
10
В этом случае безопасность через неизвестность не обеспечивает большей безопасности.
Брайан Каслер
3
Возможно, вы захотите прочитать Cacking Drupal: капля в море , которая является отличным трактатом по защите вашего сайта на Drupal.
Mawg
2
Если вы не думаете, что вариант использования безопасности складывается, вот альтернатива: коммерческая конфиденциальность. Бизнес может не захотеть, чтобы его конкуренты могли легко понять, из чего построен его сайт. Или агентство или консалтинг может пожелать держать своих конкурентов в неведении относительно текущего набора инструментов, которые он использует.
user56reinstatemonica8

Ответы:

53

Это старый и уже отвеченный вопрос, но я недавно приложил некоторые усилия, чтобы написать описание всех вещей, которые вам нужно изменить:

  • Удалить мета генератор для Drupal 7
  • Удалите контрольный текст, такой как CHANGELOG.txt
  • Проверьте заголовок Expires
  • Прогулочные каталоги для HTTP 200/404/403 кодов состояния
  • Ищите текстовые сообщения по умолчанию - настраивайте все сообщения, обращенные к пользователю
  • Посмотрите на HTML - HTML по умолчанию из ядра и модулей является сигнальным знаком

По сути: технически можно скрыть тот факт, что ваш сайт работает на Drupal, но вы потратите на него столько времени, что оно того не стоит. Вместо этого вам следует сосредоточиться на обеспечении его безопасности и безопасных операциях (например, возможность быстрого развертывания обновлений, мониторинг журналов и т. Д.).

greggles
источник
Вы забыли Drupalобъект JavaScript, который нужно переименовать.
Молот
@ Хорошая мысль. Это возможно? Любой указатель о том, как это сделать? Моя точка зрения заключается в том, что делать это не стоит времени, поэтому добавление дополнительных советов о том, как это сделать, полезно только в том случае, если оно способствует этому. Я надеюсь, что это действительно трудно сделать то, что вы упоминаете :)
greggles
Ну, я проверил это с помощью массового замены регулярных выражений в каталоге Drupal, и это сработало ... но я не верю, что это действительно хорошо. И это, конечно, с каждым обновлением модуля.
Молот
Верный. Это не стоит вашего времени. Сосредоточьтесь на более важных вещах :)
greggles
101

Вы не можете скрыть это полностью. Большая часть того, что нужно для этого, потребует взлома ядра. Самое важное, что это Drupalпеременная JavaScript, которую можно прочитать с главной страницы или любой другой страницы в этом отношении.

Если вы хотите повысить безопасность своих сайтов, скрывая, что это сайт Drupal, ваши усилия лучше потратить на обзоры кода, чем на то, чтобы скрыть тот факт, что сайт создан с помощью Drupal.

googletorp
источник
7
Согласовано. Еще одна недоработка - структура путей CSS / JS / image.
Fuzzy76
2
Вы также можете посетить /node/1и посмотреть, что подходит, или проверить заголовки HTTP .
Пол Джонс
39
Если вы попытаетесь скрыть свой сайт с помощью безопасности через неизвестность, вы просто будете тратить свое время.
Дейв Рейд
6
Согласен со всем вышесказанным. Кроме того, людям, которые сравнивают CMS, будет сложнее увидеть, сколько
замечательных
Относительно того, что говорит geerlingguy, была наша дискуссия здесь: groups.drupal.org/node/113024#comments
coderintherye
42

Это слишком легко сделать, Киам!

  • Используйте обратный прокси-сервер или настройте http-демон для фильтрации надоедливого http-заголовка Drupal
  • Запретить http доступ к любым папкам по умолчанию в Drupal
  • Используйте выходную буферизацию PHP, чтобы переписать и скрыть ваш HTML-источник, удалить ненужные данные
  • Используйте псевдоним URL или custom_url_rewrite_in / outbound, чтобы превратить ваши URL в беспорядок
  • Изменить ошибку 404 по умолчанию, удалить / изменить update.php
  • Внесите любые другие изменения, если кто-то узнает

И последнее, но не менее важное: убедитесь, что ваш сайт настолько прост, что не требует JS или CSS для нормального поведения (не используйте Views или Ctools ...), не поддерживает аутентификацию пользователей и т. Д., Что означает, что ваш сайт должен быть таким же простым, как статический HTML-сайт.

Хорошо, все это, чтобы заставить людей поверить, что ваш сайт не работает под Drupal. В любом случае, безопасность по неизвестности бесполезна.

jcisio
источник
@jcisio «В любом случае, безопасность от неизвестности бесполезна.», вы должны были добавить это в верхней части вашего комментария: P.
arpitr
@arpitr Все остальные делают это, так что я думаю, что мне не нужно;)
jcisio
34

Есть официальная статья и обсуждение относительно того же самого .

Ты не можешь Не пытаться

  • Автоматические атаки (безусловно, наиболее распространенные атаки) даже не проверяют сервер, прежде чем пытаться использовать его .
    Проверка журналов любого высококлассного сайта будет показывать тысячи бесплодных просьб о /AspBB/db/betaboard.mdb _private/cmd.asp /scripts/../../winnt/system32/cmd.exe /wp-login/ /administrator/components/com_wmtgallery/admin.wmtgal, /cgi-bin/ip.cgi... и любого количества попыток исторических подвигов на любой несвязанной системе.
    Атаки на эксплойты происходят, даже если эксплойты не существуют в вашей ОС или CMS. Что бы вы ни делали, чтобы неправильно идентифицировать ваш сайт, хакеры-любители все равно будут игнорировать.
  • Что бы вы ни думали, что можете скрыть, для любой системы есть и другие подсказки .
    Простое удаление некоторых из всех строк, содержащих «drupal», не замаскирует ваш сайт в разумных пределах. Существуют десятки способов, позволяющих угадать, что обслуживает ваши страницы, даже выделенные сервисы, позволяющие определить, работает ли на этом сайте Drupal. Только ключевые слова, которые вы признаете и считаете угрозой, представляют собой небольшую часть реальных показателей.
    Попросите index.php /? Q = пользователя. Затем попробуйте отключить этот ответ, не нанося вред вашему сайту.
  • Безопасность по неизвестности - это не безопасность. Это создает ложное впечатление того, что он «в безопасности», когда вы скрываете уязвимости только за дымовой завесой, которую сможет увидеть любой злоумышленник, представляющий реальную угрозу.
  • Хотя не совсем невозможно взломать код до такой степени, что большинство следов Drupal скрыты от исходного кода HTML (в конце концов, это открытый источник), необходимые для этого шаги обязательно сломают ядро ​​настолько сильно, что ваша взломанная ветвь кода было бы несовместимо с реальными обновлениями безопасности, которые вы не могли бы исправить, и было бы действительно открыто для любых реальных будущих угроз, выявленных группой безопасности. Это верный путь к уязвимости системы.
  • Большинство значимых или полезных модулей имеют свой собственный код «подписи», который трудно скрыть без существенных переписываний. Если вы используете «views», «cck», «ad», «imagecache», «jquery», css-агрегацию, добавленные темы или что-нибудь полезное на вашем сайте - кто-то может подсказать . Скрытие всего этого обычно требует полного преобразования функций темы - по крайней мере. Даже тогда, запутывание, вероятно, не сработает .
  • Чтобы удалить идентификацию многих расширенных функций, таких как даже простая установка Google Analytics, которая может использовать библиотеки Drupal для работы, вы должны либо вообще отказаться от этих функций, либо переписать их так, чтобы не использовать преимущества инфраструктуры Drupal. , Иногда это возможно, но во всех случаях это контрпродуктивно.

Вы можете быть заинтересованы в чтении Безопасность вашего сайта тоже.

Помни Никогда не взламывай ядро

niksmac
источник
Хотя я согласен с этим, я думаю, что даже в качестве первой линии защиты полезно удалить заголовки, относящиеся к PHP и Drupal, а также запретить доступ к любым неиндексным php-скриптам. Нет, конечно, люди всегда найдут способ узнать, что вы используете Drupal, и подумать, что вы можете скрыть это глупо. Но нет ничего плохого в том, чтобы сделать жизнь немного сложнее для наименее проницательного хакера.
Мэтт Флетчер
1

Нет смысла скрывать, что на вашем сайте работает Drupal. Это неправильный взгляд на разработку сайтов. На чем вы должны сосредоточиться - это на безопасности. Убедитесь, что вы реализуете все меры по ценным бумагам, и все будет хорошо. В мире нет ни одной причины скрывать, что вы используете определенную систему управления контентом или другое программное обеспечение. С такими аддонами FF, как Wappalyzer, вы можете мгновенно определить, использует ли сайт Drupal, поэтому вопрос довольно спорный.

picxelplay
источник
1

Вы можете также использовать модуль File Aliases для изменения структуры файла по умолчанию.

Модуль « Псевдонимы файлов » позволяет вам использовать настраиваемые псевдонимы токенов для загруженных файлов, что дает вам возможность поддерживать вашу файловую систему в обычном порядке, обеспечивая при этом чистые пути (т. Е. Больше нет / sites / default / files /).

Джон
источник
1
А также? Это исправляет одну крошечную часть процесса и, возможно, даже не самую важную часть.
greggles
1
Я не хотел повторять еще раз правильные ответы людей выше. Я просто добавляю еще один совет. И да, этот совет очень важен, потому что это было самым трудным сделать до сих пор, и обычно единственный способ понять сайт - это drupal, так как обычно веб-мастер делает обычные шаги, кроме этого. И да, очень легко понять, что это друпальный сайт только из-за этой структуры файлов / папок.
Джон
1

Я согласен с другими людьми, что вы не можете скрыть это полностью. Если вы посмотрите на источник HTML, вы заметите, что много раз файлы CSS и JavaScript не агрегировались. Агрегация CSS и JavaScript должна быть включена.

user140
источник
0

В прошлом я обменивал свои шрифты на типичные шрифты проекта Ruby, такие как Lucida Sans, также увеличивая размер ввода, как это делают все модные дети.

Еще один недостаток - рисунок «пульсирующий» для полей автозаполнения. Это также не работает, когда вы увеличиваете размер ввода. Вот что вы можете украсть: http://beta.seattlebedandbreakfast.com/misc/throbber.gif

doublejosh
источник