Кратко

  • RFC 9887 предусматривает немедленное начало TLS-переговоров после установления TCP и минимум TLS 1.3. TACACS+ передаётся только как прикладные данные TLS. TLS-сервер не должен принимать соединения без TLS, а клиент не должен переходить на такой путь после ошибки TLS.
  • Базовый вариант — взаимная аутентификация сертификатами. Каждый узел проверяет цепочку сертификата другой стороны, включая проверку отзыва. PSK и сырой открытый ключ (RPK) являются необязательными альтернативами; TLS-PSK должен отличаться от старых секретов обфускации TACACS+.
  • При работе через TLS старая обфускация TACACS+ не используется. Конфиденциальность и целостность обеспечивает TLS, поэтому пиры, работающие через TLS, должны устанавливать TAC_PLUS_UNENCRYPTED_FLAG в 1. 0-RTT для данных TACACS+ запрещён; билеты возобновления одноразовые, а при возобновлении проверку отзыва нужно выполнить снова.
  • IANA назначила TCP-порт 300 и имя службы tacacss. Альтернативные порты возможны после явного операционного рассмотрения. RFC 9887 считает смешанную фазу TLS и обычного TACACS+ небезопасной до её завершения, указывает на необходимость сокращать её длительность и разделять серверы без TLS.

Запрет отката описывает протокольное поведение, но не превращает план миграции в автоматический процесс. Если устройства нельзя перенести сразу, старые серверы могут временно оставаться; риск тогда создают два пути, неверный адресат и сохраняющаяся доступность. RFC 9887 не сообщает о покрытии реализаций поставщиками, производственном использовании TCP 300, наблюдаемой длительности миграций или инцидентах понижения, а также не даёт измерений доступности центров сертификации, задержки проверки отзыва или влияния TLS-возобновления на производительность.

Проверочная конструкция. Используйте TLS-клиент, сервер, принимающий только TLS, и явно выделенный старый сервер без TLS; наблюдайте журналы TCP 300. Проверьте успешное рукопожатие по взаимным сертификатам, затем отзовите один сертификат и убедитесь, что новая сессия и возобновление его отвергают. Передайте на TLS-сервер первые байты обычного протокола и подтвердите отказ; искусственно сорвите TLS-рукопожатие и убедитесь, что клиент не меняет сервер или протокол. Проверьте отсутствие прикладных данных в 0-RTT, невозможность повторного использования билета и различие TLS-PSK со старым секретом. Это дизайн проверки, а не утверждение о конкретных продуктах или сетях.

Источники

RFC 9887: Terminal Access Controller Access-Control System Plus (TACACS+) over TLS 1.3