
数か月前に freeipa をインストールしました。しかし、最近になって IPA サーバーで管理を続行しようとしたところ、ログインできなくなりました。
IPA システムにログインできない場合でも、DNS はプライベート ネットワークで問題なく動作しています。httpd セットアップで letsencrypt 証明書を使用しています。
$ipa-pkinit-manage ステータス
PKINIT is enabled
The ipa-pkinit-manage command was successful
$クリスト
Ticket cache: KCM:0
Default principal: [email protected]
Valid starting Expires Service principal
31.08.2020 16.12.30 01.09.2020 16.12.25 krbtgt/[email protected]
$ipa -v ピング
ipa: ERROR: cannot connect to 'https://serenity.example.com/ipa/json': [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:897)
/var/log/httpd/error_log を cat する
[Mon Aug 31 16:31:30.125325 2020] [wsgi:error] [pid 9761:tid 139962713196288] [remote 10.0.12.31:58490] ipa: INFO: 401 Unauthorized: HTTPSConnectionPool(host='serenity.example.com', port=443): Max retries exceeded with url: /ipa/session/cookie (Caused by SSLError(SSLError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:897)'),))
Web UI ログイン:
Login failed due to an unknown reason
注: ドメイン領域を example.com に変更しました
この問題の原因は何ですか? また、どのように修正しますか?
答え1
次の内容をご覧ください:
- /etc/ipa/ca.crt
- /var/lib/ipa-client/pki/ca-bundle.pem
- /var/lib/ipa-client/pki/kdc-ca-bundle.pem
https に letsencrypt と自己署名 CA を使用している場合は、それぞれに複数の証明書が存在するはずです。letsencrypt ルート CA を追加する前に登録されたクライアントには、これらの 3 つのファイルからの追加証明書がありませんでした。
私は参照しましたhttps://github.com/freeipa/freeipa-letsencryptipa-cacert-manage (ルート CA を freeipa の信頼に追加する) と ipa-certupdate (freeipa 信頼内のすべての証明書をクライアントに引き出す) を備えた letsencrypt に切り替える際、後から気づいたのですが、letsencrypt を使用するために https に切り替える前に、すべてのクライアントで ipa-certupdate を実行する必要があったのです。