Coder Social home page Coder Social logo

pppd-ldap's Introduction

=== Introduction ===

The original project called pppd-ldap-0.12 originaly developed by
Grigoriy Sitkarev supports only PAP authentication
via LDAP server. The project page of pppd-ldap can be found there:
http://sourceforge.net/projects/pppd-ldap

pppd-chldap is a fork of pppd-ldap which supports CHAP/MSCHAP/MSCHAP-v2
authentication via LDAP server. MSCHAP and MSCHAP-v2 includes MPPE support.

=== CHAP/MSCHAP/MSCHAP-V2 authentification issues ===

CHAP/MSCHAP/MSCHAP-V2 authentification will work only if the following
conditions are met:
1) CHAP will work only if userPassword attribute value is in plain-text format
2) MSCHAP will work if either userPassword is plain-text or if authentication
   password is held in SambaNTPassword attribute as NT-Hash.
   (if MSLANMAN support is enabled password should be held in SambaLMPassword attribute as well)
3) MSCHAP-V2 will work if either userPassword is plain-text or if password is held in
   SambaNTPassword attribute.

=== Description and configuration ===

This docs can be outdated. For the latest versions please refere to project page:
http://sourceforge.net/projects/pppd-ldap

	--- LDAP-enabled pppd(8) ---

	NAME

	pppd_ldap.so - LDAP authentication and information retrieval plugin for
	pppd(8)

	SYNOPSIS

	pppd <option> plugin pppd_ldap.so

	DESCRIPTION

 LDAP plugin pppd_ldap.so permits pppd to perform PAP/CHAP/MSCHAP and MSCHAP-V2 
  authentication against LDAP server instead of the usual
 /etc/ppp/pap-secrets and other files.  LDAP plugin is linked with OpenLDAP
 -lldap library. You'll need to have development part of OpenLDAP library to
 build plugin successfuly. After successfull reception of peer's credentials,
 pppd_ldap rebinds with supplied username and password. If operation succeeds,
 pppd_ldap sets different pppd(8) options according to user information ret-
 rieved from LDAP directory. If operation fails, pppd(8) performs it's
 ordinary operations.

 Search operation constructs search filter using peer name attaching "uid="
 prefix. Thus, uid attribute is used as a login name. After completing search
 operation, pppd_ldap rebinds with the entry's DN. For example if user logs in
 using login name "tofik" and the entry looks like

 dn: cn=Anton A. Postnikov,ou=People,dc=nordcomp,dc=ru
 objectClass: radiusProfile
 objectClass: inetOrgPerson
 ....
 uid: tofik

 plugin searches for the entry using (uid=tofik) and then rebinds with DN
 cn=Anton A. Postnikov,ou=People,dc=nordcomp,dc=ru. This behavior allows to
 establish user's DN in different styles.

 Plugin uses RADIUS-LDAPv3.schema provided with FreeRadius tarballs. Currently
 plugin can use the following attributes and set appropriate values;

	Mandatory attributes

 	dialupAccess - this attribute should be set to YES if we allow PPP connec-
	tion or empty. If this attribute's value is set to FALSE, login is disabl-
	ed.

	radiusAuthType - SHOULD be set to LDAP.

	Additional attributes

 	radiusFramedIPAddress - this attribute determines IP address of the
	authenticating peer. If attribute is not set, normal actions are performed.
	If peer's addres is set by runtime pppd(8) options, it is used if
	LDAP user record has no radiusFramedIPAddress attribute.

	radiusSessionTimeout - this attribute defines session timeout in seconds.
	Connection will be destroyed by pppd(8) after session timeout.

	radiusIdleTimeout - this attribute defines idle timeout in seconds.

	OPTIONS

  LDAP plugin introduces some additional options:

  ldaphost <hostname>
  	Sets LDAP server host name. By default "localhost" is assumed.

  example: ldaphost helga.komitex.ru

  ldapport <number>

 Sets LDAP sever port number. By default LDAP_PORT (389) is used. pppd_ldap
 now supports TLS/SSL. If your LDAP server talks only LDAPS, then set
 ldapport to 636.

  example: ldapport 555

  ldapdn <DN>

 Set to DN to bind with LDAP server, who has enough rights to read necessary
 attributes in LDAP Directory.

  example: ldapdn "cn=pppd,ou=Daemon,dc=nordcomp,dc=ru"

  ldappw <password>

 Set to ldapdn password. Seems not very good... I'll change this behavior
 someday.

  userbasedn <basedn>

 Set to the base DN where to perform search for user accounts in LDAP directory.

  example: "ou=Users,dc=nordcomp,dc=ru"

  ldaptimeout <number>

 ldap search timeout (in sec). 15 seconds assumed by default. set to any
 suitable value.
  example: ldaptimeout 25

  ldapnettimeout <number>

 Sets network operation timeout in seconds. Defaults to 10 seconds.

  ldapusetls

 Enables TLS/SSL connection with LDAP server. Make sure you have specified
 correct ldaphost! If ldaphost name doesn't match server's certificate canonical
 name, connection terminates immediately.

  ldapdbg

 Enables additional debug information and verbose output to syslog.

pppd-ldap's People

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

pppd-ldap's Issues

64 BIT support

Hello Dan,
Thank you for response on Twitter, I compiled plugin with attempt convert it to 64 bit, but plugin failing with FATAL ERROR 11 , all the time. That might indicate issue with arch.

Filter option will be nice enhancement, because I know ppp ldap original does support for it.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.