Вопрос или проблема
Я хочу избегать устаревших и слабых шифров на своем Solaris KDC, используя только AES.
Я отредактировал kdc.conf
master_key_type = aes256-cts-hmac-sha1-96
supported_enctypes = aes256-cts-hmac-sha1-96:normal aes128-cts-hmac-sha1-96:normal
это строки для krb5.conf
default_tgs_enctypes = aes256-cts-hmac-sha1-96 aes128-cts-hmac-sha1-96
default_tkt_enctypes = aes256-cts-hmac-sha1-96 aes128-cts-hmac-sha1-96
permitted_encryptes = aes256-cts-hmac-sha1-96 aes128-cts-hmac-sha1-96
Перезапустите kdc и kadmin и..
kadmin -p kws/admin -wmypassword
Аутентификация как принципал kws/admin с паролем.
kadmin:
addprinc NFS/[email protected]
ktadd -k nfs.keytab -e aes256-cts-hmac-sha1-96 NFS/[email protected]
ktadd: Неверный аргумент при разборе keysalts aes256-cts-hmac-sha1-96
Пробую по умолчанию..
ktadd -k nfs.keytab NFS/[email protected]
Запись для принципала NFS/[email protected] с kvno 3, тип шифрования AES-256 CTS в режиме с 96-битным SHA-1 HMAC добавлена в keytab WRFILE:nfs.keytab.
Запись для принципала NFS/[email protected] с kvno 3, тип шифрования AES-128 CTS в режиме с 96-битным SHA-1 HMAC добавлена в keytab WRFILE:nfs.keytab.
Запись для принципала NFS/[email protected] с kvno 3, тип шифрования Triple DES cbc в режиме с HMAC/sha1 добавлена в keytab WRFILE:nfs.keytab.
Запись для принципала NFS/[email protected] с kvno 3, тип шифрования ArcFour с HMAC/md5 добавлена в keytab WRFILE:nfs.keytab.
Запись для принципала NFS/[email protected] с kvno 3, тип шифрования DES cbc в режиме с RSA-MD5 добавлена в keytab WRFILE:nfs.keytab.
Почему генерировать ключи des? Можно ли заставить использовать шифр AES вместо этого?
ИЗМЕНЕНИЕ: Я нашел способ создать только ключи aes256
ktadd -e aes256-cts:normal -k nfs.keytab NFS/[email protected]
Вопрос все еще остается в том, чтобы найти способ заставить/сгенерировать только aes256 ключи.
Ожидая лучшего решения, я использую этот обходной путь для создания ключей
ktadd -e aes256-cts:normal -k nfs.keytab NFS/[email protected]
Ответ или решение
Для того чтобы на вашем KDC (Key Distribution Center) под управлением Solaris генерировались только ключи AES (Advanced Encryption Standard) и избегать использования устаревших и слабых шифров, необходимо выполнить несколько шагов конфигурации. Ваша цель – обеспечить использование только AES-256 для всех новых принципалов. В этом ответе будут рассмотрены ключевые аспекты и шаги, которые помогут выполнить вашу задачу.
1. Конфигурация KDC
Вы уже внесли изменения в файл конфигурации kdc.conf
. Убедитесь, что он содержит следующие строки:
master_key_type = aes256-cts-hmac-sha1-96
supported_enctypes = aes256-cts-hmac-sha1-96:normal aes128-cts-hmac-sha1-96:normal
Эти строки определяют, что мастер-ключ и поддерживаемые типы шифрования KDC будут ограничены только шифрами AES-256 и AES-128.
2. Настройка krb5.conf
Также важно обновить файл krb5.conf
, чтобы настроить шифры по умолчанию. Убедитесь, что в нем есть следующие параметры:
default_tgs_enctypes = aes256-cts-hmac-sha1-96
default_tkt_enctypes = aes256-cts-hmac-sha1-96
permitted_enctypes = aes256-cts-hmac-sha1-96
Эти параметры устанавливают шифры по умолчанию для TGS (Ticket Granting Service) и TGT (Ticket Granting Ticket), а также разрешенные типы шифрования.
3. Перезапуск служб
После внесения изменений в конфигурационные файлы, перезапустите службы KDC и kadmin, чтобы они применили новую конфигурацию:
svcadm restart kerberos
4. Создание принципалов с использованием AES-256
Теперь, когда конфигурация обновлена, вы можете снова попробовать создать принципал с использованием AES-256. Если вы хотите создать принципал и добавить его в keytab, выполните следующую команду:
kadmin -p kws/admin -wmypassword
addprinc -randkey NFS/[email protected]
ktadd -e aes256-cts-hmac-sha1-96 -k nfs.keytab NFS/[email protected]
Если вы все еще столкнетесь с проблемами при генерации ключей, возможно, потребуется использовать явное указание типа шифрования, как вы уже делали:
ktadd -e aes256-cts:normal -k nfs.keytab NFS/[email protected]
5. Удаление старых ключей
Для того чтобы предотвратить использование устаревших шифров и ключей, денормализуйте и удалите старые принципалы с устаревшими шифрами. Используйте команду kadmin
для удаления нежелательных ключей:
kadmin -p kws/admin -wmypassword
delete_principal NFS/[email protected]
6. Проверка ключей в keytab
После создания ключей в keytab
, проверьте их с помощью команды kvno
:
klist -k nfs.keytab
Эта команда покажет, какие ключи хранятся в вашем keytab
, и уверяет, что только AES-256 ключи присутствуют.
Заключение
Для того чтобы обеспечить использование только AES-256 шифрования на вашем KDC в Solaris, необходимо тщательно настраивать конфигурационные файлы и следить за созданием новых принципалов с правильно заданными параметрами шифрования. Применяя указанные шаги, вы избежите создания ненужных ключей с устаревшими алгоритмами, что обеспечит безопасность ваших данных.
Если у вас остались вопросы или необходима дополнительная помощь, не стесняйтесь обращаться.