Configuração do OpenLDAP

A configuração do OpenLDAP é feita quase que exclusivamente no seu arquivo de configuração “slapd.conf” que se encontra no diretório /etc/ldap

O arquivo ldap.conf é destinado às configurações de ferramentas “cliente” para acesso a uma base LDAP.

Dissecando o slapd.conf

Edite o arquivo com o editor de sua preferência. Vamos comentar todas as opções:

# Allow LDAPv2 binds
allow bind_v2

- Esta opção permite o uso da versão 2 do protocolo LDAP. Muito útil, pois alguns serviços utilizam somente essa versão.

# This is the main slapd configuration file. See slapd.conf(5) for more
# info on the configuration options.

#####################################################
# Global Directives:
# Schema and objectClass definitions
include /etc/ldap/schema/core.schema
include /etc/ldap/schema/cosine.schema
include /etc/ldap/schema/nis.schema
include /etc/ldap/schema/inetorgperson.schema

- É nesta parte onde se incluem os arquivos de schema para que os objetos e seus atributos estejam disponíveis para uso. Perceba que há uma linha para cada schema e que o caminho é completo.

# Where the pid file is put. The init.d script
# will not stop the server if you change this.
pidfile /var/run/slapd/slapd.pid

- Onde será salvo o arquivo contendo o PID do processo de execução do OpenLDAP. Perceba que se você mudar esta opção o script de inicialização em /etc/init.d não conseguirá parar o serviço.

# List of arguments that were passed to the server
argsfile /var/run/slapd/slapd.args

- O OpenLDAP permite que alguns argumentos sejam passados no momento de sua execução. Esses argumentos devem ser definidos no arquivo definido nesta opção.

# Read slapd.conf(5) for possible values
loglevel 0

- Nível de registro de atividades no OpenLDAP. O nível 0 determina que não se faça registro de atividades. Os níveis de atividade (log), serão detalhados mais adiante, neste manual.

# Where the dynamically loaded modules are stored
modulepath /usr/lib/ldap
moduleload back_bdb

- Esta opção define o diretório dos módulos do OpenLDAP, além da sua ativação. Esses módulos permitem a ativação de recursos extras. Diversos recursos como o “ppolicy” que permite definições elaboradas de políticas de acesso e o “syncprov” que permite a ativação de uma das forma de replicação, são exemplos de módulos.

# The maximum number of entries that is returned for a search operation
sizelimit 500

- Esta opção define o retorno máximo a uma consulta feita na base OpenLDAP. Portanto se alguma pesquisa tiver que retornar mais do que 500 resultados será necessário aumentar este valor. Se o valor de sizelimit for definido como -1 então o retorno será ilimitado.

# The tool-threads parameter sets the actual amount of cpu’s that is used
# for indexing.
tool-threads 1

- Esta opção define o número de CPU’s que serão utilizadas para a indexação da base de dados. Se o servidor tiver mais de um processador, aumente este número.

#####################################################
# Specific Backend Directives for bdb:
# Backend specific directives apply to this backend until another
# ‘backend’ directive occurs
backend bdb

- Esta opção define qual será o “backend” que será utilizado. Por padrão utiliza-se bdb.

checkpoint 512 30

- Este é um ajuste fino à operação da base de dados BDB. Esta diretiva especifica quando o BDB deve adicionar um ponto de checagem em seus logs de transação. Neste caso depois de 512 Kbytes ou após 30 minutos desde a última checagem, o que acontecer primeiro.

OBSERVAÇÃO: quanto maior for o intervalo entre checkpoints, maior será a probabilidade de que alterações à base de dados sejam irrecuperáveis caso haja uma eventual falha de sistema. Entretanto, se a base de dados não sofrer alterações constantes esse parâmetro pode reduzir a atividade do disco.

#####################################################
# Specific Directives for database #1, of type bdb:
# Database specific directives apply to this databasse until another
# ‘database’ directive occurs
database bdb

- Esta opção ativa a primeira base de dados. Neste caso iremos utilizar BDB.

# The base of your directory in database #1
suffix “dc=kyapanel,dc=com,dc=br”

- O sufixo aqui definido é na verdade a raiz da base de dados. Como o Debian criou a base automaticamente, ele utilizou o nome do nosso servidor.

# Where the database file are physically stored for database #1
directory “/var/lib/ldap”

- Diretório onde a base de dados bdb será armazenada.

# For the Debian package we use 2MB as default but be sure to update this
# value if you have plenty of RAM
dbconfig set_cachesize 0 20971520 0

- Esta é uma definição da base de dados DBD. Por padrão o OpenLDAP define 2Mb de memória RAM como limite para o armazenamento de cache. Se o servidor possuir bastante memória RAM pode-se aumentar este valor.
A sintaxe desta linha é: <fator multiplicador> <tamanho do cache em bytes> <quantos caches separados>
Por exemplo: “2 524288000 3” criará um cache de 2.0 Gb, dividido em três caches físicos separados.

# Sven Hartge reported that he had to set this value incredibly high
# to get slapd running at all. See http://bugs.debian.org/303057
# for more information.

# Number of objects that can be locked at the same time.
dbconfig set_lk_max_objects 1500

- Número máximo de objetos que podem ser “trancados”

# Number of locks (both requested and granted)
dbconfig set_lk_max_locks 1500

- Número máximo de “travas” tanto para as solicitadas quanto para as realizadas

# Number of lockers
dbconfig set_lk_max_lockers 1500

- Número máximo de “travadores”

# Indexing options for database #1
index objectClass eq

- Opções de indexação da base LDAP. Todas as opções serão vistas em detalhes mais adiante, neste manual.

# Save the time that the entry gets modified, for database #1
lastmod on

- Ativa o registro do horário de alteração das entradas da base de dados. Útil para replicações e backups

# The userPassword by default can be changed
# by the entry owning it if they are authenticated.
# Others should not be able to see it, except the
# admin entry below
# These access lines apply to database #1 only
#access to attrs=userPassword,shadowLastChange
# by dn=”cn=admin,dc=kyapanel,dc=com,dc=br” write
# by anonymous auth
# by self write
# by * none

# Ensure read access to the base for things like
# supportedSASLMechanisms. Without this you may
# have problems with SASL not knowing what
# mechanisms are available and the like.
# Note that this is covered by the ‘access to *’
# ACL below too but if you change that as people
# are wont to do you’ll still need this if you
# want SASL (and possible other things) to work
# happily.

# The admin dn has full write access, everyone else
# can read everything.

access to attrs=userPassword,shadowLastChange
        by dn="cn=admin,dc=kyapanel,dc=com,dc=br" write
        by anonymous auth
        by self write
        by * none

access to dn.base="" by * read

access to *

        by dn="cn=admin,dc=kyapanel,dc=com,dc=br" write
        by * read

- Lista de controle de acessos (ACL) à base de dados. Estas permissões serão vistas em detalhes mais adiante, neste manual.

Opções extras

security ssf=1 update_ssf=112 simple_bind=64

- Na instalação padrão esta opção não se faz presente. Entretanto se trata de um dos mais novos recursos de segurança do OpenLDAP: Security Strength Factor ou “Fator de Força de Segurança”. Cada valor atribuído ao “ssf” determinará a “força” de encriptação exigida para realizar para cada ação. SSF em zero (0) define que a proteção está desativada. SSF em um (1) define que a proteção está ativada. SSF maior do que um indicará uma relação direta com o tamanho da “chave” de encriptação que será aceita pelo servidor. Por exemplo: DES é 56, 3DES é 112 e AES pode ser 128, 192 ou 256.

Diversas políticas de segurança podem ser definidas pela opção “security” indicando qual o nível de encriptação exigido para cada ação.

Se o nível de encriptação exigido não for atendido então a ação não será realizada.

Na linha acima está definido:

ssf=1 – Controle de nível de encriptação ativado update_ssf=112 – Para atualizações a encriptação tem que ser do tipo 3DES ou equivalente simple_bind=64 – Para consultas simples a “chave” de encriptação tem que ter “força” 64.

Opções do DB_CONFIG

O arquivo DB_CONFIG é utilizado para passar parâmetros de otimização para o BDB, ou seja, o backend padrão do OpenLDAP.

Este arquivo deve ser escrito no mesmo diretório onde a base de dados BDB será armazenada.

Suas opções são:

dbconfig set_cachesize dbconfig set_lk_max_objects dbconfig set_lk_max_locks dbconfig set_lk_max_lockers

Entretanto estas opções já foram descritas acima. O importante a ser dito é que essas opções podem ser definidas no arquivo slapd.conf ou diretamente em /var/lib/ldap

Se o arquivo DB_CONFIG não existir o OpenLDAP escreverá essas opções criando o arquivo. Entretanto, se o arquivo já existir o OpenLDAP apenas às ignorará

O objetivo é otimizar o processo evitando que configurações pré-existentes sejam sobrescritas.

Licença

Copyright 2007 Anahuac de Paula Gil e Francisco Kem Iti Saito

Permite-se distribuição, publicação e cópia literal da íntegra deste documento, sem pagamento de royalties, desde que sejam preservadas a nota de copyright, a URL oficial do documento e esta nota de permissão.

Permite-se também distribuição, publicação e cópia literal de seções individuais deste documento, sem pagamento de royalties, desde que sejam preservadas a nota de copyright e a nota de permissão acima, e que a URL oficial do documento seja preservada ou substituída pela URL oficial da seção individual.

openldap_basico/configuracao.txt · Last modified: 2009/08/19 13:58 by anahuac
Recent changes RSS feed Creative Commons License Donate Driven by DokuWiki