FreeIPAでのSSHFPレコードの生成


2

私のセットアップ

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サーバインストール 動作しません(または、おそらくもっと、私はそれを理解していません)。

クライアント側

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

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接続できません。 host-1-eth1 パスワードを使用しない方法で(つまり、SSOがセカンダリネットワークで機能していない)。

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

  1. 未知のSSHホストキーを受け入れるように促すプロンプト
  2. ユーザーのパスワードを求めるプロンプト

セカンダリホスト名を使用してホストにSSH接続したときに、ユーザパスワードの入力を求められることはありません。セカンダリホスト名を使用してホストにSSHで接続しようとしたときに回避できない、未知のSSHホストキーを受け入れるように指示するプロンプトです。そしてこれは起こっている...

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

セカンダリホスト名用に生成された必要なSSHFP DNSレコードを取得するには、FreeIPAをどのように使用する必要がありますか?明らかに、よりも イパ加入 私はやっている必要があります。

回答:


0

おそらくあなたが好む答えではありませんが、私はまたDNSでSSHFP RRを検討しましたが、以下の理由のためにこれをあきらめました:

  1. クライアントサポートが必要です(オプションを参照) VerifyHostKeyDNS OpenSSHクライアント用)
  2. あなたはDNSSECであなたのDNSゾーンに署名し、本当に安全であるために署名をチェックするためにローカルリゾルバを持つ必要があります。それ以外の場合、DNSレコードは簡単になりすまし可能です。
  3. いくつかのより大きな環境では、DNSサーバーを担当する人々とそれを調整するのはかなり難しいです。 SSHサーバーが多数ある場合は動的DNS更新が必要になることに注意してください。

私は強く検討することをお勧めします OpenSSH証明書 信頼できる認証局がすべてのホスト鍵に署名できるようにします。これもクライアントサポートを必要とし(例えばPuTTYではサポートされていません)、SSH-CAの公開鍵をすべてのクライアントに配布しなければなりません。しかし、それはDNSSECやIMHOよりも安全です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.