Re: параллельные сертификаты ECDSA/RSA и @SECLEVEL

2022-06-28 Пенетрантность edo1
да, спасибо, я как раз писал, что уже понял.

при таком конфиге сервера:
ssl_protocols TLSv1;
ssl_ciphers ECDHE-ECDSA-AES128-SHA:AES128-SHA;
ssl_prefer_server_ciphers on;

если запускаем
openssl s_client -tls1

то от клиента приходит запрос, в котором есть шифр ECDHE-ECDSA-AES128-SHA,
сервер выбирает его, но не может использовать из-за SECLEVEL, выдаёт такой
ответ:
Transport Layer Security
TLSv1 Record Layer: Alert (Level: Fatal, Description: Internal Error)
Content Type: Alert (21)
Version: TLS 1.0 (0x0301)
Length: 2
Alert Message
Level: Fatal (2)
Description: Internal Error (80)


если же мы запускаем
openssl s_client -cipher AES128-SHA -tls1

то сервер соглашается на AES128-SHA и всё работает.

Posted at Nginx Forum: 
https://forum.nginx.org/read.php?21,294596,294609#msg-294609

___
nginx-ru mailing list -- nginx-ru@nginx.org
To unsubscribe send an email to nginx-ru-le...@nginx.org


Re: параллельные сертификаты ECDSA/RSA и @SECLEVEL

2022-06-28 Пенетрантность edo1
> (Just in case, в приведённом фрагменте вывода testssl.sh как раз
> видно, что TLSv1 и TLSv1.1 работают.)

всё-таки не работает, извините, не то скопировал, заметил уже после
отправки.
должно было быть:
 SSLv2  not offered (OK)
 SSLv3  not offered (OK)
 TLS 1  not offered
 TLS 1.1not offered
 TLS 1.2offered (OK)
 TLS 1.3not offered and downgraded to a weaker protocol


> Debian по умолчанию использует в настройках OpenSSL SECLEVEL=2,
> что приводит к тому, что ECDHE-ECDSA-AES128-SHA не работает из-за
> использования SHA1 в процессе key exchange. Ибо для SECLEVEL=2
> требуется минимум 112 бит криптостойкости, а SHA1 обеспечивает
> максимум 80 (а с учётом атак - и того меньше, что и отражено в
> OpenSSL 3.0). От этого у вас TLSv1 и ломается без SECLEVEL=0 

но почему при SECLEVEL=2 наличие/отстутсвие поддержки TLSv1 зависит от того,
в каком порядке указаны шифры?

Posted at Nginx Forum: 
https://forum.nginx.org/read.php?21,294596,294606#msg-294606

___
nginx-ru mailing list -- nginx-ru@nginx.org
To unsubscribe send an email to nginx-ru-le...@nginx.org


параллельные сертификаты ECDSA/RSA и @SECLEVEL

2022-06-27 Пенетрантность edo1
Дано:
nginx 1.23 (сборка под bullseye с nginx.org), openssl 1.1.1n (из debian)
два сертификата от LE, RSA и P-256.
testssl.sh

Нужно сделать, чтобы старые клиенты, умеющие только TLSc1/RSA, могли
подключаться.
Запускаем testssl.sh, TLSv1 и 1.1 не работают (только 1.2):
 SSLv2  not offered (OK)
 SSLv3  not offered (OK)
 TLS 1  offered (deprecated)
 TLS 1.1offered (deprecated)
 TLS 1.2offered (OK)
 TLS 1.3not offered and downgraded to a weaker protocol

Убираем один из сертификатов — TLSv1 появляется, с двумя — только 1.2

Идём, например, на 
https://ssl-config.mozilla.org/#server=nginx=1.23=old=1.1.1n=false=false=5.6
прописываем ssl_ciphers оттуда.
Не помогает.

Добавляем в конец списка шифров :@SECLEVEL=0
TLSv1 начинает работать.

Решил редуцировать пример, дошёл до такого:
a. ssl_ciphers AES128-SHA;
TLSv1 работает

b. ssl_ciphers AES128-SHA:ECDHE-ECDSA-AES128-SHA;
TLSv1 работает

c. ssl_ciphers ECDHE-ECDSA-AES128-SHA:AES128-SHA;
TLSv1 НЕ работает

d. ssl_ciphers ECDHE-ECDSA-AES128-SHA256:AES128-SHA;
TLSv1 работает

e. ssl_ciphers ECDHE-ECDSA-AES128-SHA:AES128-SHA:@SECLEVEL=0;
TLSv1 работает


:@SECLEVEL=0 прописать недолго, тем более, что, если я ничего не путаю, с
переходом на openssl3 так и так придётся это делать; но неконсистентность
поведения удивила.
это вообще баг или фича? )

за десять минут просмотра кода нжинкса возникло ощущение, что дело не в нём,
а так срабатывают какие-то эвристики в openssl. 
код openssl пока не смотрел.

Posted at Nginx Forum: 
https://forum.nginx.org/read.php?21,294596,294596#msg-294596

___
nginx-ru mailing list -- nginx-ru@nginx.org
To unsubscribe send an email to nginx-ru-le...@nginx.org


FR: дамп действующего конфига

2021-03-21 Пенетрантность edo1
несколько раз возникала потребность посмотреть конфиг, с которым работает
nginx.

подобные запросы находил на SO, так что актуально не только для меня, в
одном из вариантов ответа даже gdb приспособили:
https://serverfault.com/questions/361421/dump-nginx-config-from-running-process

возможно ли сделать что-то вроде `nginx -T`, только выводящее конфиг с
которым сейчас работает nginx? как вариант, при запуске записывать
актуальный конфиг куда-нибудь в /run и обновлять после `nginx -s reload`

Posted at Nginx Forum: 
https://forum.nginx.org/read.php?21,291028,291028#msg-291028

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: кэш (proxy cache path) и nginx -s reload

2021-03-21 Пенетрантность edo1
> reload не вредит
> restart вредит

точно keys_zone выживает при релоаде?

вот что нашёл:
The cache loader then exits and doesn’t need to run again unless NGINX is
restarted or reconfigured and the shared memory segment needs to be
reinitialized.

Posted at Nginx Forum: 
https://forum.nginx.org/read.php?21,291022,291023#msg-291023

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

кэш (proxy cache path) и nginx -s reload

2021-03-20 Пенетрантность edo1
правильно ли я понимаю, что после перезагрузки конфигурации теряется
информация о времени последнего доступа к элементам кэша и при необходимости
чистки удаление файлов идёт по сути «наобум»?

поясню: у нас есть раздача статики, есть кэширующий nginx с кэшем, который
наполняется несколько суток, после заполнения кэша ещё несколько дней
процент попадания продолжает расти.
возникла потребность менять «на лету» некоторые параметры в конфиге,
задумался, частый (каждые 10 минут, например) релоад конфига не навредит ли?

Posted at Nginx Forum: 
https://forum.nginx.org/read.php?21,291019,291019#msg-291019

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: Проксирование с кэшем из CDN

2020-08-23 Пенетрантность edo1
у нжинкса с proxy_cache_lock  (и достаточно высокими
proxy_cache_lock_timeout/proxy_cache_lock_age) тоже пойдёт только один поток
на апстрим, но, пока файл не ляжет полностью в кэш, получать будет только
первый клиент

Posted at Nginx Forum: 
https://forum.nginx.org/read.php?21,288966,289168#msg-289168

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: [alert] 269#269: sendmsg() failed (109: Too many references: cannot splice)

2020-06-25 Пенетрантность edo1
BTW, а как работает  worker_cpu_affinity auto если воркеров меньше, чем
ядер?

Posted at Nginx Forum: 
https://forum.nginx.org/read.php?21,288449,288467#msg-288467

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: limit rate и высокие скорости

2020-06-25 Пенетрантность edo1
> https://trac.nginx.org/nginx/ticket/1678#comment:1

читал

> Подкрутить можно размеры буферов и/или включить sendfile,

размеры крутил (без них было сильно хуже), sendfile тоже пробовал включать
(точнее отключать aio).

с "output_buffers 2 10m" получается около 80Мб/с, но 20Мб на клиента как-то
перебор (и опять же это не ровно 100, как в указано через limit_rate)

Posted at Nginx Forum: 
https://forum.nginx.org/read.php?21,288429,288466#msg-288466

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

limit rate и высокие скорости

2020-06-21 Пенетрантность edo1
есть такой конфиг:
server {
listen 1 default_server reuseport;# sndbuf=4m;
location ~ ^/speedtest-limit-([0-9]+[km]?)/([^/]*)$ {
limit_rate $1;
limit_rate_after 2m;
alias /var/www/speedtest/$2;
}
}

проверяю скорость скачивания без лимита, вполне приличная:
$ curl -o /dev/null 127.0.0.1:1/speedtest-limit-0/1000mb
  % Total% Received % Xferd  Average Speed   TimeTime Time 
Current
 Dload  Upload   Total   SpentLeft 
Speed
100 1000M  100 1000M0 0  2375M  0 --:--:-- --:--:-- --:--:--
2375M

с относительно небольшим лимитом всё хорошо:
$ curl -o /dev/null 127.0.0.1:1/speedtest-limit-1m/100mb
  % Total% Received % Xferd  Average Speed   TimeTime Time 
Current
 Dload  Upload   Total   SpentLeft 
Speed
100  100M  100  100M0 0  1044k  0  0:01:38  0:01:38 --:--:--
1008k

а вот с лимитом повыше ерунда выходит:
$ curl -o /dev/null 127.0.0.1:1/speedtest-limit-100m/1000mb
  % Total% Received % Xferd  Average Speed   TimeTime Time 
Current
 Dload  Upload   Total   SpentLeft 
Speed
100 1000M  100 1000M0 0  42.9M  0  0:00:23  0:00:23 --:--:--
42.6M


что можно подкрутить?

Posted at Nginx Forum: 
https://forum.nginx.org/read.php?21,288423,288423#msg-288423

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru