Ревизор распознаёт HTTP 301 как пропуск в фильтрации

Skip to end of metadata
Go to start of metadata

В чём проблема

С 25.05.2017 нескольким нашим клиентам ревизор прислал отчёты в которых фигурировали пропуски, имеющие кое-что общее:

  1. В URL HTTP запроса состоящего из домена конце стояла точка (например http://blocked.domain.com/.)
  2. В URL внутри реестра такой точки не было.
  3. Эти запросы были отфильтрованы по DNS.
  4. Сервер страницы заглушки ответил на них HTTP 301 редиректом на http://blocked.domain.com/./
  5. Этот ответ был распознан ревизором как пропуск

Решение для nginx - готово, как его применить - описано ниже.

Мы уже выпустили обновления для этой проблемы, но настоятельно рекомендуем на всякий случай перепроверить:

Как проверить что всё работает правильно

Пусть 10.50.140.73 - IP заглушки

telnet 10.50.140.73 80
GET /.

В ответ должны получить 200 с выводом страницы заглушки.

В противном случае придёт 301 редирект.

Пример:

$ telnet 10.50.140.73 80
Trying 10.50.140.73...
Connected to 10.50.140.73.
Escape character is '^]'.
GET /.
<html>
<head><title>301 Moved Permanently</title></head>
<body bgcolor="white">
<center><h1>301 Moved Permanently</h1></center>
<hr><center>nginx/1.0.15</center>
</body>
</html>

К сожалению с помощью curl, wget, браузера проверить вряд ли получится, большинство из них обрезают такую точку в конце запроса на своей стороне ещё до его отправки.

Решение проблемы

Если исправление по какой-либо причине не применилось, дальнейшие действия отличаются в зависимости от того, где расположена страница-заглушка:

Для заглушки на Carbon Reductor 8

Ничего делать не надо, с помощью системы точечных хотфиксов, встроенной в Carbon Platform, всё уже исправлено.

Если сервер отдаёт 301 страницу - обратитесь в техническую поддержку.

Для заглушки на Carbon Reductor 7

На сервере с Carbon Reductor применить hotfix от имени пользователя root:

curl -sS https://download5.carbonsoft.ru/reductor/nginx_hotfix.sh | bash

В случае если он применился успешно - вы получите сообщение:

2017-05-26 16:54:56 carbon.reductor gen_nginx_conf.sh[5176:5181]: Обновляем настройки веб-сервера
Перезагружается nginx: [  OK  ]
New config successfully applied and works
Please, check that blocked sites open this blockpage

Для заглушки на отдельном сервере

Если всё максимально близко к стандарту и устанавливали с помощью этих скриптов:

https://github.com/carbonsoft/reductor_blockpages

то нужно обновить конфиг rkn:

cd /root/reductor_blockpages
git pull origin master
make rkn_config
serivce nginx reload

Либо вручную в

/etc/nginx/conf.d/rkn.conf

перед строкой

root /var/www

добавить строку:

try_files $uri /index.html;

и применить изменения:

/etc/init.d/nginx reload

Если заглушка развёрнута своими силами

Скорее всего она не подходит для DNS-фильтрации и в некоторых случаях может приводить к распознанию ревизором её ответов как пропуска фильтрации.

Настоятельно рекомендуем использовать:

https://github.com/carbonsoft/reductor_blockpages

В скором времени мы подготовим сервер для страницы-заглушки на Carbon Platform с автоматическим обновлением итд.

Введите метки, чтобы добавить к этой странице:
Please wait 
Ищите метку? просто начните печатать.