Bonjour,
J’essaye de mettre en place un SSO via apache et kerberos dans le but de me connecter à des sites intranet sans avoir à taper mon login + mot de passe.
J’évolue dans un environnement :
- Windows 2008R2 (pour le DC et KDC)
- Debian lenny pour mon serveur Web (hébergeant les sites sur lesquels se connecter)
- un client windows 7 (avec lequel j’essaie de me connecter aux sites intranet)
J’ai suivi plein de tuto par exemple:
grolmsnet.de/kerbtut/
xavier.dusart.free.fr/nagios/kerberos.html
acksyn.org/diary/?p=460
tuxlanding.net/authentificat … i-domaine/
[size=150]Passons maintenant aux choses sérieuses:[/size]
sur ma machine linux qui héberge les sites:
supervisiontest:~# ktutil
ktutil: rkt /etc/krb5.keytab
ktutil: l
slot KVNO Principal
1 6 HTTP/supervisiontest.groupe.net@GROUPE.NET
2 6 HTTP/supervisiontest.groupe.net@GROUPE.NET
3 6 HTTP/supervisiontest.groupe.net@GROUPE.NET
4 6 HTTP/supervisiontest@GROUPE.NET
5 6 HTTP/supervisiontest@GROUPE.NET
6 6 HTTP/supervisiontest@GROUPE.NET
ktutil: q
supervisiontest:~# kinit -k -t /etc/krb5.keytab HTTP/supervisiontest
kinit(v5): Client not found in Kerberos database while getting initial credentials
supervisiontest:~# kinit -k HTTP/supervisiontest
kinit(v5): Client not found in Kerberos database while getting initial credentials
supervisiontest:~# kinit -k HTTP/supervisiontest.groupe.net
kinit(v5): Key table entry not found while getting initial credentials
supervisiontest:~# kinit -k supervisiontest
kinit(v5): Key table entry not found while getting initial credentials
supervisiontest:~# kinit -k -t /etc/krb5.keytab supervisiontest
kinit(v5): Key table entry not found while getting initial credentials
supervisiontest:~# kinit supervisiontest
Password for supervisiontest@GROUPE.NET: (ça ne marche que pour lui)
supervisiontest:~#
supervisiontest:~# kinit supervisiontest.groupe.net
kinit(v5): Client not found in Kerberos database while getting initial credentials
ça ne marche donc que pour kinit supervisiontest
(ou n’importe quel autre login court, existant dans l’AD)
j’ai refait ma keytab plusieurs fois car je pensais que ça devais venir de là… mais rien y fait!
j’ai réussi à me connecter à NAGIOS via kerberos lorsque dans /etc/apache2/httpd.conf KrbVerifyKDC est sur off et KrbMethodK5Passwd est sur on, ce qui n’est pas mon but… (car: 1) ça demande le mot de passe et 2) ça ne vérifie pas le ticket avec le kdc…)
[code]KrbVerifyKDC on | off
(set to on by default)
This option can be used to disable the verification tickets against local keytab to prevent KDC spoofing atacks. It should be used only for testing purposes. You have been warned. [/code]
[size=150]Ma config :[/size]
[code]/etc/krb5.conf :
[logging]
default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log
[libdefaults]
default_realm = GROUPE.NET
default_keytab_name = FILE:/etc/krb5.keytab
kdc_timesync = 1
ccache_type = 4
forwardable = true
proxiable = true
fcc-mit-ticketflags = true
dns_lookup_realm = false
dns_lookup_kdc = false
[realms]
GROUPE.NET = {
kdc = admaster2k8.groupe.net
kdc = adslave2k8.groupe.net
master_kdc = admaster2k8.groupe.net
default_domain = groupe.net
admin_server = admaster2k8.groupe.net
}
[domain_realm]
.groupe.net = GROUPE.NET
groupe.net = GROUPE.NET
supervisiontest.groupe.net = GROUPE.NET
[appdefaults]
pam = {
debug = false
ticket_lifetime = 36000
renew_lifetime = 36000
forwardable = true
krb4_convert = false
}[/code]
[code]/etc/apache2/httpd.conf :
<Location /nagios>
AuthType Kerberos
AuthName "Kerberos Login"
KrbMethodNegotiate On
KrbMethodK5Passwd on
KrbAuthRealms GROUPE.NET
Krb5KeyTab /etc/krb5.keytab
require valid-user
KrbVerifyKDC off
KrbSaveCredentials off
LogLevel debug
[/code]
[code]
/etc/krb5kdc/kdc.conf
[kdcdefaults]
v4_mode = nopreauth
kdc_ports = 88,750
kdc_tcp_ports = 88
[realms]
GROUPE.NET = {
database_name = /etc/krb5kdc/principal
admin_keytab = FILE:/etc/krb5kdc/kadm5.keytab
acl_file = /etc/krb5kdc/kadm5.acl
dict_file = /usr/share/dict/words
key_stash_file = /etc/krb5kdc/stash
kadmind_port = 749
kdc_ports = 88,750
max_life = 7d 0h 0m 0s
kdc_addrs = 172.17.17.1
}[/code]
Et voici ce que je retrouve dans mon log apache /var/log/apache2/error.log:
Quand on se connecte avec un login et un mdp correct sur l’interface web de NAGIOS :
Quand on se connecte avec un login ou un mdp incorrect sur l’interface web de NAGIOS :
N’importe quelle aide/question/conseil sera bienvenue… je désespère.
Merci.