CVE-2021-35247
SolarWinds Serv-U
2022-01-21
SolarWinds Serv-U versions 15.2.5 and earlier contain an improper input validation vulnerability that allows attackers to build and send queries without sanitization.
Технический анализ и план устранения
Суть уязвимости
Уязвимость (CVE-2021-35247) в SolarWinds Serv-U до версии 15.2.5 — это недостаточная проверка входных данных. Злоумышленник может отправлять специально сформированные запросы к уязвимому серверу, минуя стандартные проверки. Это может привести к выполнению произвольного кода на сервере, что позволит атакующему получить полный контроль над системой.
Как исправить
Основное решение — немедленное обновление продукта. Установите версию, в которой уязвимость устранена.
-
Определите текущую версию Serv-U:
- В графическом интерфейсе Serv-U: откройте меню Help -> About Serv-U.
- В командной строке Windows (запущенной от имени администратора):
bash cd "C:\Program Files\SolarWinds\Serv-U" Serv-U-Console.exe --version
-
Загрузите и установите патч:
- Перейдите на официальный портал поддержки SolarWinds: https://customerportal.solarwinds.com
- Скачайте и установите Serv-U версии 15.3.0 или новее (например, 15.3.2 HF1). Уязвимость была устранена в версии 15.3.0.
- Для Windows: запустите скачанный установочный файл (например,
Serv-U-15.3.2-HF1.exe) и следуйте инструкциям мастера. Перед обновлением рекомендуется создать резервную копию конфигурации Serv-U. - Для Linux: используйте соответствующий пакет (.deb, .rpm) из портала поддержки.
bash # Пример для Debian/Ubuntu (имя файла может отличаться) sudo dpkg -i serv-u_15.3.2-1_amd64.deb # Пример для RHEL/CentOS sudo rpm -Uvh serv-u-15.3.2-1.x86_64.rpm
-
Перезапустите службу Serv-U: ```bash # Windows (PowerShell от Администратора) Restart-Service -Name "Serv-U"
Linux (systemd)
sudo systemctl restart serv-u ```
Временное решение
Если немедленное обновление невозможно, примите следующие меры для снижения риска:
-
Ограничьте сетевой доступ:
- Настройте групповые политики (GPO) или локальный брандмауэр (
firewall.cpl) на сервере, чтобы разрешить входящие подключения к портам Serv-U (по умолчанию TCP/21, TCP/22, TCP/443 и др.) только с доверенных IP-адресов (например, из внутренней сети компании). ```bash
Пример правила Windows Firewall (PowerShell) для запрета всего, кроме подсети 192.168.1.0/24
New-NetFirewallRule -DisplayName "Block Serv-U External" -Direction Inbound -Protocol TCP -LocalPort 21,22,443 -RemoteAddress "0.0.0.0/0" -Action Block New-NetFirewallRule -DisplayName "Allow Serv-U Internal" -Direction Inbound -Protocol TCP -LocalPort 21,22,443 -RemoteAddress "192.168.1.0/24" -Action Allow ```
- Настройте групповые политики (GPO) или локальный брандмауэр (
-
Настройте WAF (Web Application Firewall):
- Разместите Serv-U за WAF (например, ModSecurity, Cloudflare, Imperva). Настройте правила для блокировки запросов, содержащих подозрительные паттерны или попытки инъекций.
-
Отключите ненужные протоколы:
- В консоли управления Serv-U отключите все протоколы доступа (FTP, FTPS, SFTP, HTTP/S), которые не используются в вашей инфраструктуре. Оставьте минимально необходимый набор.
-
Усильте мониторинг:
- Включите детальное логирование всех событий доступа и операций в Serv-U.
- Настройте алерты на подозрительную активность: множественные неудачные попытки входа, подключения с недоверенных IP-адресов, нестандартные команды в логах сессий.