Вопрос или проблема
Я реализую правило STIG V-238216, которое гласит:
Операционная система Ubuntu должна настроить демона SSH для использования кодов аутентификации сообщений (MAC), использующих криптографические хэши, одобренные FIPS 140-2
Убедитесь, что демон SSH настроен для использования только MAC, которые используют шифры, одобренные FIPS 140-2, с помощью следующей команды:
$ sudo /usr/sbin/sshd -dd 2>&1 | awk ‘/filename/ {print $4}’ | tr -d ‘\r’ | tr ‘\n’ ‘ ‘ | xargs sudo grep -iH ‘^\s*macs’
MACs hmac-sha2-512,hmac-sha2-256
Если перечислены любые шифры, кроме “hmac-sha2-512” или “hmac-sha2-256”, порядок отличается от приведенного выше примера или возвращенная строка закомментирована, это является нарушением.
Мой вопрос заключается в следующем: будут ли эти шифры работать, если я добавлю их в конфигурацию sshd, но не включу FIPS в Ubuntu Pro?
Ответ или решение
Использование алгоритмов и шифров, одобренных ФИПС (FIPS), в контексте вашего вопроса и конкретной задачи по реализации STIG правила V-238216, ставит несколько важных вопросов. Прежде чем углубляться в детали, следует прояснить, что такое ФИПС и каково его значение для криптографии.
Теория
FIPS (Federal Information Processing Standards) — это набор стандартов, разработанный Национальным институтом стандартов и технологий США (NIST) для использования в правительственных системах и организациях, работающих с конфиденциальными данными. Эти стандарты определяют набор криптографических алгоритмов и шифров, которые считаются безопасными и надежными. FIPS 140-2 — это стандарт для криптографических модулей, который широко применяется в США и Канаде, определяющий требования к криптографическим методам защиты данных.
Ваша задача заключается в конфигурации SSH-демона на операционной системе Ubuntu для использования механизмов аутентификации сообщений (MACs), которые основаны на криптографических хэшах, одобренных FIPS 140-2. В частности, вы должны убедиться, что используются только "hmac-sha2-512" и "hmac-sha2-256", которые являются FIPS-совместимыми алгоритмами.
Пример
Рассмотрим типичную SSH-конфигурацию. По умолчанию, SSH использует набор алгоритмов и шифров для различных задач — шифрования, аутентификации и обеспечения целостности. При переключении на конфигурацию, совместимую с FIPS, список поддерживаемых шифров и алгоритмов сужается до тех, которые прошли сертификацию FIPS.
Для задачи из вашего описания, вы используете следующую команду для проверки конфигурации:
$ sudo /usr/sbin/sshd -dd 2>&1 | awk '/filename/ {print $4}' | tr -d '\r' | tr '\n' ' ' | xargs sudo grep -iH '^\s*macs'
MACs hmac-sha2-512,hmac-sha2-256
Здесь важно отметить, что команда проверяет установленные значения MACs на наличие только тех, которые совместимы с FIPS. Если конфигурация не соответствует требованиям (например, если упоминается другой алгоритм или порядок алгоритмов отличается от заданного), это считается нарушением политики безопасности.
Применение
Теперь давайте рассмотрим ваш вопрос о том, могут ли использоваться эти шифры, если они добавлены в конфигурацию sshd
, но ФИПС не включен явно через услуги Ubuntu Pro или другие механизмы.
Ответ заключается в том, что вы можете использовать FIPS-одобренные шифры и алгоритмы, даже если ваш сервер Ubuntu не работает в режиме FIPS. Ubuntu позволяет настраивать SSH-демон независимо от того, включен ли режим FIPS на уровне системы. Однако, есть несколько важных аспектов, которые вы должны учесть:
-
Безопасность: Хотя использование FIPS-одобренных алгоритмов повышает безопасность, сама по себе привязка к FIPS-совместимости не гарантирует полную соответствие стандартам безопасности без системного уровня поддержки. Это связано с тем, что криптографическая безопасность зависит не только от алгоритмов, но и от их реализации и окружения, включая уровни защиты на уровне ядра, библиотеки шифрования и более.
-
Соответствие требованиям: Если вы работаете в среде, которая требует соответствия стандартам защиты информации на уровне FIPS, одной только настройки алгоритмов в конфигурации может быть недостаточно без полной сертификации системы на соответствие FIPS 140-2 (или более новой версии). Включение режима FIPS на уровне системы, как правило, требуется для получения официального соответствия.
-
Практическая реализация: Без режима FIPS на уровне Ubuntu возможны некоторые несовпадения в поведении между тем, как система должна себя вести и тем, как она себя ведет на практике. Например, это может касаться генерации случайных чисел и управления ключами, которые в режиме FIPS имеют специфически определенные процессы и фазы проверки.
В завершение, вам следует внимательно оценить ваше окружение и требования бизнес- или аудиторской проверки. Если задача требует строгого соответствия стандартам ФИПС, желательно включить режим FIPS и убедиться, что каждый компонент системы подтвержден как совместимый с FIPS. Если же задача фокусируется на повышении уровня безопасности без формальной сертификации, тогда добавление FIPS-одобренных алгоритмов в sshd_config
будет разумным шагом, обеспечивающим дополнительный уровень защиты данных.