Одного разу я прочитав статтю де йшлося про те, що можна приховати факт використання 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. :)
чомусь не спрацювало, extras поставився, рядок вписав, але 404 все одно пише що сервер на NGINX
В даному випадку мова йде про заголовках, що віддаються сервером. Можна перевірити в консолі: curl -I http://site.ru . Природно, сторінки помилок слід створювати свої.
Так працює. Дякуємо