Конфигурация ssl docker-httpd, ограничение размера загрузки файла, рукопожатия ssl и безопасность - PullRequest
0 голосов
/ 14 ноября 2018

Я заранее извиняюсь за длину этого поста.

Из-за некоторых недавних проблем на нашем сервере в работе, которые я не смог решить с помощью Nginx (перенаправления работают правильно с http -> https из браузера, нонапример, не с curl -L, что означает, что в некоторых случаях ссылки icalendar больше нельзя использовать), я переключился на apache2 с образом докера: httpd.Я не думаю, что это имеет значение, но сайт / приложение основано на django, с python (все dockerized, поэтому один докер для front-web, один для приложения django, один для db).

Настройка Apache2 устранила проблемы с перенаправлением, и выход из Nginxmare был великолепен!Теперь с Apached возникла еще одна проблема: загрузка файлов и ограничение размера файлов.

Я довольно долго искал, и SSL Handshakes просто не удался, если файл больше определенного размера (я думаю, 128 КБ).

Добавление параметра «SSLRenegBufferSize 7000000» только в httpd.conf, к сожалению, не помогло (я пробовал несколько каталогов, почти все каталоги, куда я хотел бы, чтобы люди загружали файлы + корневой каталог приложения).

Я, в конце концов, решил проблему, НО ..... Мне интересно, достаточно ли безопасен сейчас веб-сайт (некоторые данные клиента хранятся на нашей стороне, включая фотографии некоторых документов, удостоверяющих личность).Я добавил некоторые параметры в httpd.conf, которые я нашел там :

After the issues due to Apache renegotiation made public on November 2009, it is advised to configure Apache this way:

    On the SSL virtualhost root

    SSLVerifyDepth 4
    SSLVerifyClient none (ou require)
    SSLCipherSuite !EDH:!ADH:!DSS:!RC4:HIGH:+3DES
    SSLProtocol all -SSLv2 -SSLv3 
    SSLHonorCipherOrder on  # apache 2.1+

    Then inside your virtualhost, or in the .htaccess of your DocumentRoot, do not ever use the 4 instructions up here.

    It makes Apache negotiate the right values from the root and not to renegotiate them after.

    Downside: you can not configure a site without certificate authentication on the root with one repertory requiring a certificate anymore. You will have to create a special site that requires the user certificate from the root.

И теперь я получаю "SSLVerifyClient none" в httpd.conf ... (это будетиначе я не решу проблему), что меня беспокоит, мы просто больше не запрашиваем клиентские сертификаты (хотя я не могу сказать, делал ли это Nginx, чтобы быть совершенно честным).Ранее он был установлен как «необязательный».

Итак, я ищу:

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

И если бы у некоторых других была такая же проблема, как у нас, я был бы рад, если бы этот пост помог им найти решение для решения этой проблемыпроблема.

...