Как скрыть факт использования nginx на сервере

Однажды я прочитал статью где речь шла о том, что можно скрыть факт использования nginx на сервере. Для этого требуется отредактировать исходный код модуля ngx_http_header_filter_module и изменить строки

static char ngx_http_server_string[] = "Server: nginx" CRLF;
static char ngx_http_server_full_string[] = "Server: " NGINX_VER CRLF;

Но чтобы пересобрать nginx из исходников, нужно обладать некоторыми знаниями.

Однако, существует и более простой метод, не требующий вообще никаких особых действий, типа редактирования исходников и перекомпиляции.

Для этого нам понадобится установить пакет nginx-extras из репозитория Debian. Этот пакет содержит в себе модуль HttpHeadersMore.

# aptitude install nginx-extras

Если у вас уже был установлен nginx-full, aptitude предложит удалить этот пакет, поскольку он не может использоваться совместно с extras.

После установки пакета, открываем файл /etc/nginx/nginx.conf и в секции http прописываем строку:

more_set_headers "Server: Apache";

И там же не забываем указать это (на всякий случай, если не сделали ранее):

server_tokens off;

И перезапускаем nginx. Вместо Apache можно подставить что-то своё. Либо замаскировать под другой веб-сервер. Простор для фантазии, в общем. :)

Собственно, вопрос: а зачем нам это всё делать? Маскируя nginx под другой сервер, мы усложняем хакерам работу. Ведь им нужно понять, на чём работает сайт, чтобы выяснить, как можно использовать уязвимости веб-сервера. Называя сервер по-другому, мы даём злоумышленнику уникальную возможность бесконечно долго подбирать уязвимость, например, к IIS вместо nginx. :)

Как вы оцените статью?
Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 (Пока оценок нет)
Загрузка...

Расскажите друзьям

Обсудим?

Email будет храниться в секрете.