Как предотвратить раскрытие nginx его личного адреса?

У меня есть nginx и несколько веб-серверов, как вы можете видеть ниже:

server {
    listen    80  default_server;
    server_name _;
    return      444;
    access_log            /var/log/nginx/adefault.log;

}
server {
    listen 443 default;
    server_name     _;
    ssl     on;
    ssl_certificate         /etc/nginx/cert-default-ssl.pem;
    ssl_certificate_key     /etc/nginx/private-default-ssl.pem;
    return 403;
}
server {
    listen a.b.c.d:80;
    listen a.b.c.d:443 ssl;
    server_name cloud.example.com;
    if ($host = ldap.example.com) {
                 return 404;
        }
    ssl_certificate           /etc/letsencrypt/live/cloud.example.com/fullchain.pem;
    ssl_certificate_key       /etc/letsencrypt/live/cloud.example.com/privkey.pem;


    add_header Content-Security-Policy "frame-ancestors 'self' cloud.example.com example.com";
    ssl_session_cache  builtin:1000  shared:SSL:10m;
    ssl_protocols  TLSv1.2;
    ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
    ssl_prefer_server_ciphers on;
    access_log            /var/log/nginx/cloud.log;
        client_max_body_size 300m;
    location / {
      proxy_set_header        Host $host;
      proxy_set_header        X-Real-IP $remote_addr;
      proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header        X-Forwarded-Proto $scheme;
      proxy_pass          https://cloud.example.com;
      proxy_read_timeout  90;
      proxy_cache_bypass $http_secret_header;


    }
   location ~ .well-known {
                 root /srv/web;
        }
  }
server {
    listen a.b.c.d:80;
    listen a.b.c.d:443 ssl;
    server_name gw.example.com;
    add_header Content-Security-Policy "frame-ancestors example.com cloud.example.com";
    ssl_certificate           /etc/letsencrypt/live/gw.example.com/fullchain.pem;
    ssl_certificate_key       /etc/letsencrypt/live/gw.example.com/privkey.pem;
    ssl_session_cache  builtin:1000  shared:SSL:10m;
    ssl_protocols  TLSv1.2;
    ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
    ssl_prefer_server_ciphers on;
    access_log            /var/log/nginx/gw.log;
    location / {
      proxy_set_header        Host $host;
      proxy_set_header        X-Real-IP $remote_addr;
      proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header        X-Forwarded-Proto $scheme;
      proxy_pass          https://gw.example.com;
      proxy_read_timeout  90;

    }
   location ~ .well-known {
                 root /srv/web;
        }
  }

Если я запускаю такое программное обеспечение, как nikto, оно сообщает мне, что

RFC -1918 IP-адрес, найденный в заголовке "местоположение". IP-адрес ...

Как я могу предотвратить, что nginx возвращает http-клиенту его частный IP-адрес?

1
задан 13 May 2020 в 07:42
2 ответа

Причина в том, что я установил неверный параметр Hostname в/ etc/zabbix/zabbix_agentd.conf. Значение должно быть именем хоста «host» в терминах Zabbix.

upd: Ошибка сохраняется. Но пункт, кажется, работает...

-121--477900-

Меня больше интересуют производительность, сложность обслуживания и время простоя больше, чем потерянные данные.

Максимальное повышение производительности указывает на необходимость использования какой-либо формы RAID-0 или RAID10 или LVM. Сложность обслуживания исключает возможность сегментирования диска по подкаталогам (как другой упоминает о жонглировании тома). Минимизация времени простоя означает, что необходимо иметь некоторую форму избыточности, так как потеря одного диска приводит к отключению всего массива, который затем придется восстанавливать. Я прочитал это как «время простоя.» Ухудшение режима на RAID-5, вероятно, также исключает RAID-5 по причинам производительности.

Так что я бы сказал, что ваши варианты RAID10, или RAID1 + LVM. LVM предлагает некоторую повышенную возможность управления размером тома, но многое из этого исчезнет, если вы все равно собираетесь зеркально отразить его с RAID-1. Согласно этой статье https://www.linuxtoday.com/blog/pick-your-pleasure-raid-0-mdadm-striping-or-lvm-striping.html RAID-0 предлагает лучшую производительность, чем LVM.

-121--477563-

Заголовок Местоположение используется во внешних перенаправлениях. Попробуйте установить следующее в соответствующем контейнере сервера :

server_name_in_redirect on

Чтобы получить Nginx для использования определенного server _ name в заголовке Location .

1
ответ дан 24 April 2021 в 00:40

На основе этого ответа: https://serverfault.com/a/389136/129090 Я сделал следующее обходное решение:

if ($server_protocol ~* "HTTP/1.0") {
return 444;
}

Примечание: Этим я предотвращаю раскрытие внутреннего ip адреса сервера nginx, однако http клиент не получает статус 444.

1
ответ дан 24 April 2021 в 00:40

Теги

Похожие вопросы