Отчёт сканера безопасности приходит списком: устаревшие наборы шифрования в службе удалённого доступа, старые версии протокола на веб-сервере, слабые алгоритмы обмена ключами. Для крупного аудита это пункты отчёта, для администратора это работа на вечер: конфигурации с десятилетним прошлым тянут настройки из эпохи, когда о них ещё никто не беспокоился. Замена устаревшего на современный это не гонка за модой, а гигиена: слабые алгоритмы снимаются с защиты, а риск от их наличия снижается до нуля. Статья разбирает происхождение устаревших наборов, современную настройку службы удалённого доступа и веб-сервера, проверку сканером и порядок перехода без потери клиентов.
Откуда в конфигурациях берутся устаревшие алгоритмы
Источников три, и все три закономерны. Первый, умолчания ради совместимости: разработчики служб оставляют в наборах по умолчанию широкий спектр алгоритмов, чтобы старые клиенты подключались, и широкий спектр включает слабые позиции. Второй, наследие копипасты: конфигурация однажды была собрана из найденного примера и с тех пор переезжает с сервера на сервер без пересмотра. Третий, время: алгоритм, бывший крепким при развёртывании, через годы сломан прогрессом и снят с рекомендации, а конфигурация осталась прежней.
Различие сфер применения важно для стратегии. Служба удалённого доступа обслуживает администраторов с современными клиентами, и совместимость почти не аргумент. Веб-сервер обслуживает посетителей с самым разным парком браузеров, и здесь отключение старого без оглядки отрежет часть аудитории. Одинаковый подход к обеим сферам это ошибка: для первой строгость дешева, для второй строгость требует поэтапности.
Отчёты сканеров справедливо разделяют проблемы по серьёзности: слабые алгоритмы обмена ключами, устаревшие блочные шифры, старые версии протокола с известными слабостями. Приоритет замены следует этой серьёзности: сначала версии протокола с известными уязвимостями, потом слабые обмены ключами, затем блочные шифры с короткими ключами. Порядок не догматический, а практический: сначала устраняется то, что используется атаками сегодня.
Скрытый аргумент замены, выигрыш конфигурации: короткий явный список современных алгоритмов читается с первого взгляда и отвечает на вопрос аудитора за минуту. Конфигурация со списком из двадцати позиций, половина из которых помечена устаревшей, читается с опаской и требует пояснений. Явное современное проще защищать и проще поддерживать.
Современный набор для службы удалённого доступа
Служба удалённого доступа настраивается тремя списками: шифры для защиты трафика, коды проверки целостности и алгоритмы обмена ключами. Каждый список задаётся директивой в конфигурации службы с явным перечислением, а явное перечисление отсекает всё неуказанное. Современный набор строится из аутентифицированного шифрования и стойких обменов:
Ciphers Адрес электронной почты защищен от спам-ботов. Для просмотра адреса в браузере должен быть включен Javascript. ,Адрес электронной почты защищен от спам-ботов. Для просмотра адреса в браузере должен быть включен Javascript. ,Адрес электронной почты защищен от спам-ботов. Для просмотра адреса в браузере должен быть включен Javascript.
MACs Адрес электронной почты защищен от спам-ботов. Для просмотра адреса в браузере должен быть включен Javascript. ,Адрес электронной почты защищен от спам-ботов. Для просмотра адреса в браузере должен быть включен Javascript.
KexAlgorithms curve25519-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512
Логика набора: шифры нового поколения совмещают защиту и целостность в одном примитиве и не нуждаются в отдельном коде проверки, поэтому первые две позиции списков перекрываются: при шифрах с встроенной аутентификацией коды проверки не используются, но держатся в списке для полноты схемы. Обмен ключами строится на эллиптической кривой и больших группах, а компактные группы из прошлого не указываются и тем самым отключаются.
Проверка синтаксиса конфигурации перед перезапуском обязательна: служба проверяет файл и отказывается стартовать с ошибкой в директиве, а проверка перед перезапуском дешевле остановленного доступа. Применение изменений выполняется перезапуском службы, и соединения с современными клиентами продолжают работать без перерыва, потому что переобсуждение параметров происходит при следующем подключении.
Риск процедуры в потере доступа при ошибке: если новый набор не поддерживается клиентом администратора, дверь закрывается. Страховка классическая: второй сеанс доступа держится открытым, изменения применяются и проверяются в нём, и закрытие страховочного сеанса происходит только после подтверждения работоспособности нового подключения. Сеанс из консоли или сервера управления служит вторым каналом там, где риск особенно неприятен.
Правка протокола TLS на веб-сервере
Настройка веб-сервера задаётся тремя строками: версии протокола, набор шифров для старой из поддерживаемых версий и предпочтение сервера в выборе. Современная база это две последние версии протокола, а набор шифров для старшей из них фиксируется стандартом и не настраивается:
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305;
ssl_prefer_server_ciphers on;
Строка шифров для старшей версии настраиваемого протокола содержит только современные комбинации: обмен с прямой защитой секрета и аутентифицированные шифры. Слабые комбинации, шифры без обмена ключами и старые режимы не указываются, и их отсутствие в строке означает отключение. Для старшей версии протокола набор фиксирован стандартом и строка шифров к ней не применяется.
Каждый параметр несёт свою ответственность. Строка протоколов отсекает исторические версии с известными слабостями, и их отключение это первое действие по любому отчёту аудита. Строка шифров сужает выбор внутри разрешённого протокола до современного списка. Предпочтение сервера направляет согласование к сильнейшей позиции из общих, а не к выбору клиента.
Применение следует той же дисциплине, что и везде: проверка синтаксиса, плавная перезагрузка, проверка с внешнего адреса. Несколько серверов за балансировщиком обновляются по одному с проверкой на каждом, и окно между первым и последним закрывается в тот же час, потому что разные наборы на соседях несут сюрпризы для сессий.
Проверка поддерживаемых алгоритмов сканером
До и после правки картина снимается сканером. Инструмент перечисления шифров для веб-адресов подключается к порту, согласует по очереди разные наборы и печатает всё, что сервер принимает:
nmap --script ssl-enum-ciphers -p 443 example.local
Вывод группируется по версиям протокола с перечислением принятых шифров и оценкой каждой позиции. Снимок до правки это карта территории: видно, что именно отключить в первую очередь, и уязвимые позиции перечислены сканером с пометками. Снимок после правки это доказательство: список сжался до современного, пометки слабостей исчезли, и отчёт аудитора закрывается приложением двух карт.
Для службы удалённого доступа сканер работает по тому же принципу с собственным набором сценариев, а быстрая проверка изнутри выполняется клиентом: вывод запроса поддерживаемых наборов показывает, что клиент умеет, а попытка подключения с явно заданным устаревшим шифром подтверждает отказ сервера в его принятии. Проверка снаружи и изнутри складываются в честную картину: сервер принимает только то, что написано в конфигурации.
Сравнение снимков до и после закрепляется в протоколе изменений: две выгрузки и строка о применённой правке. Для следующего аудита протокол отвечает на вопрос истории за минуту, и повторный аудит начинается не с открытия, а с подтверждения.
Совместимость со старыми клиентами и поэтапное отключение
Совместимость это главный риск веб-стороны, и риск измеряется до отключения, а не после. Доля аудитории на старых версиях браузеров берётся из статистики посещений за месяц, и решение принимается по числам: доля в доли процента на внутреннем корпоративном портале означает быстрое отключение старых версий с оповещением двух отстающих, доля в несколько процентов на публичной площадке требует поэтапности.
Поэтапность строится волнами. Первая волна отключает версии протокола с известными уязвимостями: их доля аудитории стремится к нулю, и отключение проходит незаметно. Вторая волна через месяц сужает строку шифров до современного списка с быстрыми шифрами. Третья волна при необходимости отключает среднюю версию протокола, когда статистика показывает готовность аудитории. Каждая волна сопровождается снимком сканера и наблюдением отказов в журнале.
Для службы удалённого доступа совместимость решается обновлением клиентов: рабочий инструмент администратора обновляется до текущей версии, и после этого строгий набор закрывается без сюрпризов. Клиенты со сторонних машин, доступ которым ограничен, либо обновляются, либо получают отдельный набор правил с адресным разрешением старых алгоритмов, и это исключение живёт в конфигурации явно, с комментарием о сроке.
Мониторинг отказов после волн ведётся по журналам: записи согласования с неудачей показывают, кто именно не смог подключиться после правки. Единичные отказы от автоматических сканеров это фон, систематические отказы реальной аудитории это сигнал отката, и откат выполняется той же правкой в обратную сторону за минуты. Возможность отката делает волны безопасными, и она обязана быть в плане каждой волны.
Регламент и повторный аудит
Разовая замена закрывает сегодняшний отчёт, а регламент держит конфигурацию современной завтра. Состав регламента скромен: контроль конфигурации под версионированием, чтобы любые правки проходили ревью и фиксацию; периодический снимок сканером с частотой полугодия, чтобы дрейф не накапливался незаметно; и правило реакции на бюллетени, чтобы снятие с рекомендации конкретного алгоритма включало его в план следующей волны.
Снимок сканером в регламенте сравнивается с эталонным: различие между ними означает изменение конфигурации, и изменение либо объясняется и принимается, либо откатывается. Эталонный снимок хранится рядом с конфигурацией и обновляется при осознанных правках. Дрейф без регламента живёт тихо и обнаруживается следующим аудитом, а дрейф под регламентом ловится в зародыше.
Три источника требований к составу наборов сходятся на практике: собственные стандарты организации, рекомендации разработчиков служб и требования партнёров по интеграции. Разработка публикует текущие рекомендации по составу, и сверка с ними входит в полугодовой осмотр. Требования партнёров появляются в договорах и интеграционных проверках, и их учёт либо подтверждается снимком сканера, либо вносится в план волны.
Документация конфигурации завершает регламент: список применённых наборов с пояснением каждой позиции хранится рядом с конфигурацией, и ответ на вопрос "почему именно так" даётся страницей документации, а не экскурсом в историю. Конфигурация без пояснений читается с недоверием даже когда она безупречна, и пояснение это часть зрелости.
Рабочая процедура замены наборов шифрования
Процедура, закрывающая замену от отчёта аудита до регламентного состояния, выглядит так:
- Снять карту текущих алгоритмов сканером для обеих сфер;
- Сверить карту с рекомендациями разработчиков и отметить кандидатов на отключение;
- Оценить совместимость клиентов по статистике и составить волны отключения;
- Применить правку для службы удалённого доступа с открытым страховочным сеансом;
- Применить волны для веб-сервера по одному узлу за балансировщиком;
- Снять контрольные карты, приложить их к протоколу и включить конфигурацию в регламент.
За процедурой стоит общий принцип: сильные алгоритмы не защищают от слабых, они лишь сосуществуют с ними в списке по умолчанию, и задача замены сводится к удалению слабых из списка. Отключённый алгоритм не требует защиты, обновления и объяснений, и честное отключение сильнее любой настройки вокруг слабого.
Итоговое суждение по работе спокойное. Замена устаревших наборов это вечер на сферу и полдня на поэтапную волну для публики, а результатом становится конфигурация, которую не стыдно показать ни аудитору, ни коллеге. Сканер подтверждает результат объективно, регламент удерживает его во времени, а страховочные сеансы и планы отката снимают риск перехода. Современные стандарты не догма, а снятая с защиты работа, и конфигурация, собранная из короткого явного списка, на годы освобождает внимание для задач интереснее.