Оформление
В Tomcat обнаружена уязвимость включения файлов
1. Обзор
1.1 Информация об уязвимости
| Номер бюллетеня безопасности | Рейтинг опасности | Затронутые версии |
|---|---|---|
| CNVD-2020-10487 | высокий (т.е. локальный максимум) | 6.* Версия |
| 7.* Ветвление Версии до 7.0.100 | ||
| 8.* Ветвление Версии до 8.5.51 | ||
| 9.* Ветвление Версии до 9.0.31 |
1.2 Описание уязвимости
Злоумышленник может использовать эту уязвимость для удаленного чтения произвольных файлов в определенной директории без авторизации. Например, файлы конфигурации веб-приложения или исходный код.
1.3 Влияние уязвимостей
FineBI пока не использует протокол Tomcat AJP, поэтому исправление не влияет на использование FineBI.
2. Решения
2.1 Отказ от использования протокола Tomcat AJP
2.1.1 Программа I
Если вы не используете протокол Tomcat AJP, вы можете устранить уязвимость, обновив Tomcat до версии 9.0.31, 8.5.51 или 7.0.100.
2.1.2 Программа II
Если обновление версии доступно не сразу, или если вы используете более старую версию, рекомендуется просто отключить AJPConnector или изменить его адрес прослушивания, чтобы он прослушивал только localhost вашего компьютера.
Конкретные операции:
1) Отредактируйте <CATALINA_BASE>/conf/server.xml и найдите следующую строку (<CATALINA_BASE> - это рабочая директория Tomcat):
<Коннектор port="8009" protocol="AJP/1.3" redirectPort="8443" />2) Закомментируйте эту строку (вы также можете удалить ее):
<! --<Connectorport="8009" protocol="AJP/1.3" redirectPort="8443" />-->3) Чтобы правило вступило в силу, после сохранения требуется перезагрузка.
2.2 Используемый протокол Tomcat AJP
2.2.1 Программа I
Рекомендуется немедленно обновить Tomcat до версии 9.0.31, 8.5.51 или 7.0.100, чтобы исправить эту проблему, а также настроить AJP Connector с помощью секрета, чтобы установить учетные данные аутентификации для протокола AJP. Например (обратите внимание, что YOUR_TOMCAT_AJP_SECRET должно быть изменено на безопасное значение, которое нельзя легко угадать):
<Коннектор port="8009" protocol="AJP/1.3" redirectPort="8443" address="YOUR_TOMCAT_IP_ADDRESS" secret="YOUR_TOMCAT_AJP_SECRET"/>.
IP_ADDRESS" secret="YOUR_TOMCAT_AJP_SECRET"/>2.2.2 Программа II
Если обновление версии доступно не сразу, или для старых пользователей, рекомендуется установить учетные данные аутентификации протокола AJP, настроив requiredSecret для AJPConnector. Например (обратите внимание, что YOUR_TOMCAT_AJP_SECRET должно быть изменено на значение, которое является очень безопасным и не может быть легко угадано):
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" address="YOUR_TOMCAT_ IP_ADDRESS" requiredSecret="YOUR_TOMCAT_AJP_SECRET" />3. условия
3.1 Версия 7.0.100 Автономное развертывание Tomcat
В версии 7.0.100 Tomcat необходимо поместить web.xml в %Tomcat_HOME%\webapps\webroot\WEB-INF при развертывании сервера Tomcat, иначе будет выдано сообщение об ошибке.
Файл web.xml можно найти по адресу: web.xml
Примечание: Эта ошибка Tomcat была исправлена в версии 7.0.103.