2.4.25 Общесистемные криптографические политики
Изменение общесистемной криптографической политики
Настройка общесистемных криптографических политик с помощью субполитик
Создание и настройка собственной общесистемной криптографической политики
Окружение
- Версия РЕД ОС: 7.3
- Конфигурация: Рабочая станция, Сервер графический, Сервер минимальный
Общесистемные политики шифрования – это системный компонент, который настраивает основные криптографические подсистемы, включая протоколы TLS, IPsec, SSH, DNSSec и Kerberos.
При использовании в системе общесистемных политик программы следуют настроенным правилам и не используют в своей работе алгоритмы и протоколы, которые не соответствуют настроенной политике (за исключением случаев, когда администратор явно указывает программе выполнить данное действие). Это значит, что политика применяется к поведению программ по умолчанию при работе с предоставленной системой конфигурацией, но при необходимости ее можно переопределить.
В РЕД ОС поддерживаются следующие предопределенные политики:
DEFAULT – по умолчанию предлагает безопасные настройки для текущих моделей угроз. Поддерживает протоколы TLS 1.2 и 1.3, а также протоколы IKEv2 и SSH2. Ключи RSA и параметры Диффи-Хеллмана принимаются, если их длина не менее 2048 бит. Политика обеспечивает как минимум 112-разрядную защиту, за исключением разрешения использования сигнатур SHA1 в DNSSec, где они по-прежнему распространены.
LEGACY – совместима с более ранними системами и менее безопасна из-за увеличенной поверхности атаки. Помимо алгоритмов и протоколов уровня DEFAULT, он включает поддержку протоколов TLS 1.0 и 1.1. Алгоритмы DSA, 3DES и RC4 разрешены, а ключи RSA и параметры Диффи-Хеллмана принимаются, если их длина превышает 1024 бита. Политика обеспечивает как минимум 64-разрядную защиту.
FUTURE – более строгий уровень безопасности, предназначенный для тестирования возможной будущей политики. Политика не позволяет использовать SHA-1 в алгоритмах подписи. Он поддерживает протоколы TLS 1.2 и 1.3, а также протоколы IKEv2 и SSH2. Ключи RSA и параметры Диффи-Хеллмана принимаются, если их длина не менее 3072 бит. Политика обеспечивает как минимум 128-разрядную защиту.
FIPS – соответствует требованиям FIPS 140. Инструмент настройки fips-mode, который переключает систему в режим FIPS, использует эту политику внутри себя. Переход на политику FIPS не гарантирует соответствия стандарту FIPS 140. Также необходимо повторно сгенерировать все криптографические ключи после перевода системы в режим FIPS. Во многих сценариях это может быть затруднительно.
ОС также предоставляет общесистемную подполитику FIPS:OSPP, которая содержит дополнительные ограничения для криптографических алгоритмов, требуемых сертификацией Common Criteria (CC). После установки этой субполитики система становится менее функциональной. Например, становится недоступно использование ключей RSA и параметров Диффи-Хеллмана длиной менее 3072 бит, дополнительных алгоритмов SSH и некоторых групп TLS. Политика обеспечивает как минимум 112-разрядную защиту.
Конкретные алгоритмы и шифры, описанные как разрешенные на определенном уровне политики, доступны только в том случае, если приложение их поддерживает. Далее для наглядности приведена таблица с поддерживаемыми алгоритмами и шифрами для каждой криптополитики.
LEGACY | DEFAULT | FIPS | FUTURE | |
---|---|---|---|---|
IKEv2 | | | | |
3DES | | | | |
RC4 | | | | |
AES | | | | |
ChaCha20 | | | | |
AES-CBC | | | | |
DH | не менее 1024 бит | не менее 2048 бит | не менее 2048 бит | не менее 3072 бит |
RSA | не менее 1024 бит | не менее 2048 бит | не менее 2048 бит | не менее 3072 бит |
DSA | | | | |
TLS v1.0 | | | | |
TLS v1.1 | | | | |
TLS v1.2 | | | | |
TLS v1.3 | | | | |
SHA-1 в цифровых подписях | | | | |
CBC mode ciphers | | | | |
Симметричные шифры с ключами < 256 бит | | | | |
Подписи SHA-1 и SHA-224 в сертификатах | | | | |
Изменение общесистемной криптографической политики
Используемую в системе криптографическую политику можно изменять, для этого потребуются права администратора системы.
Для проверки используемой в системе криптополитики выполните:
update-crypto-policies --show
Для изменения используемой криптополитики в системе (например, на LEGACY) выполните:
update-crypto-policies --set LEGACY
Для применения внесенных изменений перезапустите систему:
reboot
Настройка общесистемных криптографических политик с помощью субполитик
Данная процедура используется для настройки набора включенных криптографических алгоритмов или протоколов.
Пользовательские субполитики можно применять поверх существующей общесистемной криптополитики либо определять такую политику как самостоятельную.
Концепция использования политик с ограниченной областью действия позволяет применять разные наборы алгоритмов для разных частей сервера. Таким образом можно ограничить каждую директиву конфигурации конкретными протоколами, библиотеками или службами.
Кроме того, директивы могут использовать звездочки (*
) для указания нескольких значений с помощью подстановочных знаков.
В файле /etc/crypto-policies/state/CURRENT.pol перечислены все настройки применяемой в системе криптографической политики после расширения подстановочных знаков. Для создания более строгой криптографической политики рекомендуется использовать дополнительные значения, которые должны быть указаны в файле /usr/share/crypto-policies/policies/FUTURE.pol.
Примеры субполитик можно найти в каталоге /usr/share/crypto-policies/policies/modules.
Для создания собственной субполитики перейдите в каталог /etc/crypto-policies/policies/modules/:
cd /etc/crypto-policies/policies/modules/
Создайте файл субполитики:
nano MYPOLICY-1.pmod
В именах файлов субполитик необходимо использовать прописные буквы.
и укажите параметры, изменяющие общесистемную криптографическую политику, например:
min_rsa_size = 3072
hash = SHA2-384 SHA2-512 SHA3-384 SHA3-512
Сохраните изменения в файле субполитики.
Примените корректировки созданной субполитики к общесистемной криптографической политике. Например, при использовании общесистемной криптополитики DEFAULT команда будет иметь вид:
update-crypto-policies --set DEFAULT:MYPOLICY-1
Для применения внесенных изменений перезапустите систему:
reboot
После перезапуска проверьте, что файл текущей используемой криптополитики /etc/crypto-policies/state/CURRENT.pol содержит внесенные изменения с помощью команды:
cat /etc/crypto-policies/state/CURRENT.pol | grep rsa_size min_rsa_size = 3072
Создание и настройка собственной общесистемной криптографической политики
Для каких-либо специфичных сценариев можно настроить собственную общесистемную криптографическую политику.
Для этого перейдите в каталог /etc/crypto-policies/policies/:
cd /etc/crypto-policies/policies/
Создайте новый файл политик:
touch MYPOLICY.pol
Также можно скопировать файл существующей политики с последующим внесением в него необходимых изменений:
cp /usr/share/crypto-policies/policies/DEFAULT.pol /etc/crypto-policies/policies/MYPOLICY.pol
Внесите необходимые настройки в созданный файл общесистемной криптополитики:
nano ./MYPOLICY.pol
Сохраните внесенные изменения.
Для применения новой общесистемной криптополитики выполните:
update-crypto-policies --set MYPOLICY
Для применения новых настроек к уже запущенным службам перезагрузите систему:
reboot
Дата последнего изменения: 13.01.2025
Если вы нашли ошибку, пожалуйста, выделите текст и нажмите Ctrl+Enter.