Маскування ідентичності сервера
Однією з методик, яка часто допомагає сповільнити та заплутати зловмисників, є зміна ідентичності веб-сервера. Веб-сервери, як правило, надсилають свою ідентифікацію з кожним 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 працювати останньою, точно так, як пояснено для хронування.
Примітка
Для того, щоб ця директива працювала, ви повинні залишити / встановити ServerTokens на повний.
Коли директива SecServerSignature використовується для зміни підпису загальнодоступного сервера, ModSecurity почне записувати реальний підпис до журналу помилок, щоб дозволити ідентифікувати веб-сервер та використовувані модулі.