CVE-2021-35247

SolarWinds Serv-U

ВЕРОЯТНОСТЬ 5.3%

Дата обнаружения

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 — это недостаточная проверка входных данных. Злоумышленник может отправлять специально сформированные запросы к уязвимому серверу, минуя стандартные проверки. Это может привести к выполнению произвольного кода на сервере, что позволит атакующему получить полный контроль над системой.

Как исправить

Основное решение — немедленное обновление продукта. Установите версию, в которой уязвимость устранена.

  1. Определите текущую версию Serv-U:

    • В графическом интерфейсе Serv-U: откройте меню Help -> About Serv-U.
    • В командной строке Windows (запущенной от имени администратора): bash cd "C:\Program Files\SolarWinds\Serv-U" Serv-U-Console.exe --version
  2. Загрузите и установите патч:

    • Перейдите на официальный портал поддержки 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
  3. Перезапустите службу Serv-U: ```bash # Windows (PowerShell от Администратора) Restart-Service -Name "Serv-U"

    Linux (systemd)

    sudo systemctl restart serv-u ```

Временное решение

Если немедленное обновление невозможно, примите следующие меры для снижения риска:

  1. Ограничьте сетевой доступ:

    • Настройте групповые политики (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 ```

  2. Настройте WAF (Web Application Firewall):

    • Разместите Serv-U за WAF (например, ModSecurity, Cloudflare, Imperva). Настройте правила для блокировки запросов, содержащих подозрительные паттерны или попытки инъекций.
  3. Отключите ненужные протоколы:

    • В консоли управления Serv-U отключите все протоколы доступа (FTP, FTPS, SFTP, HTTP/S), которые не используются в вашей инфраструктуре. Оставьте минимально необходимый набор.
  4. Усильте мониторинг:

    • Включите детальное логирование всех событий доступа и операций в Serv-U.
    • Настройте алерты на подозрительную активность: множественные неудачные попытки входа, подключения с недоверенных IP-адресов, нестандартные команды в логах сессий.