Welcome! Log In Create A New Profile

Advanced

Re: Хотел бы сделать такие правила для SSL:

Igor A. Ippolitov
March 30, 2018 10:02AM
Сергей,

Если очень нужно, есть вариант использовать stream модуль для
определения протокола, который хочет/может клиент.
И в зависимости от клиента уже проксировать в разные бэкенды, где
терминировать SSL.

Вариантов как это сделать два:
1) можно запатчить ssl preread, чтобы он экспортил переменные с
протоколом. Теоретически, патч будет несложным (client hello уже
разбирается для получения SNI)
2) с помощью nsj попарсить поступающие данные, чтобы установить
переменную, по которой определить бэкенд (
http://nginx.org/ru/docs/stream/ngx_stream_js_module.html#js_preread )

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

On 28.03.2018 19:06, Дугин Сергей wrote:
> Здравствуйте, Maxim.
>
> У того же яндекса, видно что есть свой порядок
> https://www.ssllabs.com/ssltest/analyze.html?d=m.market.yandex.ru&s=87.250.250.22&latest
>
> для SSL3 у них
> TLS_ECDHE_RSA_WITH_RC4_128_SHA
> TLS_RSA_WITH_RC4_128_SHA
>
> для для других протоколов другие совсем шифры.
>
> Вот цитата сотрудников яндекса
> "Наконец, для несчастных с Internet Explorer 6 на XP мы сохраняем
> шифры RC4 — других вариантов на этой платформе просто нет. При этом мы
> осознаем вероятность того, что этот шифр уязвим, поэтому доступен он
> только в случае хендшейка по протоколу SSLv3. Если клиент подключается
> с более современным протоколом — TLS 1.0, TLS 1.1 или TLS 1.2 —
> ciphersuite на основе RC4 не предлагается."
>
> Очень хотелось бы сделать похожее, но как ?
>
>
> В nginx+ есть такая возможность?
>
>
> и 28 марта 2018 г., 15:58:03:
>
>> Hello!
>> On Wed, Mar 28, 2018 at 03:38:57AM +0300, Дугин Сергей wrote:
>>> Хотел бы сделать такие правила для SSL:
>>>
>>> ssl_session_cache shared:TLS:10m;
>>> ssl_session_timeout 10m;
>>> ssl_stapling on;
>>> ssl_stapling_verify on;
>>> resolver 127.0.0.1;
>>> ssl_prefer_server_ciphers on;
>>> ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
>>>
>>> if ($ssl_protocol ~* 'TLSv1.2')
>>> {
>>> ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES256-SHA384:RC4-MD5:AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA;
>>> }
>>> if ($ssl_protocol ~* 'TLSv1.1')
>>> {
>>> ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES256-SHA384:RC4-MD5:AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA;
>>> }
>>> if ($ssl_protocol ~* 'TLSv1')
>>> {
>>> ssl_ciphers ECDHE-RSA-AES256-SHA:RC4-MD5:AES128-SHA:DHE-RSA-AES256-SHA:AES256-SHA:DES-CBC3-SHA:RC4-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES128-SHA;
>>> }
>>> if ($ssl_protocol ~* 'SSLv3')
>>> {
>>> ssl_ciphers ECDHE-RSA-AES256-SHA:RC4-MD5:AES256-SHA:AES128-SHA:RC4-SHA;
>>> }
>>>
>>> Основная мысль на свой протокол выдавать свой список шифров, но
>>> ssl_ciphers нельзя использовать в if условии получаю такую ошибку:
>>>
>>> nginx: [emerg] "ssl_ciphers" directive is not allowed here in /etc/nginx/nginx.conf:77
>>>
>>> Подскажите как можно сделать свой порядок шифров на свой протокол?
>> Никак.
>
>
>

_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

Хотел бы сделать такие правила для SSL:

Дугин Сергей March 27, 2018 08:40PM

Re: Хотел бы сделать такие правила для SSL:

Maxim Dounin March 28, 2018 09:00AM

Re: Хотел бы сделать такие правила для SSL:

Дугин Сергей March 28, 2018 12:08PM

Re: Хотел бы сделать такие правила для SSL:

Maxim Dounin March 28, 2018 12:36PM

Re: Хотел бы сделать такие правила для SSL:

Igor A. Ippolitov March 30, 2018 10:02AM

Re: Хотел бы сделать такие правила для SSL:

Roman Arutyunyan March 30, 2018 11:24AM

Re: Хотел бы сделать такие правила для SSL:

Maxim Dounin March 30, 2018 12:00PM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 163
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready