FreeIPA での SSHFP レコードの生成

FreeIPA での SSHFP レコードの生成

私のセットアップ

Centos 7.3 を実行しているマシンのクラスターがあり、認証に Kerberos / LDAP を使用しています。Kerberos / LDAP は FreeIPA 4.4.0 にパッケージ化されています。

すべてのホストにはアドレスがあります192.168.1.0/24これを「プライマリ」ネットワークと呼びます。

一部のホストのアドレスは192.168.2.0/24これを「セカンダリ」ネットワークと呼びます。この2番目のインターフェースを持つホストの場合、セカンダリホスト名とセカンダリIPアドレスを関連付けるDNSの対応する追加のA / PTRエントリがあります。すべての場合において、セカンダリホスト名は<プライマリホスト名>-eth1

私の目標

クラスター全体に SSO を実装する作業を行っています。プライマリ ネットワークでは SSO は正常に動作していますが、セカンダリ ネットワークでは動作していません。

これまでの仕事: サーバーサイド

サーバーを次のように構成しました。

ipa-server-install \
-r ME.EXAMPLE.COM \
-n me.example.com \
--mkhomedir \
--hostname=host-1.me.example.com \
--ip-address=192.168.1.1 \
--ssh-trust-dns \
--setup-dns \
--auto-forwarders \
--forward-policy=only \
--auto-reverse \
--dirsrv-cert-file=<path to server SSL certificate> \
--http-cert-file=<path to server SSL certificate> \
--no-dnssec-validation

サーバーのインストールが完了したら、次の PTR レコードを DNS に手動で追加する必要もあります。

1.1.168.192.in-addr.arpa PTR host-1.me.example.com

どうやら、私はこれをしなければならないようです--自動反転フラグをipa-server-インストール動作しません(または、おそらく、私が理解していない可能性があります)。

これまでの仕事: クライアント側

クライアントマシンを次のように構成しました。

ipa-client-install \
--force-ntpd \
-p admin \
-W \
--mkhomedir \
--no-nisdomain \
--ssh-trust-dns

サーバーのインストールと同様に、クライアントの DNS PTR レコードも手動で追加する必要がありました。FreeIPA によって作成された転送 A レコードは、すべてのケースで問題ありませんでした。

次に、セカンダリ ホスト名を FreeIPA に登録するために、クライアントで次の操作を実行しました。

kinit admin
ipa-join -h host-1-eth1.me.example.com

以前と同様に、これによりフォワード DNS A レコードが作成されましたが、対応する DNS PTR レコードを手動で追加する必要がありました。

問題

問題が起きているのはセカンダリネットワークです。例えば、SSHでホスト-1パスワードなしで(つまり、プライマリネットワークでSSOが機能している)SSHで接続できないホスト-1-eth1パスワードなしで(つまり、セカンダリ ネットワークでは SSO が機能しません)。

SSH から受け取るプロンプトは 2 つあります。

  1. 不明なSSHホストキーを受け入れるためのプロンプト
  2. ユーザーのパスワードの入力を求めるプロンプト

セカンダリ ホスト名を使用してホストに SSH 接続する場合、ユーザー パスワードの入力を求められません。セカンダリ ホスト名を使用してホストに SSH 接続しようとすると、不明な SSH ホスト キーを受け入れるように求めるプロンプトが表示され、回避できません。この現象が発生するのは、次の理由によるものです...

セカンダリ ホスト名に対して SSHFP DNS レコードが生成されていないことがわかりました。プライマリ ホスト名に関連付けられているのと同じ SSH ホスト キーがすべてセカンダリ ホスト名に関連付けられている必要があります。しかし、これは実行されていません。

セカンダリホスト名に必要なSSHFP DNSレコードを生成するためにFreeIPAをどのように使用すればよいでしょうか?ipa 参加私がやっていることは必要です。

答え1

おそらくあなたが望む答えではないかもしれませんが、DNS での SSHFP RR も検討しましたが、次の理由によりこれを断念しました。

  1. クライアントのサポートが必要です(オプションを参照)ホストキーDNSの検証OpenSSH クライアントの場合)。
  2. 本当に安全であるためには、DNSSEC を使用して DNS ゾーンに署名し、ローカル リゾルバで署名を確認する必要があります。そうしないと、DNS レコードが簡単に偽装される可能性があります。
  3. 大規模な環境では、DNS サーバーの責任者と調整するのはかなり困難です。SSH サーバーが多数ある場合は、動的 DNS 更新が必要になることを覚えておいてください。

ぜひ調べてみることをおすすめしますOpenSSH 証明書信頼できる証明機関がすべてのホスト キーに署名できるようにします。これにはクライアント サポートも必要であり (たとえば、PuTTY ではサポートされていません)、SSH-CA の公開キーをすべてのクライアントに配布する必要があります。ただし、DNSSEC よりも簡単で、より安全だと思います。

関連情報