Мы все предполагаем, что специалисты, занимающиеся разработкой систем и программного обеспечения, детально разбираются в криптографических политиках и устанавливают их соответствующим образом, чтобы обезопасить все от злоумышленников.
Независимо от того, ошибочно это предположение или верно, очень важно, чтобы система и программное обеспечение работали в соответствии с правильными криптографическими политиками.
Общесистемная криптографическая политика – это пакет, который настраивает основные криптографические подсистемы путем включения набора протоколов.
Сюда входят протоколы IPSec, TLS, DNSSec, SSH и Kerberos.
Этот пакет предоставляет набор политик, которые может выбрать системный администратор.
Приложения и службы вынуждены использовать их и отвергать любые другие протоколы, которые не согласуются с установленной политикой.
Приложения, которые не соответствуют установленной политике, могут использовать ее только в том случае, если они явно настроены на это.
Ниже перечислены предопределенные криптографические политики:
- DEFAULT: Это общесистемная криптографическая политика по умолчанию, которая предлагает безопасные настройки для всех существующих угроз. Эта политика разрешает протоколы TLS 1.2 и 1.3, IKEv2 и SSH2. Ключи RSA и параметры Diffie-Hellman также принимаются, если их длина составляет не менее 2048 бит.
- LEGACY: Обеспечивает максимальную совместимость с Red Hat Enterprise Linux 6 и более ранними версиями. Это менее безопасно и создает повышенную поверхность атаки. Здесь SHA-1 может использоваться в качестве хэша, подписи и алгоритма TLS. Кроме того, приложения, использующие GnuTLS, позволяют использовать сертификаты, подписанные SHA-1.
- FUTURE: Считается, что эта политика обеспечивает защиту от угроз ближайшего будущего. Она не позволяет использовать SHA-1 в DNSSec или в качестве HMAC. Здесь отключены хэши SHA2-224 и SHA3-224, а также 128-битные шифры. Ключи RSA и параметры Diffie-Hellman принимаются только в том случае, если их длина составляет не менее 3072 бит.
- FIPS: Эта политика соответствует стандартам FIPS 140-2. Она используется внутри системы с помощью инструмента fips-mode-setup, который переключает систему в режим FIPS.
Это руководство предлагает глубокую иллюстрацию того, как настроить общесистемные криптографические политики на RHEL / CentOS / Rocky / AlmaLinux
- #1. Проверка общесистемных криптографических политик
- #2. Установка/изменение общесистемных криптографических политик
- #3. Тестирование общесистемной криптографической политики
- #4. Исключение приложения из общесистемных криптополитик
- #5. Настройка общесистемных криптографических политик с помощью подполитик
- Повторное включение SHA-1
- #6. Создание пользовательской общесистемной криптографической политики
- Заключение
#1. Проверка общесистемных криптографических политик
Команда update-crypto-policies используется для управления общесистемной криптографической политикой на RHEL / CentOS / Rocky / AlmaLinux.
Этот пакет предустановлен на многих системах на базе Rhel.
Если он недоступен, установите его с помощью команды:
Дерево зависимостей:
Dependencies resolved.
=======================================
Package Arch Version
Repo Size
=======================================
Upgrading:
crypto-policies noarch 20211116-1.gitae470d6.el8
baseos 63 k
crypto-policies-scripts
noarch 20211116-1.gitae470d6.el8
baseos 82 k
Transaction Summary
=======================================
Upgrade 2 Packages
Total download size: 145 k
Downloading Packages:
После установки проверьте текущую общесистемную криптографическую политику на RHEL / CentOS / Rocky / AlmaLinux с помощью команды:
#2. Установка/изменение общесистемных криптографических политик
Общесистемная криптографическая политика может быть переключена на предпочтительную с помощью команды update-crypto-policies.
Синтаксис используемой команды следующий:
Например, при переходе к политике FUTURE команда будет следующей:
После установки политики рекомендуется перезагрузить систему:
#3. Тестирование общесистемной криптографической политики
Каждая политика имеет свой собственный набор правил.
Для этого теста я предполагаю, что вы переключились на политику FUTURE, в которой отключен SHA-1.
Во-первых, проверьте политику:
Мы проверим это с помощью команды cURL, приведенной ниже:
Вывод покажет, что сертификат SHA-1 был запрещен.
Это доказывает, что политика FUTURE работает так, как нужно.
#4. Исключение приложения из общесистемных криптополитик
Как было сказано ранее, общесистемные криптополитики заставляют службу или приложение следовать установленным политикам.
Однако вы можете исключить приложение из общесистемных криптографических политик.
Это можно сделать, настроив наборы шифров и протоколы непосредственно в приложении.
Вы также можете удалить системную ссылку из /etc/crypto-policies/back-ends на ваше приложение и заменить ее настроенными политиками.
Чтобы продемонстрировать это, я буду использовать cURL с опцией –ciphersoption.
Например
Вы также можете использовать wget и указать оба параметра –secure-protocol и –ciphers.
Например:
#5. Настройка общесистемных криптографических политик с помощью подполитик
В основном это делается для настройки набора включенных криптографических алгоритмов или протоколов.
Это можно сделать двумя способами: применить пользовательские подполитики поверх существующей общесистемной криптографической политики или определить политику с нуля.
Во-первых, перейдите в каталог ниже:
Создайте нужные вам подполитики. Скажем,
Откройте созданную подполитику для редактирования:
Добавьте параметры для изменения существующей общесистемной криптографической политики.
Например:
# Отключить шифр AES-128, все режимы cipher = -AES-128-* # Отключить CHACHA20-POLY1305 для протокола TLS (OpenSSL, GnuTLS, NSS и OpenJDK) cipher@TLS = -CHACHA20-POLY1305 # Разрешить использование группы FFDHE-1024 для протокола SSH (libssh и OpenSSH) group@SSH = FFDHE-1024+ # Отключить все шифры режима CBC для протокола SSH (libssh и OpenSSH) cipher@SSH = -*-CBC # Разрешить шифр AES-256-CBC в приложениях, использующих libssh cipher@libssh = AES-256-CBC+
Вы также можете редактировать другой файл:
После сохранения изменений примените модули:
Чтобы изменения были применены, перезагрузите систему.
После загрузки системы проверьте новую политику и подполитику:
Повторное включение SHA-1
Обычно алгоритм SHA-1 отключен в политике DEFAULT.
Однако вы можете оказаться в ситуации, когда вам необходимо использовать SHA-1 для проверки существующих или сторонних криптографических подписей.
Вы можете включить его, применив в качестве подполитики.
Эта политика предусмотрена в RHEL9 в политике DEFAULT.
Для системы, использующей политику DEFAULT, установите подполитику SHA1 с помощью команды:
Перезапустите систему:
Проверьте набор подполитик:
#6. Создание пользовательской общесистемной криптографической политики
Вы можете создать полностью индивидуальную общесистемную криптографическую политику для своей системы.
Сначала создайте файл политики:
Этот файл также может быть создан путем копирования предопределенной политики из 4 доступных уровней политики.
Например;
Теперь отредактируйте файл в соответствии с вашими требованиями:
После редактирования примените политику с помощью команды:
Перезагрузите систему, чтобы изменения вступили в силу.
Заключение
На этом заканчивается данное руководство по настройке общесистемных криптографических политик на RHEL / CentOS / Rocky / AlmaLinux.
см. также:
- 🐧 LFCA: как повысить безопасность системы Linux
- 🐧 Безопасность Linux: как удалить устаревшие сетевые службы
- 📀 Pentoo – ориентированный на безопасность дистрибутив Linux на основе Gentoo
- 🐧 Поиск файлов, измененных за последние N минут на Linux
- 🐧 20 полезных функций и инструментов безопасности для администраторов Linux
- 🐉 Различные инструменты сканирования уязвимостей Kali Linux