SlideShare ist ein Scribd-Unternehmen logo
1 von 26
Downloaden Sie, um offline zu lesen
OpenLDAP BootCamp
Installation & Configuration
                     Doc. v. 0.1 - 08/03/09

            Wildan Maulana
      wildan.m@openthinklabs.com



   http://workshop.openthinklabs.com/



                                              #2
The Topics
●   Installing binary OpenLDAP packages
●   Configuring the LDAP server with the slapd.conf file
●   Verifying the slapd.conf configuration with slaptest
●   Starting and stopping server
●   Configuring client tools with the ldap.conf file
●   Fetching the root DSE entry from the directory with ldapsearch
Refresh your Memory
●
    As the 1st presentation, the OpenLDAP suite
    includes the following classes of tools :
    ●   Daemons (slapd and slurpd)
    ●   Libraries (notably libldap)
    ●   Client Applications (ldapsearch, ldapadd,
        ldapmodify)
    ●   Supporting utilities (slapcat, slapauth, and others)
Install OpenLDAP Binary




   We will be using the
   Ubuntu Distribution
Dependencies
●   The Barkeley Database (BDB)
●   The OpenSSL libraries : These provides SSL and TSL security.
    SSL and TLS provide encryption for network connections to
    the directory
●   The Cyrus SASL library : This provides support for secure
    authentication
●   The Perl programming language
●   iODBC database connectivity layer – to connect to the RDBMS
Installing OpenLDAP
●   Run the following command to install server
    and it's clients :

    $sudo apt-get install libldap-2.4-2 slapd ldap-
    utils

●   SLAPD sometimes called the OpenLDAP
    server, handles client request and directory
    management
Configuring the SLAPD Server
  ●   SLAPD has one main configuration file, called
      slapd.conf,located at /etc/ldap and any number of auxiliary
      configuration files
                                                   database hdb
# slapd.conf - Configuration file for LDAP SLAPD   suffix "dc=example,dc=com"
##########                                         rootdn "cn=Manager,dc=example,dc=com"
# Basics #                                         rootpw secret
##########                                         directory /var/lib/ldap
include /etc/ldap/schema/core.schema               # directory /usr/local/var/openldap-data
include /etc/ldap/schema/cosine.schema             index objectClass,cn eq
include /etc/ldap/schema/inetorgperson.schema      ########
pidfile /var/run/slapd/slapd.pid                   # ACLs #
argsfile /var/run/slapd/slapd.args                 ########
loglevel none                                      access to attrs=userPassword
modulepath /usr/lib/ldap                                by anonymous auth
# modulepath /usr/local/libexec/openldap                by self write
moduleload back_hdb                                     by * none
##########################                         access to *
# Database Configuration #                              by self write
##########################                              by * none
Directive
●   Include directive can be used to load any configuration files besides schema,
    including the ACL
     ●   Schema provide definitions of the the different object classes and
         attribute types that OpenLDAP should support, using this OpenLDAP
         can determine what entries it is allowed to store, wheter any given entry
         is valid, and how entries should optimally be stored
          –   core.schema → contains all attributes and object class definition
              from LDAP v.3 spesification
          –   cosine.schema and inteorgperson.schema → contains schema
              definitions for commonly used standardized extensions (see RFCs
              1274 and 2798 → Homework @_@)
More Directives
●   pidfile
    The process ID for the SLAPD server process
●   argsfile
    The arguments that were passed into the slapd command at
    startup
●   loglevel
    Specifies how much information SLAPD should send to the
    system log (any, none, trace and so on)
●   modulepath and moduleload
    for loading OpenLDAP modules
Database Configuration
●   OpenLDAP is not limited to one database. More than one database
    can be used per server, where each database stores its own
    directory tree (or subtree) and one database can also have multiple
    trees.
    ●   For ex. a single OpenLDAP instance can serve a directory tree
        whose base is o=My Company,c=US
        from one database, and a directory tree whose root is
        dc=example,dc=com from a second database.

                             Review :

                             o    = Organization
                             c    = Country
                             dc   = Domain Component
                             cn   = Common Name
About HDB
●   HDB is the new generation storage mechanism for
    OpenLDAP. Like its predecessor, the BDB backend, HDB
    uses the Oracle Berkeley DB database for storage, but
    HDB stores entries hierarchically, a perfect fit for LDAP's
    tree strucutre. The old BDB backend is still supported,
    and you can use it by specificing bdb instead of hdb in
    the database directive.
More Directives
●   suffix
    indicates which parts of the directory tree this database will
    hold. On our example, it indicates that this database's will be
    the entry with the Distinguished Name (DN) specified in the
    suffix directive (dc=example,dc=com)
More Directives
●   The rootdn directive specifies the DN that will be considered the
    administrator of this directory
             rootdn = cn=Manager,dc=example,dc=com.
●   The rootpw is used to assign a password for the directory manager
●   The directory manager is a special user with special privileges. The
    manager's requests are not filtered through ACLs—the manager's access
    cannot be restricted.
●   Furthermore, the manager has write access to all records in the directory
    under the specified suffix or suffixes. For that reason, the manager DN
    should be used for administrative tasks only and not for anything else.
More Directives
●   The directory directive indicates which directory on the file system
    should hold the database files.

    directory /var/lib/ldap

●   The index directive is composed of a list of attributes that should be
    indexed, followed by the type of matching that the index will be used
    for.
                                            an equality (eq) index is maintained for
                                            objectClass attributes, while the cn attribute is
    index objectClass,cn ew                 indexed for equality matches (eq) and
                                            substring matches (sub).

●   We can also use multiple index directive :

    index objectClass eq
    index cn eq,sub
ACLs – Access Control List
                                 The purpose of this access control is to keep a user's password
                                 protected. Specifically, it allows anonymous users to request
########                         that the server perform an authentication comparison (during the
# ACLs #                         process of logging on) on a password. Additionally, it grants
                                 a user permission to change his or her own password. Finally,
########                         it denies everyone else any access to the password.
access to attrs=userPassword
    by anonymous auth
    by self write
    by * none                       access to [resources]
                                       by [who] [type of access granted]
                                       by [who] [type of access granted]
access to *                            by [who] [type of access granted]
    by self write
    by * none
                               For any object and all its attributes (to *),
                               if the currently connected DN is the DN of this object,
                               it can write to the object (by self write). Otherwise,
                               the currently connected DN has no access
                               whatsoever (by * none).
Verifying a Configuration File
●   To testing the slapd.conf configuration files, we can use slaptest :

    $ sudo slaptest -v -f /etc/ldap/slapd.conf

    or we can also use the slapd directly :

    $ slapd -T dest -f /etc/ldap/slapd.conf

●   You can read more about configuration options at the manual (man)

    $man slapd.conf
Starting and Stopping the Server
●   Using the init script :

    $sudo invoke-rc.d slapd start
    $sudo invoke-rc.d slapd stop
    $sudo invoke-rc.d slapd restart

●    The init scripts set up default parameters and pass in many
    system options. Some of these are stored in a separate
    configuration file located at /etc/default/slapd
●   The OpenLDAP server must start as root, in order to bind to
    the correct TCP/IP port (389 or 636 by default). Then it will
    switch and use user account and grup specified in the file
    located at /etc/default/slapd
Starting and Stopping the Server
●   Running SLAPD directly :

    $ sudo slapd or
    $ sudo slapd -d config (for debugging purpose)

●   The server will write its process ID to the location
    specified in the pidfile directive in slapd.conf. In our case,
    this is /var/run/slapd/slapd
●   To stop server we can use :

    $ sudo kill `cat /var/run/slapd/slapd.pid`
    $ sudo kill `pgrep slapd`
Configuring the LDAP Clients
●   Fortunately all of the OpenLDAP client programs share one common
    configuration file, ldap.conf, which is located in Ubuntu at
    /etc/ldap/ldap.conf
●   The purpose of the ldap.conf is two-fold :
    1. It provided a place to define certain aspects of client behavior,
       such as how they treat SSL/TLS certificates or whether they follow
       alias entries.
    2. It provides the OpenLDAP clients with useful defaults. By
       specifying some defaults, we can reduce the number of
       parameters we have to pass to the OpenLDAP clients when we
       run them from the command line.
Configuring the LDAP Clients
●   The ldap.conf file has three different kinds of directive:
     ●   General settings, which specify things such as the default server
         and DN to use
     ●   SASL-specific settings, which determine how the OpenLDAP
         clients will try to authenticate when using SASL (Simple
         Authentication and Security Layer) authentication mechanisms
     ●   TLS-specific settings, which specify how OpenLDAP will handle
         connections that use SSL (Secure Sockets Layer) and TLS
         encryption
The ldap.conf
  ●   ldap.conf file is located in the same directory as
      slapd.conf—/etc/ldap/
  ●   Basic ldap.conf file :
                                # LDAP Client Settings
    Don't use this on           URI ldap://localhost
a production environtment       BASE dc=example,dc=com
                                BINDDN cn=Manager,dc=example,dc=com
                                SIZELIMIT 0
                                TIMELIMIT 0
About DSE
●   Although We haven't actually put any entries in our database,
    SLAPD does provide directory-based access to certain
    information, including currently-loaded schemas and
    subschemas, configuration information, and a special record
    called the root DSE. The root DSE (DSA-Specific Entry, where
    DSA stands for Directory Service Agent—the technical term for
    an LDAP server) is a special entry that provides information
    about the server itself
●   Please Read RFC 4512 for more information about this.
Testing the Server
    $ ldapsearch -x -W -D 'cn=Manager,dc=example,dc=com' -b "" -s base

●       -x: This tells the server to use simple authentication (instead of the more
        complicated, but more secure, SASL authentication).
    ●   -W: This tells the client to prompt us for an interactive password. The client
        will give the following prompt:
        Enter LDAP Password:
    ●    -D 'cn=Manager,dc=example,dc=com': This specifies the DN that we want to
        use to connect to the directory. In this case, we are using the directory
        manager account.
    ●   -b "": This sets the base DN for the search. In the ldap.conf file we set the
        default base to be dc=example,dc=com. But to get the root DSE, which is not
        under dc=example,dc=com, we need to specify an empty search base.
    ●    -s base: This indicates that we want to search for just one (base) entry—the
        entry with the DN specified in the -b parameter (the empty DN of the root
        DSE).
Testing the Server
Q&A
Rererence
●   Matt Butcher, Mastering OpenLDAP, PACKT
    Publishing

Weitere ähnliche Inhalte

Was ist angesagt?

Hadoop Distributed File System
Hadoop Distributed File SystemHadoop Distributed File System
Hadoop Distributed File Systemelliando dias
 
Introduction to HDFS and MapReduce
Introduction to HDFS and MapReduceIntroduction to HDFS and MapReduce
Introduction to HDFS and MapReduceUday Vakalapudi
 
Storage Systems for big data - HDFS, HBase, and intro to KV Store - Redis
Storage Systems for big data - HDFS, HBase, and intro to KV Store - RedisStorage Systems for big data - HDFS, HBase, and intro to KV Store - Redis
Storage Systems for big data - HDFS, HBase, and intro to KV Store - RedisSameer Tiwari
 
Oracle sharding : Installation & Configuration
Oracle sharding : Installation & ConfigurationOracle sharding : Installation & Configuration
Oracle sharding : Installation & Configurationsuresh gandhi
 
Oracle 12.2 sharding learning more
Oracle 12.2 sharding learning moreOracle 12.2 sharding learning more
Oracle 12.2 sharding learning moreLeyi (Kamus) Zhang
 
ACADGILD:: HADOOP LESSON
ACADGILD:: HADOOP LESSON ACADGILD:: HADOOP LESSON
ACADGILD:: HADOOP LESSON Padma shree. T
 
Hadoop HDFS by rohitkapa
Hadoop HDFS by rohitkapaHadoop HDFS by rohitkapa
Hadoop HDFS by rohitkapakapa rohit
 
Spark & Spark Streaming Internals - Nov 15 (1)
Spark & Spark Streaming Internals - Nov 15 (1)Spark & Spark Streaming Internals - Nov 15 (1)
Spark & Spark Streaming Internals - Nov 15 (1)Akhil Das
 
Hadoop single node installation on ubuntu 14
Hadoop single node installation on ubuntu 14Hadoop single node installation on ubuntu 14
Hadoop single node installation on ubuntu 14jijukjoseph
 
HDFS introduction
HDFS introductionHDFS introduction
HDFS introductioninjae yeo
 
Transformations and actions a visual guide training
Transformations and actions a visual guide trainingTransformations and actions a visual guide training
Transformations and actions a visual guide trainingSpark Summit
 
Hadoop distributed file system
Hadoop distributed file systemHadoop distributed file system
Hadoop distributed file systemAnshul Bhatnagar
 
Intro to apache spark stand ford
Intro to apache spark stand fordIntro to apache spark stand ford
Intro to apache spark stand fordThu Hiền
 

Was ist angesagt? (20)

Ldap introduction (eng)
Ldap introduction (eng)Ldap introduction (eng)
Ldap introduction (eng)
 
Hadoop Distributed File System
Hadoop Distributed File SystemHadoop Distributed File System
Hadoop Distributed File System
 
Hadoop HDFS Concepts
Hadoop HDFS ConceptsHadoop HDFS Concepts
Hadoop HDFS Concepts
 
Hadoop HDFS Concepts
Hadoop HDFS ConceptsHadoop HDFS Concepts
Hadoop HDFS Concepts
 
Introduction to HDFS and MapReduce
Introduction to HDFS and MapReduceIntroduction to HDFS and MapReduce
Introduction to HDFS and MapReduce
 
Intro to Apache Spark
Intro to Apache SparkIntro to Apache Spark
Intro to Apache Spark
 
Spark core
Spark coreSpark core
Spark core
 
Storage Systems for big data - HDFS, HBase, and intro to KV Store - Redis
Storage Systems for big data - HDFS, HBase, and intro to KV Store - RedisStorage Systems for big data - HDFS, HBase, and intro to KV Store - Redis
Storage Systems for big data - HDFS, HBase, and intro to KV Store - Redis
 
Oracle sharding : Installation & Configuration
Oracle sharding : Installation & ConfigurationOracle sharding : Installation & Configuration
Oracle sharding : Installation & Configuration
 
Oracle 12.2 sharding learning more
Oracle 12.2 sharding learning moreOracle 12.2 sharding learning more
Oracle 12.2 sharding learning more
 
Introduction to HDFS
Introduction to HDFSIntroduction to HDFS
Introduction to HDFS
 
Introduction to Apache Spark
Introduction to Apache SparkIntroduction to Apache Spark
Introduction to Apache Spark
 
ACADGILD:: HADOOP LESSON
ACADGILD:: HADOOP LESSON ACADGILD:: HADOOP LESSON
ACADGILD:: HADOOP LESSON
 
Hadoop HDFS by rohitkapa
Hadoop HDFS by rohitkapaHadoop HDFS by rohitkapa
Hadoop HDFS by rohitkapa
 
Spark & Spark Streaming Internals - Nov 15 (1)
Spark & Spark Streaming Internals - Nov 15 (1)Spark & Spark Streaming Internals - Nov 15 (1)
Spark & Spark Streaming Internals - Nov 15 (1)
 
Hadoop single node installation on ubuntu 14
Hadoop single node installation on ubuntu 14Hadoop single node installation on ubuntu 14
Hadoop single node installation on ubuntu 14
 
HDFS introduction
HDFS introductionHDFS introduction
HDFS introduction
 
Transformations and actions a visual guide training
Transformations and actions a visual guide trainingTransformations and actions a visual guide training
Transformations and actions a visual guide training
 
Hadoop distributed file system
Hadoop distributed file systemHadoop distributed file system
Hadoop distributed file system
 
Intro to apache spark stand ford
Intro to apache spark stand fordIntro to apache spark stand ford
Intro to apache spark stand ford
 

Ähnlich wie OpenLDAP - Installation and Configuration

Ldap 121020013604-phpapp01
Ldap 121020013604-phpapp01Ldap 121020013604-phpapp01
Ldap 121020013604-phpapp01SANE Ibrahima
 
Ldapsession 1217528612650451-9
Ldapsession 1217528612650451-9Ldapsession 1217528612650451-9
Ldapsession 1217528612650451-9rezgui
 
Install ldap server
Install ldap serverInstall ldap server
Install ldap serverMawardi 12
 
Install ldap server
Install ldap serverInstall ldap server
Install ldap serverMawardi 12
 
LDAP Applied (EuroOSCON 2005)
LDAP Applied (EuroOSCON 2005)LDAP Applied (EuroOSCON 2005)
LDAP Applied (EuroOSCON 2005)Fran Fabrizio
 
Introduction to Apache Spark
Introduction to Apache SparkIntroduction to Apache Spark
Introduction to Apache SparkRahul Jain
 
SQL/MED: Doping for PostgreSQL
SQL/MED: Doping for PostgreSQLSQL/MED: Doping for PostgreSQL
SQL/MED: Doping for PostgreSQLPeter Eisentraut
 
Introduction to Apache Spark :: Lagos Scala Meetup session 2
Introduction to Apache Spark :: Lagos Scala Meetup session 2 Introduction to Apache Spark :: Lagos Scala Meetup session 2
Introduction to Apache Spark :: Lagos Scala Meetup session 2 Olalekan Fuad Elesin
 
Asian Spirit 3 Day Dba On Ubl
Asian Spirit 3 Day Dba On UblAsian Spirit 3 Day Dba On Ubl
Asian Spirit 3 Day Dba On Ublnewrforce
 
Near Real Time Indexing Kafka Messages into Apache Blur: Presented by Dibyend...
Near Real Time Indexing Kafka Messages into Apache Blur: Presented by Dibyend...Near Real Time Indexing Kafka Messages into Apache Blur: Presented by Dibyend...
Near Real Time Indexing Kafka Messages into Apache Blur: Presented by Dibyend...Lucidworks
 
LDAP Development Using Spring LDAP
LDAP Development Using Spring LDAPLDAP Development Using Spring LDAP
LDAP Development Using Spring LDAPLDAPCon
 
Real time Analytics with Apache Kafka and Apache Spark
Real time Analytics with Apache Kafka and Apache SparkReal time Analytics with Apache Kafka and Apache Spark
Real time Analytics with Apache Kafka and Apache SparkRahul Jain
 
OpenLDAP configuration brought to Apache Directory Studio
OpenLDAP configuration brought to Apache Directory StudioOpenLDAP configuration brought to Apache Directory Studio
OpenLDAP configuration brought to Apache Directory StudioLDAPCon
 
Apache Spark Fundamentals Meetup Talk
Apache Spark Fundamentals Meetup TalkApache Spark Fundamentals Meetup Talk
Apache Spark Fundamentals Meetup TalkEren Avşaroğulları
 

Ähnlich wie OpenLDAP - Installation and Configuration (20)

Ldap 121020013604-phpapp01
Ldap 121020013604-phpapp01Ldap 121020013604-phpapp01
Ldap 121020013604-phpapp01
 
LDAP(In_Linux).pptx
LDAP(In_Linux).pptxLDAP(In_Linux).pptx
LDAP(In_Linux).pptx
 
Ldapsession 1217528612650451-9
Ldapsession 1217528612650451-9Ldapsession 1217528612650451-9
Ldapsession 1217528612650451-9
 
Install ldap server
Install ldap serverInstall ldap server
Install ldap server
 
Install ldap server
Install ldap serverInstall ldap server
Install ldap server
 
Ldapsession
LdapsessionLdapsession
Ldapsession
 
LDAP Applied (EuroOSCON 2005)
LDAP Applied (EuroOSCON 2005)LDAP Applied (EuroOSCON 2005)
LDAP Applied (EuroOSCON 2005)
 
ivanova-samba_backend.pdf
ivanova-samba_backend.pdfivanova-samba_backend.pdf
ivanova-samba_backend.pdf
 
Introduction to Apache Spark
Introduction to Apache SparkIntroduction to Apache Spark
Introduction to Apache Spark
 
Intro to Apache Spark
Intro to Apache SparkIntro to Apache Spark
Intro to Apache Spark
 
SQL/MED: Doping for PostgreSQL
SQL/MED: Doping for PostgreSQLSQL/MED: Doping for PostgreSQL
SQL/MED: Doping for PostgreSQL
 
Introduction to Apache Spark :: Lagos Scala Meetup session 2
Introduction to Apache Spark :: Lagos Scala Meetup session 2 Introduction to Apache Spark :: Lagos Scala Meetup session 2
Introduction to Apache Spark :: Lagos Scala Meetup session 2
 
Proxy
ProxyProxy
Proxy
 
Rhel6
Rhel6Rhel6
Rhel6
 
Asian Spirit 3 Day Dba On Ubl
Asian Spirit 3 Day Dba On UblAsian Spirit 3 Day Dba On Ubl
Asian Spirit 3 Day Dba On Ubl
 
Near Real Time Indexing Kafka Messages into Apache Blur: Presented by Dibyend...
Near Real Time Indexing Kafka Messages into Apache Blur: Presented by Dibyend...Near Real Time Indexing Kafka Messages into Apache Blur: Presented by Dibyend...
Near Real Time Indexing Kafka Messages into Apache Blur: Presented by Dibyend...
 
LDAP Development Using Spring LDAP
LDAP Development Using Spring LDAPLDAP Development Using Spring LDAP
LDAP Development Using Spring LDAP
 
Real time Analytics with Apache Kafka and Apache Spark
Real time Analytics with Apache Kafka and Apache SparkReal time Analytics with Apache Kafka and Apache Spark
Real time Analytics with Apache Kafka and Apache Spark
 
OpenLDAP configuration brought to Apache Directory Studio
OpenLDAP configuration brought to Apache Directory StudioOpenLDAP configuration brought to Apache Directory Studio
OpenLDAP configuration brought to Apache Directory Studio
 
Apache Spark Fundamentals Meetup Talk
Apache Spark Fundamentals Meetup TalkApache Spark Fundamentals Meetup Talk
Apache Spark Fundamentals Meetup Talk
 

Mehr von Wildan Maulana

Hasil Pendataan Potensi Desa 2018
Hasil Pendataan Potensi Desa 2018Hasil Pendataan Potensi Desa 2018
Hasil Pendataan Potensi Desa 2018Wildan Maulana
 
Double for Nothing? Experimental Evidence on an Unconditional TeacherSalary I...
Double for Nothing? Experimental Evidence on an Unconditional TeacherSalary I...Double for Nothing? Experimental Evidence on an Unconditional TeacherSalary I...
Double for Nothing? Experimental Evidence on an Unconditional TeacherSalary I...Wildan Maulana
 
Ketahanan Pangan #1 : Gerakan Sekolah Menanam Melon
Ketahanan Pangan #1 : Gerakan Sekolah Menanam MelonKetahanan Pangan #1 : Gerakan Sekolah Menanam Melon
Ketahanan Pangan #1 : Gerakan Sekolah Menanam MelonWildan Maulana
 
Pengembangan OpenThink SAS 2013-2014
Pengembangan OpenThink SAS 2013-2014Pengembangan OpenThink SAS 2013-2014
Pengembangan OpenThink SAS 2013-2014Wildan Maulana
 
ICA – AtoM : Retensi Arsip
ICA – AtoM : Retensi ArsipICA – AtoM : Retensi Arsip
ICA – AtoM : Retensi ArsipWildan Maulana
 
OpenThink Labs Workshop : Ketahanan Pangan Skala RT/RW
OpenThink Labs Workshop : Ketahanan Pangan Skala RT/RWOpenThink Labs Workshop : Ketahanan Pangan Skala RT/RW
OpenThink Labs Workshop : Ketahanan Pangan Skala RT/RWWildan Maulana
 
OpenThink Labs : Dengar Pendapat Komunitas ciliwung dengan kemen pu dan kemen...
OpenThink Labs : Dengar Pendapat Komunitas ciliwung dengan kemen pu dan kemen...OpenThink Labs : Dengar Pendapat Komunitas ciliwung dengan kemen pu dan kemen...
OpenThink Labs : Dengar Pendapat Komunitas ciliwung dengan kemen pu dan kemen...Wildan Maulana
 
PostgreSQL BootCamp : Manajemen Master Data dengan SkyTools
PostgreSQL BootCamp : Manajemen Master Data dengan SkyToolsPostgreSQL BootCamp : Manajemen Master Data dengan SkyTools
PostgreSQL BootCamp : Manajemen Master Data dengan SkyToolsWildan Maulana
 
Mensetup Google Apps sebagai IdP jenis openID dan Aplikasi Berbasis CakePHP ...
Mensetup Google Apps sebagai IdP jenis openID  dan Aplikasi Berbasis CakePHP ...Mensetup Google Apps sebagai IdP jenis openID  dan Aplikasi Berbasis CakePHP ...
Mensetup Google Apps sebagai IdP jenis openID dan Aplikasi Berbasis CakePHP ...Wildan Maulana
 
Mensetup Google Apps sebagai IdP jenis openID dan Wordpress sebagai Sp
Mensetup Google Apps sebagai IdP jenis openID dan Wordpress sebagai SpMensetup Google Apps sebagai IdP jenis openID dan Wordpress sebagai Sp
Mensetup Google Apps sebagai IdP jenis openID dan Wordpress sebagai SpWildan Maulana
 
Konfigurasi simpleSAMLphp dengan Google Apps Sebagai Identity Provider
Konfigurasi simpleSAMLphp  dengan Google Apps Sebagai Identity ProviderKonfigurasi simpleSAMLphp  dengan Google Apps Sebagai Identity Provider
Konfigurasi simpleSAMLphp dengan Google Apps Sebagai Identity ProviderWildan Maulana
 
Instalasi simpleSAMLphp sebagai Identity Provider (IdP)
Instalasi simpleSAMLphp sebagai Identity Provider (IdP)Instalasi simpleSAMLphp sebagai Identity Provider (IdP)
Instalasi simpleSAMLphp sebagai Identity Provider (IdP)Wildan Maulana
 
Instalasi dan Konfigurasi simpleSAMLphp
Instalasi dan Konfigurasi simpleSAMLphpInstalasi dan Konfigurasi simpleSAMLphp
Instalasi dan Konfigurasi simpleSAMLphpWildan Maulana
 
River Restoration in Asia and Connection Between IWRM and River Restoration
River Restoration in Asia and Connection Between IWRM and River RestorationRiver Restoration in Asia and Connection Between IWRM and River Restoration
River Restoration in Asia and Connection Between IWRM and River RestorationWildan Maulana
 
Optimasi Limpasan Air Limbah Ke Kali Surabaya (Segmen Sepanjang – Jagir) De...
Optimasi Limpasan Air Limbah  Ke Kali Surabaya (Segmen Sepanjang – Jagir)  De...Optimasi Limpasan Air Limbah  Ke Kali Surabaya (Segmen Sepanjang – Jagir)  De...
Optimasi Limpasan Air Limbah Ke Kali Surabaya (Segmen Sepanjang – Jagir) De...Wildan Maulana
 
Penilaian Siswa di Finlandia - Pendidikan Dasar
Penilaian Siswa di Finlandia - Pendidikan DasarPenilaian Siswa di Finlandia - Pendidikan Dasar
Penilaian Siswa di Finlandia - Pendidikan DasarWildan Maulana
 
Proyek Al-'Alaq : Electric Bicycles ; History, Characteristics, and Uses
Proyek Al-'Alaq : Electric Bicycles ; History, Characteristics, and UsesProyek Al-'Alaq : Electric Bicycles ; History, Characteristics, and Uses
Proyek Al-'Alaq : Electric Bicycles ; History, Characteristics, and UsesWildan Maulana
 
OpenThink SAS : Interaksi Antara Sekolah, Wali Kelas, Siswa dan Orang Tua
OpenThink SAS : Interaksi Antara Sekolah, Wali Kelas, Siswa dan Orang TuaOpenThink SAS : Interaksi Antara Sekolah, Wali Kelas, Siswa dan Orang Tua
OpenThink SAS : Interaksi Antara Sekolah, Wali Kelas, Siswa dan Orang TuaWildan Maulana
 
Menggunakan AlisJK : Equating
Menggunakan AlisJK : EquatingMenggunakan AlisJK : Equating
Menggunakan AlisJK : EquatingWildan Maulana
 

Mehr von Wildan Maulana (20)

Hasil Pendataan Potensi Desa 2018
Hasil Pendataan Potensi Desa 2018Hasil Pendataan Potensi Desa 2018
Hasil Pendataan Potensi Desa 2018
 
Double for Nothing? Experimental Evidence on an Unconditional TeacherSalary I...
Double for Nothing? Experimental Evidence on an Unconditional TeacherSalary I...Double for Nothing? Experimental Evidence on an Unconditional TeacherSalary I...
Double for Nothing? Experimental Evidence on an Unconditional TeacherSalary I...
 
Ketahanan Pangan #1 : Gerakan Sekolah Menanam Melon
Ketahanan Pangan #1 : Gerakan Sekolah Menanam MelonKetahanan Pangan #1 : Gerakan Sekolah Menanam Melon
Ketahanan Pangan #1 : Gerakan Sekolah Menanam Melon
 
Pengembangan OpenThink SAS 2013-2014
Pengembangan OpenThink SAS 2013-2014Pengembangan OpenThink SAS 2013-2014
Pengembangan OpenThink SAS 2013-2014
 
ICA – AtoM : Retensi Arsip
ICA – AtoM : Retensi ArsipICA – AtoM : Retensi Arsip
ICA – AtoM : Retensi Arsip
 
OpenThink Labs Workshop : Ketahanan Pangan Skala RT/RW
OpenThink Labs Workshop : Ketahanan Pangan Skala RT/RWOpenThink Labs Workshop : Ketahanan Pangan Skala RT/RW
OpenThink Labs Workshop : Ketahanan Pangan Skala RT/RW
 
OpenThink Labs : Dengar Pendapat Komunitas ciliwung dengan kemen pu dan kemen...
OpenThink Labs : Dengar Pendapat Komunitas ciliwung dengan kemen pu dan kemen...OpenThink Labs : Dengar Pendapat Komunitas ciliwung dengan kemen pu dan kemen...
OpenThink Labs : Dengar Pendapat Komunitas ciliwung dengan kemen pu dan kemen...
 
PostgreSQL BootCamp : Manajemen Master Data dengan SkyTools
PostgreSQL BootCamp : Manajemen Master Data dengan SkyToolsPostgreSQL BootCamp : Manajemen Master Data dengan SkyTools
PostgreSQL BootCamp : Manajemen Master Data dengan SkyTools
 
Mensetup Google Apps sebagai IdP jenis openID dan Aplikasi Berbasis CakePHP ...
Mensetup Google Apps sebagai IdP jenis openID  dan Aplikasi Berbasis CakePHP ...Mensetup Google Apps sebagai IdP jenis openID  dan Aplikasi Berbasis CakePHP ...
Mensetup Google Apps sebagai IdP jenis openID dan Aplikasi Berbasis CakePHP ...
 
Mensetup Google Apps sebagai IdP jenis openID dan Wordpress sebagai Sp
Mensetup Google Apps sebagai IdP jenis openID dan Wordpress sebagai SpMensetup Google Apps sebagai IdP jenis openID dan Wordpress sebagai Sp
Mensetup Google Apps sebagai IdP jenis openID dan Wordpress sebagai Sp
 
Konfigurasi simpleSAMLphp dengan Google Apps Sebagai Identity Provider
Konfigurasi simpleSAMLphp  dengan Google Apps Sebagai Identity ProviderKonfigurasi simpleSAMLphp  dengan Google Apps Sebagai Identity Provider
Konfigurasi simpleSAMLphp dengan Google Apps Sebagai Identity Provider
 
Instalasi simpleSAMLphp sebagai Identity Provider (IdP)
Instalasi simpleSAMLphp sebagai Identity Provider (IdP)Instalasi simpleSAMLphp sebagai Identity Provider (IdP)
Instalasi simpleSAMLphp sebagai Identity Provider (IdP)
 
Instalasi dan Konfigurasi simpleSAMLphp
Instalasi dan Konfigurasi simpleSAMLphpInstalasi dan Konfigurasi simpleSAMLphp
Instalasi dan Konfigurasi simpleSAMLphp
 
River Restoration in Asia and Connection Between IWRM and River Restoration
River Restoration in Asia and Connection Between IWRM and River RestorationRiver Restoration in Asia and Connection Between IWRM and River Restoration
River Restoration in Asia and Connection Between IWRM and River Restoration
 
Optimasi Limpasan Air Limbah Ke Kali Surabaya (Segmen Sepanjang – Jagir) De...
Optimasi Limpasan Air Limbah  Ke Kali Surabaya (Segmen Sepanjang – Jagir)  De...Optimasi Limpasan Air Limbah  Ke Kali Surabaya (Segmen Sepanjang – Jagir)  De...
Optimasi Limpasan Air Limbah Ke Kali Surabaya (Segmen Sepanjang – Jagir) De...
 
Penilaian Siswa di Finlandia - Pendidikan Dasar
Penilaian Siswa di Finlandia - Pendidikan DasarPenilaian Siswa di Finlandia - Pendidikan Dasar
Penilaian Siswa di Finlandia - Pendidikan Dasar
 
Statistik Listrik
Statistik ListrikStatistik Listrik
Statistik Listrik
 
Proyek Al-'Alaq : Electric Bicycles ; History, Characteristics, and Uses
Proyek Al-'Alaq : Electric Bicycles ; History, Characteristics, and UsesProyek Al-'Alaq : Electric Bicycles ; History, Characteristics, and Uses
Proyek Al-'Alaq : Electric Bicycles ; History, Characteristics, and Uses
 
OpenThink SAS : Interaksi Antara Sekolah, Wali Kelas, Siswa dan Orang Tua
OpenThink SAS : Interaksi Antara Sekolah, Wali Kelas, Siswa dan Orang TuaOpenThink SAS : Interaksi Antara Sekolah, Wali Kelas, Siswa dan Orang Tua
OpenThink SAS : Interaksi Antara Sekolah, Wali Kelas, Siswa dan Orang Tua
 
Menggunakan AlisJK : Equating
Menggunakan AlisJK : EquatingMenggunakan AlisJK : Equating
Menggunakan AlisJK : Equating
 

Kürzlich hochgeladen

Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbuapidays
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...apidays
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024The Digital Insurer
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 

Kürzlich hochgeladen (20)

Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 

OpenLDAP - Installation and Configuration

  • 1. OpenLDAP BootCamp Installation & Configuration Doc. v. 0.1 - 08/03/09 Wildan Maulana wildan.m@openthinklabs.com http://workshop.openthinklabs.com/ #2
  • 2. The Topics ● Installing binary OpenLDAP packages ● Configuring the LDAP server with the slapd.conf file ● Verifying the slapd.conf configuration with slaptest ● Starting and stopping server ● Configuring client tools with the ldap.conf file ● Fetching the root DSE entry from the directory with ldapsearch
  • 3. Refresh your Memory ● As the 1st presentation, the OpenLDAP suite includes the following classes of tools : ● Daemons (slapd and slurpd) ● Libraries (notably libldap) ● Client Applications (ldapsearch, ldapadd, ldapmodify) ● Supporting utilities (slapcat, slapauth, and others)
  • 4. Install OpenLDAP Binary We will be using the Ubuntu Distribution
  • 5. Dependencies ● The Barkeley Database (BDB) ● The OpenSSL libraries : These provides SSL and TSL security. SSL and TLS provide encryption for network connections to the directory ● The Cyrus SASL library : This provides support for secure authentication ● The Perl programming language ● iODBC database connectivity layer – to connect to the RDBMS
  • 6. Installing OpenLDAP ● Run the following command to install server and it's clients : $sudo apt-get install libldap-2.4-2 slapd ldap- utils ● SLAPD sometimes called the OpenLDAP server, handles client request and directory management
  • 7. Configuring the SLAPD Server ● SLAPD has one main configuration file, called slapd.conf,located at /etc/ldap and any number of auxiliary configuration files database hdb # slapd.conf - Configuration file for LDAP SLAPD suffix "dc=example,dc=com" ########## rootdn "cn=Manager,dc=example,dc=com" # Basics # rootpw secret ########## directory /var/lib/ldap include /etc/ldap/schema/core.schema # directory /usr/local/var/openldap-data include /etc/ldap/schema/cosine.schema index objectClass,cn eq include /etc/ldap/schema/inetorgperson.schema ######## pidfile /var/run/slapd/slapd.pid # ACLs # argsfile /var/run/slapd/slapd.args ######## loglevel none access to attrs=userPassword modulepath /usr/lib/ldap by anonymous auth # modulepath /usr/local/libexec/openldap by self write moduleload back_hdb by * none ########################## access to * # Database Configuration # by self write ########################## by * none
  • 8. Directive ● Include directive can be used to load any configuration files besides schema, including the ACL ● Schema provide definitions of the the different object classes and attribute types that OpenLDAP should support, using this OpenLDAP can determine what entries it is allowed to store, wheter any given entry is valid, and how entries should optimally be stored – core.schema → contains all attributes and object class definition from LDAP v.3 spesification – cosine.schema and inteorgperson.schema → contains schema definitions for commonly used standardized extensions (see RFCs 1274 and 2798 → Homework @_@)
  • 9. More Directives ● pidfile The process ID for the SLAPD server process ● argsfile The arguments that were passed into the slapd command at startup ● loglevel Specifies how much information SLAPD should send to the system log (any, none, trace and so on) ● modulepath and moduleload for loading OpenLDAP modules
  • 10. Database Configuration ● OpenLDAP is not limited to one database. More than one database can be used per server, where each database stores its own directory tree (or subtree) and one database can also have multiple trees. ● For ex. a single OpenLDAP instance can serve a directory tree whose base is o=My Company,c=US from one database, and a directory tree whose root is dc=example,dc=com from a second database. Review : o = Organization c = Country dc = Domain Component cn = Common Name
  • 11. About HDB ● HDB is the new generation storage mechanism for OpenLDAP. Like its predecessor, the BDB backend, HDB uses the Oracle Berkeley DB database for storage, but HDB stores entries hierarchically, a perfect fit for LDAP's tree strucutre. The old BDB backend is still supported, and you can use it by specificing bdb instead of hdb in the database directive.
  • 12. More Directives ● suffix indicates which parts of the directory tree this database will hold. On our example, it indicates that this database's will be the entry with the Distinguished Name (DN) specified in the suffix directive (dc=example,dc=com)
  • 13. More Directives ● The rootdn directive specifies the DN that will be considered the administrator of this directory rootdn = cn=Manager,dc=example,dc=com. ● The rootpw is used to assign a password for the directory manager ● The directory manager is a special user with special privileges. The manager's requests are not filtered through ACLs—the manager's access cannot be restricted. ● Furthermore, the manager has write access to all records in the directory under the specified suffix or suffixes. For that reason, the manager DN should be used for administrative tasks only and not for anything else.
  • 14. More Directives ● The directory directive indicates which directory on the file system should hold the database files. directory /var/lib/ldap ● The index directive is composed of a list of attributes that should be indexed, followed by the type of matching that the index will be used for. an equality (eq) index is maintained for objectClass attributes, while the cn attribute is index objectClass,cn ew indexed for equality matches (eq) and substring matches (sub). ● We can also use multiple index directive : index objectClass eq index cn eq,sub
  • 15. ACLs – Access Control List The purpose of this access control is to keep a user's password protected. Specifically, it allows anonymous users to request ######## that the server perform an authentication comparison (during the # ACLs # process of logging on) on a password. Additionally, it grants a user permission to change his or her own password. Finally, ######## it denies everyone else any access to the password. access to attrs=userPassword by anonymous auth by self write by * none access to [resources] by [who] [type of access granted] by [who] [type of access granted] access to * by [who] [type of access granted] by self write by * none For any object and all its attributes (to *), if the currently connected DN is the DN of this object, it can write to the object (by self write). Otherwise, the currently connected DN has no access whatsoever (by * none).
  • 16. Verifying a Configuration File ● To testing the slapd.conf configuration files, we can use slaptest : $ sudo slaptest -v -f /etc/ldap/slapd.conf or we can also use the slapd directly : $ slapd -T dest -f /etc/ldap/slapd.conf ● You can read more about configuration options at the manual (man) $man slapd.conf
  • 17. Starting and Stopping the Server ● Using the init script : $sudo invoke-rc.d slapd start $sudo invoke-rc.d slapd stop $sudo invoke-rc.d slapd restart ● The init scripts set up default parameters and pass in many system options. Some of these are stored in a separate configuration file located at /etc/default/slapd ● The OpenLDAP server must start as root, in order to bind to the correct TCP/IP port (389 or 636 by default). Then it will switch and use user account and grup specified in the file located at /etc/default/slapd
  • 18. Starting and Stopping the Server ● Running SLAPD directly : $ sudo slapd or $ sudo slapd -d config (for debugging purpose) ● The server will write its process ID to the location specified in the pidfile directive in slapd.conf. In our case, this is /var/run/slapd/slapd ● To stop server we can use : $ sudo kill `cat /var/run/slapd/slapd.pid` $ sudo kill `pgrep slapd`
  • 19. Configuring the LDAP Clients ● Fortunately all of the OpenLDAP client programs share one common configuration file, ldap.conf, which is located in Ubuntu at /etc/ldap/ldap.conf ● The purpose of the ldap.conf is two-fold : 1. It provided a place to define certain aspects of client behavior, such as how they treat SSL/TLS certificates or whether they follow alias entries. 2. It provides the OpenLDAP clients with useful defaults. By specifying some defaults, we can reduce the number of parameters we have to pass to the OpenLDAP clients when we run them from the command line.
  • 20. Configuring the LDAP Clients ● The ldap.conf file has three different kinds of directive: ● General settings, which specify things such as the default server and DN to use ● SASL-specific settings, which determine how the OpenLDAP clients will try to authenticate when using SASL (Simple Authentication and Security Layer) authentication mechanisms ● TLS-specific settings, which specify how OpenLDAP will handle connections that use SSL (Secure Sockets Layer) and TLS encryption
  • 21. The ldap.conf ● ldap.conf file is located in the same directory as slapd.conf—/etc/ldap/ ● Basic ldap.conf file : # LDAP Client Settings Don't use this on URI ldap://localhost a production environtment BASE dc=example,dc=com BINDDN cn=Manager,dc=example,dc=com SIZELIMIT 0 TIMELIMIT 0
  • 22. About DSE ● Although We haven't actually put any entries in our database, SLAPD does provide directory-based access to certain information, including currently-loaded schemas and subschemas, configuration information, and a special record called the root DSE. The root DSE (DSA-Specific Entry, where DSA stands for Directory Service Agent—the technical term for an LDAP server) is a special entry that provides information about the server itself ● Please Read RFC 4512 for more information about this.
  • 23. Testing the Server $ ldapsearch -x -W -D 'cn=Manager,dc=example,dc=com' -b "" -s base ● -x: This tells the server to use simple authentication (instead of the more complicated, but more secure, SASL authentication). ● -W: This tells the client to prompt us for an interactive password. The client will give the following prompt: Enter LDAP Password: ● -D 'cn=Manager,dc=example,dc=com': This specifies the DN that we want to use to connect to the directory. In this case, we are using the directory manager account. ● -b "": This sets the base DN for the search. In the ldap.conf file we set the default base to be dc=example,dc=com. But to get the root DSE, which is not under dc=example,dc=com, we need to specify an empty search base. ● -s base: This indicates that we want to search for just one (base) entry—the entry with the DN specified in the -b parameter (the empty DN of the root DSE).
  • 25. Q&A
  • 26. Rererence ● Matt Butcher, Mastering OpenLDAP, PACKT Publishing