익명 사용자가 sudoers LDAP 구성을 쿼리하지 못하도록 제한하는 이상적인 방법

익명 사용자가 sudoers LDAP 구성을 쿼리하지 못하도록 제한하는 이상적인 방법

sudoers 공식 웹사이트에서 제공하는 지침을 사용하여 sudoers ldap(openldap을 백엔드 LDAP으로 사용)을 구성했습니다. (협회)

또한 제한됨/etc/sudo-ldap.conf그리고600뿌리 : 뿌리컴퓨터의 일반 사용자가 어떤 LDAP 서버와 통신하고 있는지 알 수 없도록 하는 권한입니다.

그러나 LDAP 서버는 현재 sudoers OU를 포함한 모든 것에 대한 익명 액세스를 허용합니다. 어떤 방식으로든 LDAP 서버의 sudoers OU(예: ou=sudoers, dc=example, dc=com)를 특정 사용자로 제한하고 나머지 LDAP 구조는 익명 액세스를 위해 열어둘 수 있습니까? (액세스 제어를 수행하는 올바른 방법을 찾을 수 없습니다)

구성 세부정보:

slapd.conf:

access to dn.subtree="dc=example,dc=com"
        by * read

sudo-ldap.conf:

uri ldap://LDAP_SERVER
sudoers_base ou=sudoers,dc=example,dc=com

자세한 내용이 필요하면 알려주시기 바랍니다.

답변1

올바른 방법을 찾았습니다.

  • LDAP에서 새 사용자 만들기cn=sudoread,dc=example,dc=com
cat > /tmp/tmplif <<EOF
dn: cn=sudoread,dc=example,dc=com
objectClass: top
objectClass: person
cn: sudoread
sn: read
userPassword: sudoread
EOF
$ ldapadd -H ldap://localhost -f /tmp/tmplif -D 'cn=root,dc=example,dc=com' -W
$ printf "sudoread" | base64
c3Vkb3JlYWQ=

  • ou=sudoers,dc=example,dc=com모든 액세스 권한을 부여하기 전에 위에서 생성한 사용자에게 액세스 권한을 부여하세요.
access to dn.one="ou=sudoers,dc=example,dc=com"
        by dn="cn=sudoread,dc=example,dc=com" read
access to *
        by * read
  • sudo-ldap.conf에서 바인딩 및 바인딩 매개변수를 사용하십시오.
$ cat >> /etc/sudo-ldap.conf <<EOF
binddn cn=sudoread,dc=example,dc=com
bindpw base64:c3Vkb3JlYWQ=
EOF

그러면 LDAP를 쿼리하는 데 사용할 수 있는 사용자가 생성되고 나머지 LDAP의 모든 항목에 대한 액세스 권한이 유지됩니다.

관련 정보