LDAP

26
LIGHT WEIGHT DIRECTORY ACCESS PROTOCOL 03 AUGUST 2005 LINUX SYSTEM ADMINISTRATION AND SECURITY VINEET BHARDWAJ VINAY KUMAR THOTA

description

LINUX SYSTEM ADMINISTRATION AND SECURITY. LDAP. LIGHT WEIGHT DIRECTORY ACCESS PROTOCOL. VINEET BHARDWAJ VINAY KUMAR THOTA. 03 AUGUST 2005. PRESENTATION OUTLINE. INTRODUCTION. INSTALLATION. CONFIGURATION. SECURITY ISSUES. CONCLUSION. INTRODUCTION. DIRECTORY SERVICE. LDAP. - PowerPoint PPT Presentation

Transcript of LDAP

LIGHT WEIGHT DIRECTORY ACCESS PROTOCOL

03 AUGUST 2005

LINUX SYSTEM ADMINISTRATION AND SECURITY

VINEET BHARDWAJ

VINAY KUMAR THOTA

INTRODUCTION

CONFIGURATION

INSTALLATION

SECURITY ISSUES

CONCLUSION

DIRECTORY SERVICE

LDAP

DESIGNED AT UNIVERSITY OF MICHIGAN

EXIST AT THREE LEVELS

BIG PUBLIC SERVERS

LARGE ORGANIZATIONAL SERVERS

SMALLER WORK GROUP SERVERS

INFORMATION

ARRANGEMENT

KIND

REFERENCE

ACCESS

A Directory service structure for the internet. It has many features that make it ideal for providing network information services, including encryption support, access control lists, fast read access, etc.. LDAP will combine several systems that normally have to be maintained separately , such as NT authentication, UNIX authentication, MTA routing information, services/protocols/hosts information, network address books, etc.

The structure of an LDAP directory tree

LDAP directory servers store their data hierarchically.

As with DNS host names, an LDAP directory record's Distinguished Name (DN for short) is read from the individual

entry, backwards through the tree, up to the top level.

Prerequisite Software Versions

THE ORGANIZATION

ORGANIZATIONAL UNIT

PERSON

COUNTRY

STATE

A DIRECTORY TREE STRUCTURE

HOW DOES LDAP WORK ????

CLIENT SERVER MODEL

TCP/IP OR ANY OTHER CONNECTION ORIENTED

X.500,THE OSI DIRECTORY SERVICE

ABOUT Slapd Slurpd

Slapd

Supports strong authentication and data security SASL

Transport layer security

Topology control – TCP Wrappers

Access Control

Choice of database back ends

Threads

Replication

Single Configuration file

Slurpd

Replicated service

Failed requests

Installing the LDAP Server

Five steps are necessary to install the server:• Install the pre-required packages (if not already

installed).• Download the server.• Unpack the software.• Configure the Makefiles.• Build the server.

Downloading the package• There are two free distributed LDAP servers:

University of Michigan LDAP server and Open LDAP server

• It's latest tar gzipped version is available on the following address:

http://www.openldap.org

• If you want to get the latest version of University of Michigan Server, go to this address:

ftp://terminator.rs.itd.umich.edu/ldap

Installation contd.

Unpacking the software

• First copy the package to a desirable directory, for example /usr/local. Next use the following command:

tar xvzf openldap-2.2.5.tgz

• You can use this command too, as well:

gunzip openldap-2.2.5.tgz | tar xvf –

Installation contd.

Configuring the software

• Type the following command on the directory where you unpacked the software:./configure --help

This will print all options that you can customize with the configure script before you build the software.

• Normally if you run configure without options, it will auto-detect the appropriate settings and prepare to build things on the default common location. So just type:./configure

Installation contd.

Building the server

• After configuring the software you can start building it. First build the dependencies, using the command:make depend

• Build the server after that, using the command:make

• To ensure a correct build, you should run the test suitemake test

• Now install the binaries and man pages. You may need to be superuser to do this (depending on where you are installing things): su root -c 'make install'

Installation contd.

Configuration

• All slapd (LDAP directory server) runtime configuration is accomplished through the slapd.conf file, installed in the prefix directory one specifies in the configuration script or by default in /usr/local/etc/openldap

• First create an /etc/openldap/slapd.confg file. You need to change the following linesuffix “dc=mydomain, dc=com”rootdn “cn=admin, dc=mydomain, dc=com”rootpw {crypt}abjnggxhB/yWI

Configuration contd.• The suffix is your “LDAP basename”. Common

practice is to use your DNS domain name as your LDAP basename.

• The rootdn is adminstrator’s name, and rootpw is administrator’s password.

• You also need to change the /etc/ldap.conf and etc/openldap/ldap.conf to change the name of your LDAP server and your basename.

Configuration contd.

Populating your server

The easiest way to populate your LDAP server is that Padl Software which provides a free set of Perl scripts that migrate existing flat files. They are available from www.padl.com/tools.html

Configuration contd.

Setting up a LDAP client

• Edit the LDAP config files (/etc/ldap.conf and etc/openldap/ldap.conf ) to specify the server and your site’s basename.

• You can verify that you are connecting to the LDAP server correctly by running ldapsearch – x, which dumps the entire database.

• Finally, change the appropriate lines in /etc/nsswitch.conf to use the LDAP server as a data source.

USING LDAP

CONNECTING LDAP SERVER

NORMAL LDAP CONNECTION WORKS BY THE PORT 389

AUTHENTICATION METHODS

DATA INTEGRITY AND CONFIDENTIALITY PROTECTION

NETWORK SECURITY

LDAPS

DATA INTEGRITY AND CONFIDENTIALITY PROTECTION

LDAPv3 AND TSL

NETWORK SECURITY

SELECTIVE LISTENING

IP FIREWALL

AUTHENTICATION METHODSSIMPLE AND SASL

TCP WRAPPERS

LDAPS

VERIFICATION

X.509 CERTIFICATES

ALGORITHMS IN OPENSSL

LDAPv3 AND TLS

RFC 2246 DESCRIBES TLS

CLEANED UP AND STANDARDIZED VERSION OF SSL

SWITCHING

DATA INTEGRITY AND CONFIDENTIALITY PROTECTION

SECURITY STRENGHT FACTORS SSF

AUTHENTICATION METHODS

SIMPLE

ANONYMOUS

UNAUTHENTICATED AND

USER/PASWORD AUTHENTICATED

SASL

AN AUTHENTICATION FRAME WORK

SNIFFING

MECHANISMS LIKE CRAM-MD5 AND EXTERNAL

LDAP has broader applications, such as looking up services and devices on the Internet (and intranets). Netscape Communicator can store user

preferences and bookmarks on an LDAP server. There is even a plan for linking all LDAP servers into a worldwide hierarchy, all searchable from

your client.

LDAP promises to save users and administrators time and frustration, making it easy for everyone to connect with people without frustrating

searches for email addresses and other trivia.

Most LDAP servers are simple to install, easily maintained, and easily optimized

The LDAP protocol is both cross-platform and standards-based

LDAP is particularly useful for storing information that you wish to read from many locations, but update infrequently

If the answer to each of the following questions is Yes, then storing your data in LDAP is a good idea.

Would you like your data to be available cross-platform?

Do you need to access this data from a number of computers or applications?

Do the individual records you're storing change a few times

a day or less, on average?

Does it make sense to store this type of data in a flat database instead of a relational database? That is, could

you effectively store all the data for a given item in a single record?