Re: вопрос про heartbleed

Maxim Dounin mdounin at mdounin.ru
Wed Apr 9 15:44:08 UTC 2014


Hello!

On Wed, Apr 09, 2014 at 07:32:30PM +0400, Vladislav Shabanov wrote:

> Существует ли простой способ сделать (на уровне конфигов, разумеется, программировать это
> скорее всего никому не захочется) логирование холостых обращений (сокет открыли, но ничего 
> не GET/POST/…) ?

Включить error_log на уровне info, "холостые" обращения будут 
видны как "client closed connection while waiting for request":

2014/04/09 15:35:34 [info] 57195#0: *1 client closed connection while waiting for request, client: 127.0.0.1, server: 0.0.0.0:8080

> И, кстати, вопрос тем, кто nginX отлаживает: а много таких холостых обращений «по жизни»?

Много, т.к. современные браузеры очень любять открывать соединения 
"про запас".

Но, повторюсь, всё это мало относится к вопросам детектирования 
эксплуатации проблемы в heartbeat.  Никто не мешает атакующему 
сделать в соединении честный запрос, а heartbeat-запросы слать 
параллельно и/или потом, пока соединение будет в keepalive'е.

> 
> 09 апр. 2014 г., в 15:47, Maxim Dounin <mdounin at mdounin.ru> написал(а):
> 
> > Hello!
> > 
> > On Wed, Apr 09, 2014 at 01:41:06PM +0400, Vladislav Shabanov wrote:
> > 
> >> Добрый день!
> >> 
> >> В чём суть уязвимости и как исправлять все, думаю, уже в курсе.
> >> А вот вопрос, который после исправления было бы интересно поизучать:
> >> 
> >> В типовых настройках конфигов при таких вот битых обращениях ни одной строчки в лог 
> >> не пишется. Что нужно сделать, чтобы в логах nginX были видны такие обращения? 
> >> Вариант «включить уровень логов DEBUG и в нём утонуть» не нравится.
> >> 
> >> У кого какие мысли?
> > 
> > Максимум, что можно сделать со стороны nginx'а - это логгировать 
> > сам факт соединения (и он таки логгируется на уровне info).
> > 
> > Следует однако понимать, что отличить соединение, в котором 
> > уязвимость эксплуатируется, от обычного соединения с обычным 
> > запросом при правильном подходе к вопросу эксплуатации данной 
> > уязвимости - не представляется возможным вообще никак.  Разве что 
> > запрошенный через heartbeat кускок данных будет достаточно 
> > большим, чтобы вызвать segmentation fault в OpenSSL.
> > 
> > -- 
> > Maxim Dounin
> > http://nginx.org/
> > 
> > _______________________________________________
> > nginx-ru mailing list
> > nginx-ru at nginx.org
> > http://mailman.nginx.org/mailman/listinfo/nginx-ru
> 
> _______________________________________________
> nginx-ru mailing list
> nginx-ru at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru

-- 
Maxim Dounin
http://nginx.org/



Подробная информация о списке рассылки nginx-ru