Я хотел бы удалить строку:
Server: Apache/2.2.8 (Ubuntu) PHP/5.2.4-2ubuntu5.6 with Suhosin-Patch mod_ssl/2.2.8 OpenSSL/0.9.8g
от ответов HTTP моего сервера, но я ничего не мог найти кроме изменить include/ap_release.h
и скомпилируйте Apache самостоятельно. Я задавался вопросом, существует ли способ, о котором я не знаю?
Маскирование идентификационных данных сервера
Одна техника, которая часто помогает замедлиться и смутить взломщиков, является изменением идентификационных данных веб-сервера. Веб-серверы обычно отправляют свои идентификационные данные с каждым ответом HTTP в заголовке Сервера. Apache особенно полезен здесь, не только отправляя его имя и полную версию по умолчанию, но и это также позволяет модулям сервера добавлять свои версии также.
Для изменения идентификационных данных веб-сервера Apache, необходимо было бы войти в исходный код, найти, где имя "Apache" трудно кодируется, измените его и перекомпилируйте сервер. Тот же эффект может быть достигнут с помощью
Директива SecServerSignature:
SecServerSignature "Microsoft-IIS/5.0"
Нужно отметить, что, хотя это работает вполне хорошо, квалифицированные взломщики (и инструменты) могут использовать другие методы, чтобы "брать отпечатки пальцев" у веб-сервера. Например, файлы по умолчанию, сообщение об ошибке, упорядочивание исходящих заголовков, способ, которым сервер отвечает на определенные запросы и подобный - могут все выдать истинные идентификационные данные. Я изучу дальнейшее улучшение поддержки маскирования идентификационных данных в будущих выпусках mod_security.
Если Вы изменяете подпись Apache, но Вы раздражаетесь странным сообщением в журнале ошибок (некоторые модули все еще видимы - это только влияет на журнал ошибок, от снаружи все еще работы как ожидалось):
[Fri Jun 11 04:02:28 2004] [notice] Microsoft-IIS/5.0 mod_ssl/2.8.12 OpenSSL/0.9.6b \ configured -- resuming normal operations
Затем необходимо перестроить модули, загружающие порядок позволить mod_security приходить последним, точно, как объяснено для chrooting.
Примечание:
Для этой директивы для работы необходимо уехать/установить ServerTokens Полному.
Когда директива SecServerSignature будет использоваться для изменения общедоступной подписи сервера, ModSecurity начнет писать реальную подпись в журнал ошибок, позволять Вам определять веб-сервер и используемые модули.
Если Вы устанавливаете ServerTokens
к"Prod
", можно уменьшить заголовок до"Server: Apache
". См. документацию для полного списка опций:
Примечание: Настройки являются тем же в обеих версиях однако, 2,4 документации добавляет это примечание:
Установка ServerTokens к меньше, чем минимальному не рекомендуется, потому что это делает более трудным отладить межэксплуатационные проблемы. Также обратите внимание что отключение Сервера: заголовок не делает ничего вообще для создания сервера более безопасным. Идея "безопасности через мрак" является мифом и приводит к ложному чувству безопасности.
Если Вы хотите удалить слово "Apache" полностью, необходимо будет изменить источник.