이상한 문제가 있습니다. kerberos/openldap 환경이 벽돌로 덮여 있습니다. 내가 시도하는 모든 결과가 SERVER_NOT_FOUND
PERMISSION_DENIED
, , 에 INSUFFICIENT ACCESS
다양하게 변경되기 때문에 새 사용자, 컴퓨터 또는 기타 항목을 추가할 수 없습니다. CLIENT_NOT_FOUND
Kerberos 환경을 수정하지 않은 경우(예: 1년 동안) 이런 일이 일반적으로 발생합니까?
그 목적은 NFS 공유를 보호하는 것입니다. 이제 데이터를 복제하기 위해 또 다른 NFS 공유를 추가하고 싶지만 어떤 방식으로도 구성을 변경할 수 없습니다.
로 로그인했지만 root
다음 kadmin.local
을 사용하여 다음 작업을 수행할 수 없습니다.
- 새로운 관리자 생성
- 관리 사용자의 비밀번호를 변경하십시오.
- 관리자로 로그인
- 주 구성원 추가
나는 이것을 할 수 있다:
- openLDAP 비밀번호를 사용하여 명령(예: 항목 추가)을 실행합니다.
나는 또한 이것을 할 수 있습니다 :
- 기존 공유를 설치하고 사용합니다. (이것은 openLDAP와 krb5가 모두 여전히 실행 중임을 의미하며 어떤 구성도 변경할 수 없습니다.)
이런 것들을 확인했습니다.
- krb5kdc/openldap이 실행 중입니다.
- ACL은 .acl 파일에 설정됩니다.
- 도메인 이름, 도메인 이름 등이 정확합니다.
- 호스트 파일은 도메인 이름을 로컬 호스트로 가리킵니다.
- krb5kdc, slapd, kadmind는 해당 포트에서 수신 대기 중입니다.
- 방화벽 규칙이 없습니다.
- 의류/SELinux가 존재하지 않습니다.
이러한 오류는 다양한 시스템에서 뱉어집니다. 예: 다음 krb5kdc
을 통해 본문을 추가하려는 경우 kadmin.local
:
10.0.26.21: SERVER_NOT_FOUND: kadmin/[email protected] for kadmin/[email protected], Server not found in Kerberos database
kadmin이 말했지만 :Principal add failed: Insufficient access while creating "[email protected]@COMPANY.COM"
이것은 캐치-22를 생성합니다. 어떻게든 주체를 추가하려면 주체가 필요합니까? 내 생각에는 kadmin.local
이것이 설정을 생성할 때 "부트스트래핑" 메커니즘인 것 같습니다. 오류 메시지는 의미가 없습니다.
로그인을 시도해 kadmin/admin
도 작동하지 않습니다. 에서 동일한 메시지가 나타납니다 krb5kdc
.
나는 또한 이것을 보았는데 흥미롭다고 생각했습니다 preauth spake failed to initialize: No SPAKE preauth groups configured
. 이 마법(이해할 수 없는 두문자어가 왜 나오는지)을 검색해도 SPAKE
유용한 결과가 나오지 않았습니다.
slapcat
LDAP 데이터베이스의 모든 항목을 나열하려고 하면 . LDAP에 관한 한 로그인이 진행되지 않습니다 kadmin/admin
. krbLoginFailedCount: 0
아마도? 문서(이러한 구성 요소가 서로 어떻게 상호 작용합니까?)가 형편없기 때문에 이것이 무엇을 의미하는지 모르겠습니다.
lo
패킷 캡처를 시도했지만 all interfaces
LDAP 트래픽이 전혀 전송되지 않았습니다. Even 및 둘 다 다음 부분을 /etc/krb5.conf
갖습니다 /etc/krb5kdc/kdc.conf
.
[dbmodules]
openldap_ldapconf = {
ldap_servers = ldapi:///
궤도에서 발사하고 처음부터 시작하기 전에 시도해 볼 수 있는 다른 것이 있나요?
답변1
아니요, 그럴 수 없습니다.
10.0.26.21: SERVER_NOT_FOUND: kadmin/[email protected] for kadmin/[email protected], Server not found in Kerberos database
"kadmin.local"을 전혀 사용하고 있지 않은 것 같습니다. 비록 그렇긴 하지만정상kadmin/<fqdn>
주체가 존재하지 않지만(선호되는 경우 ) kadmin/admin
RPC 기반 "kadmin"만 먼저 이러한 티켓을 가져오고 "kadmin.local"은 LDAP 데이터베이스에 직접 액세스합니다.
또한 오류 메시지를 보면 을(를) 사용하고 있는 것으로 보입니다 -p kadmin/admin
. 이렇게 하지 마세요. 이는 "user" 또는 "admin" 주체가 아닌 서비스 주체입니다. (Kadmin.local은 Kerberos 자체를 사용하지 않기 때문에 주체가 전혀 필요하지 않습니다.)
kadmin이 다음과 같이 말했지만: 주체 추가 실패: 생성 시 액세스 권한이 부족합니다."[이메일 보호됨]@COMPANY.COM”
액세스 문제는 제쳐두고, 이는 Kerberos 주체 이름에 대한 유효한 구문처럼 보이지 않습니다. 이 형식은 일반적으로 GSSAPI에서 사용되지만 Kerberos로 service@fqdn
변환되었습니다 .service/fqdn
이것은 캐치-22를 생성합니다. 어떻게든 주체를 추가하려면 주체가 필요합니까? 내 생각에 kadmin.local은 설정을 생성할 때 "부트스트랩" 메커니즘이라는 것입니다. 오류 메시지는 의미가 없습니다.
실제로 그렇지 않습니다. 왜냐하면전혀표시한 내용이 인쇄됩니다 kadmin.local
. 일반 네트워크 기반 시스템을 실행하려는 것 같습니다 kadmin
. (전자의 내용이 후자의 내용을 덮어쓰게 만드는 파일 시스템 손상이 있습니까? 누군가 실수로 cp
다른 내용을 덮어썼습니까?)
slapcat을 사용해 ldap 데이터베이스의 모든 내용을 나열한 결과 kadmin/admin에 해당 내용이 있는 것으로 나타났습니다
krbLoginFailedCount: 0
. 그러면 LDAP에 관한 한 로그인이 이루어지지 않았습니까?
이는 클라이언트(사용자) 주체가 아닌 서비스 주체이므로 로그인이 이루어지지 않습니다. 이 속성은 kinit
특정 서비스에 대해 발행된 티켓 수가 아니라 사용자 계정에서 수행된 작업 수만 추적합니다 .
(호스트 주체는 일반적으로 클라이언트이자 서비스이지만, 그렇지 않습니다.)
클라이언트 주체의 경우에도 KDC에 백엔드 LDAP 데이터베이스에 대한 읽기 전용 액세스 권한이 부여된 경우 이 값이 0인 경우가 많습니다.
LDAP에 관해서는 아직 로그인하지 않으셨나요? 아마도? 문서(이러한 구성 요소가 서로 어떻게 상호 작용합니까?)가 형편없기 때문에 이것이 무엇을 의미하는지 모르겠습니다.
이 경우 LDAP는 실제로 멍청한 데이터베이스에 지나지 않습니다. krb5kdc 서비스(또는 kadmin.local 도구)가 여기에 연결하여 일부 데이터를 읽거나 씁니다. 거기예Kerberos 인증과 상호 작용하지 않거나 kinit
기껏해야 서비스에 krb5kdc 및 kadmin.local이 데이터베이스 콘텐츠에 액세스하는 데 사용하는 LDAP 비밀번호(ldap.stash에 있음)가 있습니다.
나는 또한 이것을 보았는데 흥미롭다고 생각했습니다. preauth speaking failed to 초기화: No SPAKE preauth groupsconfigured. 이 마법의 SPAKE(이해할 수 없는 약어인 이유)를 검색해도 유용한 결과가 나오지 않았습니다.
약어에 관한 한 이는 "RSA" 또는 "AES"와 같은 계열에 속합니다. 비밀번호 기반 kinit
네트워크 모니터링(오프라인 비밀번호 크래킹)을 강화하기 위해 선택적으로 사용할 수 있는 암호화 알고리즘입니다.
SPAKE는 선택 사항입니다. 기존 레거시(타임스탬프) 사전 인증 메커니즘이 항상 작동합니다.
lo 또는 모든 인터페이스에서 패킷 캡처를 시도했지만 LDAP 트래픽이 전혀 전송되지 않습니다. /etc/krb5.conf 및 /etc/krb5kdc/kdc.conf에도 다음 섹션이 있습니다.
ldap_servers = ldapi:///
그건왜냐하면이런 부분이 있습니다. /run/openldap/ldapi
로컬 TCP 연결 대신 Unix 소켓을 사용하도록 LDAP 클라이언트 코드에 지시합니다 .
olcLogLevel
진행 중인 쿼리에 대한 자세한 정보를 얻으 려면 LDAP 서버를 전환하세요 stats
.