Como eu adiciono o olcAuditLogConfig ao openldap no Centos 6

4

Em relação ao 'homem slapo-auditlog' eu só preciso adicionar o seguinte.

dn: olcOverlay=auditlog,olcDatabase={1}hdb,cn=config
changetype: add
objectClass: olcOverlayConfig
objectClass: olcAuditLogConfig
olcOverlay: auditlog
olcAuditlogFile: /tmp/auditlog.ldif

Primeiro, o "olcOverlay = auditlog" não é instalado por padrão no Centos 6. Então eu não posso adicionar isso a nada. Se eu remover "changetype: add", recebo este erro.

additional info: objectClass: value #1 invalid per syntax

Descobri que eu poderia criar meu próprio cn = module, e depois disso o olcAuditLogConfig existia, e eu poderia executar o LDIF acima. Mas ainda não recebo nenhum log de auditoria.

dn: cn=module{0},cn=config
objectClass: olcModuleList
cn: module{0}
olcModulePath: /usr/lib64/openldap/
olcModuleLoad: auditlog.la

Minha configuração LDAP pode ser encontrada aqui (agora ligeiramente modificada em meu próprio servidor)

Como eu configuro o LDAP no Centos 6 para autenticação do usuário da maneira mais segura e correta?

    
por Arlukin 25.10.2011 / 00:08

2 respostas

2

Agora tenho tudo para funcionar e fiquei muito próximo da solução. Foi um problema de permissão. É assim que você adiciona o auditlog ao openldap instalado no Centos 6.

Primeiro, ative o módulo.

ldapadd -H ldaps://ldap.example.net -x -D "cn=admin,cn=config" -w secret << EOF
dn: cn=module{0},cn=config
objectClass: olcModuleList
cn: module{0}
olcModulePath: /usr/lib64/openldap/
olcModuleLoad: auditlog.la
EOF

Configure uma pasta onde o ldap tenha permissão para escrever.

mkdir slapd
chmod 755 /var/log/slapd/
chown ldap:ldap /var/log/slapd/
ls -alvhZ /var/log/slapd/

Em seguida, configure a sobreposição olcAuditLogConfig.

ldapadd -H ldaps://ldap.example.net -x -D "cn=admin,cn=config" -w secret << EOF
dn: olcOverlay=auditlog,olcDatabase={1}bdb,cn=config
changetype: add
objectClass: olcOverlayConfig
objectClass: olcAuditLogConfig
olcOverlay: auditlog
olcAuditlogFile: /var/log/slapd/auditlog.log
EOF

Insira algo no banco de dados.

ldapadd -H ldaps://ldap.example.net -x -D "cn=admin,cn=config" -w secret << EOF
dn: cn=management11191,ou=group,dc=example,dc=net
cn: management11191
objectClass: posixGroup
gidNumber: 2005
memberUid: user1
memberUid: user3
EOF

E verifique o arquivo auditlog, se você ver algum conteúdo que ele funciona.

$ cat /var/log/slapd/auditlog.log
...
$ ls -alvhZ  /var/log/slapd/auditlog.log
-rw-r--r--. ldap ldap unconfined_u:object_r:slapd_log_t:s0 /var/log/slapd/auditlog.log
    
por 25.10.2011 / 14:20
1
  1. Você precisa instalar o pacote openldap-servers-overlays :

    Name       : openldap-servers-overlays
    Arch       : x86_64
    Version    : 2.3.43
    Release    : 12.el5_7.9
    Size       : 358 k
    Repo       : installed
    Summary    : Overlays for OpenLDAP server.
    URL        : http://www.openldap.org/
    License    : OpenLDAP
    Description: OpenLDAP is an open-source suite of LDAP (Lightweight Directory Access
               : Protocol) applications and development tools. LDAP is a set of
               : protocols for accessing directory services (usually phone book style
               : information, but other information is possible) over the Internet,
               : similar to the way DNS (Domain Name System) information is propagated
               : over the Internet.
               : 
               : This package contains overlay modules for OpenLDAP server daemon.
    
  2. Descomente o módulo auditlog em slapd.conf :

    modulepath  /usr/lib64/openldap
    moduleload auditlog.la
    
  3. Especifique o arquivo auditlog :

    database    bdb
    
    overlay     auditlog
    auditlog    /tmp/audit.log
    
    suffix      "dc=domain,dc=com"
    rootdn      "cn=Manager,dc=domain,dc=com"
    
  4. Modifique / adicione alguns valores aos atributos e dê uma olhada no acima do log, você verá algo assim:

    # modify 1319524581 dc=domain,dc=com cn=Manager,dc=domain,dc=com
    dn: cn=xx,ou=yy,dc=domain,dc=com
    changetype: modify
    replace: initials
    initials: Hai
    initials: Do
    -
    replace: entryCSN
    entryCSN: 20111025063621Z#000000#00#000000
    -
    replace: modifiersName
    modifiersName: cn=Manager,dc=domain,dc=com
    -
    replace: modifyTimestamp
    modifyTimestamp: 20111025063621Z
    -
    # end replace 1319524581
    
por 25.10.2011 / 08:44