답변:
퀀 타의 ACL은 나쁜 것이 아니라 질문에 대답하는 것입니다.
ldapmodify를
DN : CN = 구성
changeType 적용 : 수정
추가 : olcDisallows
olcDisallows : bind_anon
-dn : olcDatabase = {-1} frontend, cn = config
변경 유형 : 수정
추가 : olcolc
요구 사항 : authc
ldapmodify는 공백에 민감하므로 직선 복사 붙여 넣기가 작동하지 않으며 제대로 인증되지 않을 수도 있습니다. 또한 사용하는 dn은 cn = config db에 대한 쓰기 액세스 권한이 필요합니다.
같은 주제의 변형으로 시도해 보았습니다. SysadminTalk의 LDAP 보안 팁
요약:
1) 파일을 작성 disable_anon_frontend.ldif
하고 다음 내용으로 호출하십시오 .
dn: olcDatabase={-1}frontend,cn=config
add: olcRequires
olcRequires: authc
2) disable_anon_backend.ldif
다음 내용으로 불리는 다른 파일을 만듭니다 .
dn: olcDatabase={1}hdb,cn=config
add: olcRequires
olcRequires: authc
3) 그런 다음 서버에서 다음 명령을 실행하여 LDAP를 수정하십시오.
sudo ldapmodify -Q -Y EXTERNAL -H ldapi:/// -f disable_anon_frontend.ldif
sudo ldapmodify -Q -Y EXTERNAL -H ldapi:/// -f disable_anon_backend.ldif
4) 다음과 같은 익명 쿼리를 실행하여 확인 ldapsearch -x -LLL -H ldap:/// -b dc=example,dc=domain,dc=com dn
(사용에 dc=...
적용 가능한 설정).
아래 오류 메시지가 표시되면 익명 액세스가 성공적으로 비활성화 된 것입니다.
Server is unwilling to perform (53)
Additional information: authentication required
행운을 빕니다!
나는 테스트하지 않았지만 다음과 같이 시도하십시오.
dn: olcDatabase={1}hdb,cn=config
add: olcAccess
olcAccess: to attrs=userPassword
by dn="cn=admin,dc=example,dc=com" write
by self write
by * none
olcAccess: to dn.base=""
by users read
by * none
olcAccess: to *
by dn="cn=admin,dc=example,dc=com" write
by * none