Конфигурация безопасности Nginx - PullRequest
0 голосов
/ 24 декабря 2018

Я в некотором роде новичок в конфигурации для Nginx в качестве прокси-сервера для внутренней веб-службы, которую необходимо перенаправлять с использованием соединений SSL.

В настоящее время настройка включает обслуживание внутреннего веб-приложения.которая в настоящее время работает в общедоступной облачной инфраструктуре.

Ниже приведена моя nginx конфигурация:

server {
  listen 80 default_server;
  listen [::]:80 default_server;
  server_name www.somedomain.com;
  # Refer:
  # https://www.nginx.com/blog/http-strict-transport-security-hsts-and-nginx/
  # Discourage deep links by using a permanent redirect to home page of HTTPS site
  return 301 https://$server_name;
}

server {
  # User Defined
  listen 443 ssl http2;
  # SSL Certificate Paths
  ssl_certificate /home/secured/ssl/certs/mycustomapp.cert;
  ssl_certificate_key /home/secured/ssl/private/mycustomapp.key;

  # Nginx Access and Error Logs
  access_log /var/log/nginx/mycustomapp.access.log;
  error_log  /var/log/nginx/mycustomapp.error.log;

  # Add index.php to the list if you are using PHP
  index index.html index.htm index.nginx-debian.html;

  # User Defined
  server_name www.somedomain.com;

  # HSTS header for always https option
  add_header Strict-Transport-Security "max-age=36000; includeSubDomains" always;
  add_header X-Frame-Options "DENY";

  location / {
    # User Defined
    include /etc/nginx/proxy_params;
    proxy_pass http://localhost:9090;
    proxy_read_timeout 90s;
    proxy_redirect http://localhost:9090 https://$server_name;
  }
}

Где я создал самозаверяющие сертификаты для сервера: mycustomapp.cert исоответствующий ключ: mycustomapp.key, и локальная служба / приложение работает на http://localhost:9090 и не работает на глобальном порту доступа 0.0.0.0:9090.

Вот фрагмент access.log, доступный по этому адресу /var/log/nginx/.

106.51.17.223 - - [23/Dec/2018:17:51:22 +0000] "GET / HTTP/1.1" 301 194 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36"
47.75.165.214 - - [23/Dec/2018:18:16:47 +0000] "PROPFIND / HTTP/1.1" 301 194 "-" "-"
47.75.165.214 - - [23/Dec/2018:18:16:47 +0000] "GET /webdav/ HTTP/1.1" 301 194 "-" "Mozilla/5.0"
47.75.165.214 - - [23/Dec/2018:18:16:47 +0000] "GET /help.php HTTP/1.1" 301 194 "-" "Mozilla/5.0 (Windows NT 5.2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 SE 2.X MetaSr 1.0"
47.75.165.214 - - [23/Dec/2018:18:16:48 +0000] "GET /java.php HTTP/1.1" 301 194 "-" "Mozilla/5.0 (Windows NT 5.2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 SE 2.X MetaSr 1.0"
47.75.165.214 - - [23/Dec/2018:18:16:58 +0000] "POST /wuwu11.php HTTP/1.1" 301 194 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)"
47.75.165.214 - - [23/Dec/2018:18:16:58 +0000] "POST /xw.php HTTP/1.1" 301 194 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)"
47.75.165.214 - - [23/Dec/2018:18:16:59 +0000] "POST /xw1.php HTTP/1.1" 301 194 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)"
47.75.165.214 - - [23/Dec/2018:18:16:59 +0000] "POST /9678.php HTTP/1.1" 301 194 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)"

Я также наблюдал некоторые некорректные запросы как в access.log, так и mycustomapp.access.log (нереплицировано здесь).

Достаточно ли конфигурации для задержки / предотвращения попыток проникновения или существует избыточная конфигурация, которая открывает канал, который в настоящее время я не могу понять? *

В настоящее время я являюсьвключение службы, когда кому-то требуется доступ, но в дальнейшем это не подходящий сценарий, когда все больше и больше людей начинают использовать приложение.

1 Ответ

0 голосов
/ 24 декабря 2018

Этой конфигурации достаточно, как обычно.Для большей безопасности смотрите этот список:

  1. https://github.com/nbs-system/naxsi
  2. Используйте this для оптимизации производительности SSL.
  3. Прочтите о server_tokens и отключите его.
  4. Читайте о error_page и используйте свои собственные страницы.
...