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. 저는 이것을 "보조" 네트워크라고 부르겠습니다. 이 두 번째 인터페이스가 있는 호스트의 경우 보조 호스트 이름과 보조 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를 통해 연결할 수 없습니다.호스트-1-eth1비밀번호 없는 방식으로(즉, SSO가 보조 네트워크에서 작동하지 않음)

SSH에서 수신할 수 있는 두 가지 프롬프트가 있습니다.

  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 및 IMHO보다 더 안전합니다.

관련 정보