Welcome! Log In Create A New Profile

Advanced

Re: ssl_early_data

Maxim Dounin
April 25, 2021 10:58AM
Hello!

On Sat, Apr 24, 2021 at 10:15:36PM +0300, Gena Makhomed wrote:

> Есть в nginx директива ssl_early_data, но как я
> понял из документации,
> чтобы ее можно
> было безопасно включить - необходимо сделать защиту
> от replay attacks.
>
> В документации предлагается делать ее на бекенде,
> с помощью заголовка proxy_set_header Early-Data $ssl_early_data;
>
> Можно ли настроить сам nginx таким способом, чтобы он нормально
> пропускал на бекенд безопасные запросы GET, HEAD, OPTIONS, TRACE
> в том случае когда $ssl_early_data установлена в 1 и чтобы
> он возвращал
> клиенту 425 (Too Early) status code в том случае, если запрос имеет
> не безопасный
> метод POST, PUT, DELETE, PATCH и $ssl_early_data; равно 1.

Настроить можно:

set $early $ssl_early_data:$request_method;

if ($early ~ ^1:(?!GET$|HEAD$)) {
return 425;
}

Однако в соответствии с RFC 8470 клиенты не имеют права посылать
небезопасные запросы с использованием early data[1], так что
смысла в такой настройке примерно ноль.

Использование переменной $ssl_early_data имеет смысл тогда, когда
replay-атаки могут представлять опасность для "безопасных
запросов". То есть, скажем, если где-то GET-запросы используются
небезопасно и имеют сайд-эффекты (хоте и не должны по
спецификации), или же если если replay-атаки могут быть
использованы для получения какой-то информации[2].

[1] https://tools.ietf.org/html/rfc8470#section-4
[2] https://tools.ietf.org/html/rfc8470#section-6

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

ssl_early_data

Gena Makhomed April 24, 2021 03:16PM

Re: ssl_early_data

Maxim Dounin April 25, 2021 10:58AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 317
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