Service:LDAP: Difference between revisions
Nic-systems (talk | contribs) (Service:LDAP moved to Service LDAP: Namespace change) |
Nic-systems (talk | contribs) mNo edit summary |
||
| Line 1: | Line 1: | ||
# | = This is all woefully out of date = | ||
== List of machine on LDAP vs not on LDAP == | |||
(Not out of date) | |||
LDAP-login boxes: | |||
* Chymera | |||
* Cerberus | |||
* Godzuki | |||
* Frankenstein | |||
* Werewolf | |||
* Dracula | |||
Standalone boxes: | |||
* Omega (472 macpro) | |||
* Delta (470 macmini) | |||
* Delphi | |||
* Alpha (Sameer macpro) | |||
Non-user servers: | |||
* Motion | |||
* Fripp | |||
Don't know: | |||
* Godzilla | |||
* Castor | |||
* Pollux | |||
== Server Setup == | |||
Installed openldap2 using package manager. | |||
Configure LDAP server, /etc/openldap/slapd.conf. | |||
<pre> | |||
include /etc/openldap/schema/core.schema | |||
include /etc/openldap/schema/cosine.schema | |||
include /etc/openldap/schema/inetorgperson.schema | |||
include /etc/openldap/schema/nis.schema | |||
pidfile /var/run/slapd/slapd.pid | |||
argsfile /var/run/slapd/slapd.args | |||
loglevel 256 | |||
password-hash {SSHA} | |||
security ssf=63 | |||
TLSCipherSuite HIGH | |||
TLSCertificateFile /etc/openldap/slapd-cert.pem | |||
TLSCertificateKeyFile /etc/openldap/slapd-key.pem | |||
allow bind_v2 | |||
disallow bind_anon | |||
access to attrs=userPassword | |||
by self write | |||
by * auth | |||
access to attrs=loginShell | |||
by self write | |||
by users read | |||
access to attrs=shadowLastChange | |||
by self write | |||
by users read | |||
access to * | |||
by users read | |||
by * auth | |||
database bdb | |||
suffix "dc=nic,dc=uoregon,dc=edu" | |||
rootdn "cn=admin,dc=nic,dc=uoregon,dc=edu" | |||
rootpw {SSHA}secret | |||
directory /var/lib/ldap/nic.uoregon.edu | |||
mode 0600 | |||
index objectClass eq | |||
index cn,sn,mail eq,sub | |||
cachesize 1000 | |||
replica host=galway.nic.uoregon.edu:389 | |||
tls=yes | |||
bindmethod=simple | |||
binddn="cn=updateadmin,dc=nic,dc=uoregon,dc=edu" | |||
credentials=secret | |||
replogfile /var/lib/ldap/replog | |||
</pre> | |||
Created new SSL certificate request for ldap server. | |||
<pre> | |||
/usr/share/ssl/misc/CA.pl -newreq | |||
</pre> | |||
Removed password from key to simplify starting and stopping service. | |||
<pre> | |||
openssl rsa -in newreq.pem -out newkey.pem | |||
#Edit newreq.pem to remove key section | |||
</pre> | |||
Signed new certificate. | |||
<pre> | |||
CA.pl -sign | |||
</pre> | |||
Installed certificate. | |||
<pre> | |||
cp newcert.pem /etc/openldap/slapd-cert.pem | |||
cp newkey.pem /etc/openldap/slapd-key.pem | |||
chown root.ldap /etc/openldap/slapd*.pem | |||
chmod 640 /etc/openldap/slapd*.pem | |||
</pre> | |||
Created base ldif file for domain and organizational units. | |||
<pre> | |||
dn: dc=nic,dc=uoregon,dc=edu | |||
objectClass: dcObject | |||
objectClass: organizationalUnit | |||
dc: nic | |||
ou: Neuroinformatics Center | |||
dn: ou=people,dc=nic,dc=uoregon,dc=edu | |||
objectClass: organizationalUnit | |||
ou: people | |||
dn: ou=group,dc=nic,dc=uoregon,dc=edu | |||
objectClass: organizationalUnit | |||
ou: group | |||
</pre> | |||
Created binddn.ldif for bind account. | |||
<pre> | |||
dn: cn=anonymous,dc=nic,dc=uoregon,dc=edu | |||
objectClass: person | |||
cn=anonymous | |||
sn=ymous | |||
userPassword: secret | |||
</pre> | |||
Inserted ldif files. | |||
<pre> | |||
slapadd -v -l base.ldif | |||
slapadd -v -l binddn.ldif | |||
</pre> | |||
Added ldap ports to firewall. | |||
<pre> | |||
/usr/sbin/iptables -A INPUT -p tcp --dport ldap -j ACCEPT | |||
/usr/sbin/iptables -A INPUT -p udp --dport ldap -j ACCEPT | |||
/usr/sbin/iptables -A INPUT -p tcp --dport ldaps -j ACCEPT | |||
/usr/sbin/iptables -A INPUT -p udp --dport ldaps -j ACCEPT | |||
</pre> | |||
== Backup Server Setup == | |||
Configured /etc/openldap/slapd.conf | |||
<pre> | |||
include /etc/openldap/schema/core.schema | |||
include /etc/openldap/schema/cosine.schema | |||
include /etc/openldap/schema/inetorgperson.schema | |||
include /etc/openldap/schema/nis.schema | |||
pidfile /var/run/slapd/slapd.pid | |||
argsfile /var/run/slapd/slapd.args | |||
loglevel 256 | |||
password-hash {SSHA} | |||
security tls=112,simple_bind=112 | |||
TLSCipherSuite HIGH | |||
TLSCertificateFile /etc/openldap/slapd-cert.pem | |||
TLSCertificateKeyFile /etc/openldap/slapd-key.pem | |||
allow bind_v2 | |||
disallow bind_anon | |||
access to attrs=userPassword | |||
by self write | |||
by * auth | |||
access to attrs=loginShell | |||
by self write | |||
by users read | |||
access to attrs=shadowLastChange | |||
by self write | |||
by users read | |||
access to * | |||
by users read | |||
by * auth | |||
database bdb | |||
suffix "dc=nic,dc=uoregon,dc=edu" | |||
rootdn "cn=updateadmin,dc=nic,dc=uoregon,dc=edu" | |||
rootpw {SSHA}secret | |||
directory /var/lib/ldap/nic.uoregon.edu | |||
mode 0600 | |||
index objectClass eq | |||
index cn,sn,mail eq,sub | |||
cachesize 1000 | |||
updatedn "cn=updateadmin,dc=nic,dc=uoregon,dc=edu" | |||
updateref uri://ldap.nic.uoregon.edu:389 | |||
</pre> | |||
== Client Setup == | |||
Configured /etc/ldap.conf. | |||
<pre> | |||
host ldap.nic.uoregon.edu | |||
base dc=nic,dc=uoregon,dc=edu | |||
scope sub | |||
binddn cn=anonymous,dc=nic,dc=uoregon,dc=edu | |||
bindpw secret | |||
pam_login_attribute uid | |||
pam_filter objectclass=posixAccount | |||
nss_base_passwd ou=people,dc=nic,dc=uoregon,dc=edu | |||
nss_base_shadow ou=people,dc=nic,dc=uoregon,dc=edu | |||
nss_base_group ou=group,dc=nic,dc=uoregon,dc=edu?one | |||
pam_check_host_attr yes | |||
ssl start_tls | |||
tls_cacertdir /etc/ssl/certs | |||
tls_checkpeer yes | |||
</pre> | |||
Configured /etc/openldap/ldap.conf | |||
<pre> | |||
HOST ldap.nic.uoregon.edu | |||
BASE dc=nic,dc=uoregon,dc=edu | |||
TLS_REQCERT allow | |||
</pre> | |||
'''NOTE:''' SLES 8 combines /etc/ldap.conf and /etc/openldap/ldap.conf into /etc/openldap/ldap.conf. | |||
<pre> | |||
host ldap.nic.uoregon.edu | |||
base dc=nic,dc=uoregon,dc=edu | |||
ldap_version 3 | |||
binddn cn=anonymous,dc=nic,dc=uoregon,dc=edu | |||
bindpw secret | |||
scope sub | |||
pam_filter objectclass=posixAccount | |||
pam_login_attribute uid | |||
pam_check_host_attr yes | |||
pam_password clear | |||
nss_base_passwd ou=people,dc=nic,dc=uoregon,dc=edu?one | |||
nss_base_shadow ou=people,dc=nic,dc=uoregon,dc=edu?one | |||
nss_base_group ou=group,dc=nic,dc=uoregon,dc=edu?one | |||
ssl start_tls | |||
tls_cacertfile /etc/cacert.pem | |||
tls_checkpeer yes | |||
TLS_CACERTDIR /etc/ssl/certs | |||
TLS_REQCERT allow | |||
</pre> | |||
Configure /etc/nsswitch.conf | |||
<pre> | |||
passwd: files ldap | |||
shadow: files ldap | |||
group: files ldap | |||
</pre> | |||
Configured pam. | |||
Redhat, /etc/pam.d/system-auth | |||
<pre> | |||
auth required /lib/security/$ISA/pam_env.so | |||
auth sufficient /lib/security/$ISA/pam_unix.so likeauth nullok | |||
auth sufficient /lib/security/$ISA/pam_ldap.so use_first_pass | |||
auth required /lib/security/$ISA/pam_deny.so | |||
account required /lib/security/$ISA/pam_unix.so broken_shadow | |||
account sufficient /lib/security/$ISA/pam_localuser.so | |||
account sufficient /lib/security/$ISA/pam_succeed_if.so uid < 100 quiet | |||
account [default=bad success=ok user_unknown=ignore authinfo_unavail=ignore | |||
service_err=ignore system_err=ignore] /lib/security/$ISA/pam_ldap.so | |||
account required /lib/security/$ISA/pam_permit.so | |||
password required /lib/security/$ISA/pam_cracklib.so retry=3 type= | |||
password sufficient /lib/security/$ISA/pam_unix.so nullok use_authtok md5 | |||
shadow | |||
password sufficient /lib/security/$ISA/pam_ldap.so use_authtok | |||
password required /lib/security/$ISA/pam_deny.so | |||
session required /lib/security/$ISA/pam_limits.so | |||
session required /lib/security/$ISA/pam_unix.so | |||
session optional /lib/security/$ISA/pam_ldap.so | |||
</pre> | |||
SUSE, /etc/security/pam_unix2.conf | |||
<pre> | |||
auth: use_ldap nullok | |||
account: use_ldap | |||
password: use_ldap md5 nullok | |||
session: none | |||
</pre> | |||
Pam changes might require a reboot to take affect. | |||
== Maintenance == | |||
Start LDAP server. | |||
<pre> | |||
/etc/init.d/ldap start | |||
</pre> | |||
Stop LDAP server. | |||
<pre> | |||
/etc/init.d/ldap stop | |||
</pre> | |||
To renew the ssl cert, follow the instructions in server setup to create the new cert. | |||
[[Category:Service]] | |||
Latest revision as of 02:12, 4 February 2020
This is all woefully out of date
List of machine on LDAP vs not on LDAP
(Not out of date)
LDAP-login boxes:
- Chymera
- Cerberus
- Godzuki
- Frankenstein
- Werewolf
- Dracula
Standalone boxes:
- Omega (472 macpro)
- Delta (470 macmini)
- Delphi
- Alpha (Sameer macpro)
Non-user servers:
- Motion
- Fripp
Don't know:
- Godzilla
- Castor
- Pollux
Server Setup
Installed openldap2 using package manager.
Configure LDAP server, /etc/openldap/slapd.conf.
include /etc/openldap/schema/core.schema
include /etc/openldap/schema/cosine.schema
include /etc/openldap/schema/inetorgperson.schema
include /etc/openldap/schema/nis.schema
pidfile /var/run/slapd/slapd.pid
argsfile /var/run/slapd/slapd.args
loglevel 256
password-hash {SSHA}
security ssf=63
TLSCipherSuite HIGH
TLSCertificateFile /etc/openldap/slapd-cert.pem
TLSCertificateKeyFile /etc/openldap/slapd-key.pem
allow bind_v2
disallow bind_anon
access to attrs=userPassword
by self write
by * auth
access to attrs=loginShell
by self write
by users read
access to attrs=shadowLastChange
by self write
by users read
access to *
by users read
by * auth
database bdb
suffix "dc=nic,dc=uoregon,dc=edu"
rootdn "cn=admin,dc=nic,dc=uoregon,dc=edu"
rootpw {SSHA}secret
directory /var/lib/ldap/nic.uoregon.edu
mode 0600
index objectClass eq
index cn,sn,mail eq,sub
cachesize 1000
replica host=galway.nic.uoregon.edu:389
tls=yes
bindmethod=simple
binddn="cn=updateadmin,dc=nic,dc=uoregon,dc=edu"
credentials=secret
replogfile /var/lib/ldap/replog
Created new SSL certificate request for ldap server.
/usr/share/ssl/misc/CA.pl -newreq
Removed password from key to simplify starting and stopping service.
openssl rsa -in newreq.pem -out newkey.pem #Edit newreq.pem to remove key section
Signed new certificate.
CA.pl -sign
Installed certificate.
cp newcert.pem /etc/openldap/slapd-cert.pem cp newkey.pem /etc/openldap/slapd-key.pem chown root.ldap /etc/openldap/slapd*.pem chmod 640 /etc/openldap/slapd*.pem
Created base ldif file for domain and organizational units.
dn: dc=nic,dc=uoregon,dc=edu objectClass: dcObject objectClass: organizationalUnit dc: nic ou: Neuroinformatics Center dn: ou=people,dc=nic,dc=uoregon,dc=edu objectClass: organizationalUnit ou: people dn: ou=group,dc=nic,dc=uoregon,dc=edu objectClass: organizationalUnit ou: group
Created binddn.ldif for bind account.
dn: cn=anonymous,dc=nic,dc=uoregon,dc=edu objectClass: person cn=anonymous sn=ymous userPassword: secret
Inserted ldif files.
slapadd -v -l base.ldif slapadd -v -l binddn.ldif
Added ldap ports to firewall.
/usr/sbin/iptables -A INPUT -p tcp --dport ldap -j ACCEPT /usr/sbin/iptables -A INPUT -p udp --dport ldap -j ACCEPT /usr/sbin/iptables -A INPUT -p tcp --dport ldaps -j ACCEPT /usr/sbin/iptables -A INPUT -p udp --dport ldaps -j ACCEPT
Backup Server Setup
Configured /etc/openldap/slapd.conf
include /etc/openldap/schema/core.schema
include /etc/openldap/schema/cosine.schema
include /etc/openldap/schema/inetorgperson.schema
include /etc/openldap/schema/nis.schema
pidfile /var/run/slapd/slapd.pid
argsfile /var/run/slapd/slapd.args
loglevel 256
password-hash {SSHA}
security tls=112,simple_bind=112
TLSCipherSuite HIGH
TLSCertificateFile /etc/openldap/slapd-cert.pem
TLSCertificateKeyFile /etc/openldap/slapd-key.pem
allow bind_v2
disallow bind_anon
access to attrs=userPassword
by self write
by * auth
access to attrs=loginShell
by self write
by users read
access to attrs=shadowLastChange
by self write
by users read
access to *
by users read
by * auth
database bdb
suffix "dc=nic,dc=uoregon,dc=edu"
rootdn "cn=updateadmin,dc=nic,dc=uoregon,dc=edu"
rootpw {SSHA}secret
directory /var/lib/ldap/nic.uoregon.edu
mode 0600
index objectClass eq
index cn,sn,mail eq,sub
cachesize 1000
updatedn "cn=updateadmin,dc=nic,dc=uoregon,dc=edu"
updateref uri://ldap.nic.uoregon.edu:389
Client Setup
Configured /etc/ldap.conf.
host ldap.nic.uoregon.edu base dc=nic,dc=uoregon,dc=edu scope sub binddn cn=anonymous,dc=nic,dc=uoregon,dc=edu bindpw secret pam_login_attribute uid pam_filter objectclass=posixAccount nss_base_passwd ou=people,dc=nic,dc=uoregon,dc=edu nss_base_shadow ou=people,dc=nic,dc=uoregon,dc=edu nss_base_group ou=group,dc=nic,dc=uoregon,dc=edu?one pam_check_host_attr yes ssl start_tls tls_cacertdir /etc/ssl/certs tls_checkpeer yes
Configured /etc/openldap/ldap.conf
HOST ldap.nic.uoregon.edu BASE dc=nic,dc=uoregon,dc=edu TLS_REQCERT allow
NOTE: SLES 8 combines /etc/ldap.conf and /etc/openldap/ldap.conf into /etc/openldap/ldap.conf.
host ldap.nic.uoregon.edu base dc=nic,dc=uoregon,dc=edu ldap_version 3 binddn cn=anonymous,dc=nic,dc=uoregon,dc=edu bindpw secret scope sub pam_filter objectclass=posixAccount pam_login_attribute uid pam_check_host_attr yes pam_password clear nss_base_passwd ou=people,dc=nic,dc=uoregon,dc=edu?one nss_base_shadow ou=people,dc=nic,dc=uoregon,dc=edu?one nss_base_group ou=group,dc=nic,dc=uoregon,dc=edu?one ssl start_tls tls_cacertfile /etc/cacert.pem tls_checkpeer yes TLS_CACERTDIR /etc/ssl/certs TLS_REQCERT allow
Configure /etc/nsswitch.conf
passwd: files ldap shadow: files ldap group: files ldap
Configured pam.
Redhat, /etc/pam.d/system-auth
auth required /lib/security/$ISA/pam_env.so auth sufficient /lib/security/$ISA/pam_unix.so likeauth nullok auth sufficient /lib/security/$ISA/pam_ldap.so use_first_pass auth required /lib/security/$ISA/pam_deny.so account required /lib/security/$ISA/pam_unix.so broken_shadow account sufficient /lib/security/$ISA/pam_localuser.so account sufficient /lib/security/$ISA/pam_succeed_if.so uid < 100 quiet account [default=bad success=ok user_unknown=ignore authinfo_unavail=ignore service_err=ignore system_err=ignore] /lib/security/$ISA/pam_ldap.so account required /lib/security/$ISA/pam_permit.so password required /lib/security/$ISA/pam_cracklib.so retry=3 type= password sufficient /lib/security/$ISA/pam_unix.so nullok use_authtok md5 shadow password sufficient /lib/security/$ISA/pam_ldap.so use_authtok password required /lib/security/$ISA/pam_deny.so session required /lib/security/$ISA/pam_limits.so session required /lib/security/$ISA/pam_unix.so session optional /lib/security/$ISA/pam_ldap.so
SUSE, /etc/security/pam_unix2.conf
auth: use_ldap nullok account: use_ldap password: use_ldap md5 nullok session: none
Pam changes might require a reboot to take affect.
Maintenance
Start LDAP server.
/etc/init.d/ldap start
Stop LDAP server.
/etc/init.d/ldap stop
To renew the ssl cert, follow the instructions in server setup to create the new cert.