0% ont trouvé ce document utile (0 vote)
173 vues8 pages

Kerberos

Le document décrit les étapes pour installer et configurer un serveur KDC Kerberos. Il explique comment installer les paquets nécessaires, configurer les fichiers de configuration de base, définir les politiques d'authentification, ajouter des principaux et activer les services réseau protégés par Kerberos.

Transféré par

skafkaf
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
173 vues8 pages

Kerberos

Le document décrit les étapes pour installer et configurer un serveur KDC Kerberos. Il explique comment installer les paquets nécessaires, configurer les fichiers de configuration de base, définir les politiques d'authentification, ajouter des principaux et activer les services réseau protégés par Kerberos.

Transféré par

skafkaf
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
Vous êtes sur la page 1/ 8

I.

Installation et configuration de KDC Kerberos

I.1. Installation

Nous utilisons la commande apt-cache search kerberos pour lister les


paquets disponibles.

debian:~#apt-cache search kerberos

krb5-admin-server - MIT Kerberos master server (kadmind)


krb5-clients - Secure replacements for ftp, telnet and rsh using MIT Kerberos
krb5-config - Configuration files for Kerberos Version 5
krb5-doc - Documentation for MIT Kerberos
krb5-ftpd - Secure FTP server supporting MIT Kerberos
krb5-kdc - MIT Kerberos key server (KDC)
krb5-rsh-server - Secure replacements for rshd and rlogind using MIT
Kerberos
krb5-telnetd - Secure telnet server supporting MIT Kerberos
krb5-user - Basic programs to authenticate using MIT Kerberos

Nous installons tous les paquets nécessaires :


debian:~#apt-get install krb5-kdc krb5-admin-server krb5-user

I.2. Configuration de base de Kerberos

Nous modifions les fichiers de configuration : /etc/kdb5.conf

[libdefaults]
default_realm = B2.R2SI.COM

B2.R2SI.COM = {
kdc = 192.168.100.1
admin_server = 192.168.100.1
default_domain = 192.168.100.1
}

Nous modifions aussi le fichier /etc/krb5kdc/kdc.conf :

B2.R2SI.COM = {
database_name = /var/lib/krb5kdc/principal
admin_keytab = FILE:/etc/krb5kdc/kadm5.keytab
....

Page 1 sur 8
Romain REBOTIER CS 530 – TP2 Novembre 2008
Jean-Marc DUFOUR P2009

Nous tapons ensuite la commande kdb5_util create -r B2.R2SI.COM –s


pour créer le royaume kerberos :

debian:/etc/krb5kdc# kdb5_util create -r B2.R2SI.COM -s


Loading random data
Initializing database '/var/lib/krb5kdc/principal' for realm 'B2.R2SI.COM',
master key name 'K/[email protected]'
You will be prompted for the database Master Password.
It is important that you NOT FORGET this password.
Enter KDC database master key:
Re-enter KDC database master key to verify:

I.3. Définition de politiques

On utilise la commande kadmin.local pour configurer notre royaume


kerberos :

debian:~# kadmin.local
Authenticating as principal root/[email protected] with password.

La commande list_requests permet d’avoir la liste des commandes


disponibles. Pour définir les politiques demandées, on se rend compte qu’il
faut utiliser la commande add_policy :

kadmin.local: add_policy -maxlife "60 days" -minlength "12" admin


kadmin.local: add_policy -maxlife "45 days" -minlength "6" users

Rajout de admin
On rajoute l’utilisateur admin dans le groupe admin :

kadmin.local: addprinc -policy admin admin/[email protected]


Enter password for principal "admin/[email protected]":
Re-enter password for principal "admin/[email protected]":
add_principal: Password is too short while creating
"admin/[email protected]".

On remarque que le mot de passe renter est trop court… admin doit
respecter la politique de « admin », et donc le mot de passé doit avoir plus
de 12 caractères.

Rajout de admin et b
On rajoute les administrateurs admin et b :
kadmin.local: addprinc -policy admin admin/[email protected]
Enter password for principal "admin/[email protected]":

Page 2 sur 8
Romain REBOTIER CS 530 – TP2 Novembre 2008
Jean-Marc DUFOUR P2009

Re-enter password for principal "admin/[email protected]":


Principal "admin/[email protected]" created.
kadmin.local: addprinc -policy admin b/[email protected]
Enter password for principal "b/[email protected]":
Re-enter password for principal "b/[email protected]":
Principal "b/[email protected]" created.

On vérifie que les administrateurs ont bien été rajoutés :


kadmin.local: listprincs
K/[email protected]
b/[email protected]
kadmin/[email protected]
kadmin/[email protected]
kadmin/[email protected]
kadmin/[email protected]
krbtgt/[email protected]
admin/[email protected]

Rajout de Martha, John et Lex


On rajoute les utilisateurs Martha, John et Lex :
kadmin.local: addprinc -policy users [email protected]
Enter password for principal "[email protected]":
Re-enter password for principal "[email protected]":
Principal "[email protected]" created.
kadmin.local: addprinc -policy users [email protected]
Enter password for principal "[email protected]":
Re-enter password for principal "[email protected]":
Principal "[email protected]" created.
kadmin.local: addprinc -policy users [email protected]
Enter password for principal "[email protected]":
Re-enter password for principal "[email protected]":
Principal "[email protected]" created.

Configuration des ACL


On crée le fichier /etc/krb5kdc/kadm5.acl dans lequel on définit les ACL :
admin/[email protected] *
b/[email protected] c
Admin a tous les droits (*) et b a uniquement le droit de changer les mots
de passe.

Connexion à distance
On configure kerberos sur la machine distante. Dans le fichier :
/etc/kdb5.conf on rajoute :
B2.R2SI.COM = {
kdc = 192.168.100.1
admin_server = 192.168.100.1
}

Page 3 sur 8
Romain REBOTIER CS 530 – TP2 Novembre 2008
Jean-Marc DUFOUR P2009

On utilise la commande kinit pour se connecter à notre serveur et générer


un tecket :
debian:/etc# kinit [email protected]
Password for [email protected]:

On utilise la commande klist à distance:


debian:/etc# klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: [email protected]

Valid starting Expires Service principal


12/08/08 04:19:29 12/08/08 14:19:29 krbtgt/[email protected]
renew until 12/09/08 04:19:14

Kerberos 4 ticket cache: /tmp/tkt0


klist: You have no tickets cached

On va voir dans /tmp le jeton Kerberos :


debian:/etc# ls /tmp/
coucou kde-root krb5cc_0 ksocket-root ssh-jlYlzP2932

Une fois la session terminée le jeton Kerberos est toujours dans /tmp. Pour
des questions de sécurité, nous préconisons donc de le détruire avec
kdestroy :

debian:/etc# kdestroy
debian:/etc# klist
klist: No credentials cache found (ticket cache FILE:/tmp/krb5cc_0)

Kerberos 4 ticket cache: /tmp/tkt0


klist: You have no tickets cached

II. Configuration des services « kerberized »

I. Red Hat et Fedora vous permettent d'activer et de désactiver


Kerberos démons de service réseau par l'intermédiaire des fichiers de
configuration dans le répertoire / etc / xinetd.d. Les fichiers suivants
doivent être présents:

1) klogin
2) eklogin
3) krb5-telnet
4) gssftp
5) kshell

Tous ces services peuvent être protégés par les TCP wrappers. Cela
peut être fait en éditant le fichier / etc / hosts.allow et / ou / etc /

Page 4 sur 8
Romain REBOTIER CS 530 – TP2 Novembre 2008
Jean-Marc DUFOUR P2009

hosts.deny fichiers de configuration. Votre configuration iptables


peut également être utilisée pour restreindre l'accès aux services.

 Les étapes :

Étape 1: Ajouter un principal hôte nouveau à la base de données


Kerberos

De la CLI kadmin (qui peut être invoquée sur n'importe quel client DAS
ou sur DAS-M), ajoutez le principal nouvel hôte pour le serveur
d'application à la base de données Kerberos. Il est probablement plus
facile d'exécuter cette commande à partir du serveur d'application,
puisque vous aurez besoin d'ajouter la clé de l'hôte de la keytab sur le
serveur d'application de toute façon. Le nom principal de l'hôte doit
contenir le nom de domaine complet du serveur

kadmin: addprinc -randkey host/post.b2.r2si.com


NOTICE: no policy specified for host/[email protected];
assigning "default"
Principal " host/[email protected]" created.

Étape 2: générer le fichier keytab :

kadmin: ktadd host/post.b2.r2si.com

Étape 3 : Configuration de /etc/hosts.allow de TCP Wrappers

#
# hosts.allow This file describes the names of the hosts which are
# allowed to use the local INET services, as decided
# by the '/usr/sbin/tcpd' server.
#

# Secure the Portmapper to our LAN


portmap : 127. 192.168.100. : ALLOW
portmap : ALL : DENY

### Kerberized services ###

Page 5 sur 8
Romain REBOTIER CS 530 – TP2 Novembre 2008
Jean-Marc DUFOUR P2009

## limit KLOGIN and EKLOGIN connections to local LAN and loopback


klogind : 127. 192.168.100. : ALLOW
klogind : ALL : DENY

## limit TELNET connections to local LAN and loopback


telnetd : 127. 10192.168.100. : ALLOW
telnetd : ALL : DENY

## limit Kerberized FTP connections to local LAN and loopback


ftpd : 127. 192.168.100. : ALLOW
ftpd : ALL : DENY

## limit RSH/RCP connections to local LAN and loopback


kshd : 192.168.100. : ALLOW
kshd : ALL : DENY

Étape 4: Activer les services en éditant les fichiers de configuration dans /


etc / xinetd.d.

Dans les fichiers:


 /etc/xinetd .d/gssftp
 /etc/xinetd.d/krb5 .telnet
 /etc/xinetd.d/eklogin:

On modifier la ligne enable =yes par enable =no pour activer les services.

Étape 5: Restart xinetd

[root@post xinetd.d]# /etc/init.d/xinetd restart


Stopping xinetd: [ OK ]
Starting xinetd: [ OK ]

On utilise netsat pour afficher les services activé :

[root@post xinetd.d]# netstat -ta | grep LISTEN


tcp 0 0 *:kshell *:* LISTEN
tcp 0 0 *:sunrpc *:* LISTEN
tcp 0 0 *:ftp *:* LISTEN
tcp 0 0 *:ssh *:* LISTEN
tcp 0 0 *:telnet *:* LISTEN
tcp 0 0 *:eklogin *:* LISTEN
tcp 0 0 *:klogin *:* LISTEN

On ajoute les machines qui contiennent les services dans base kerberos comme
des principales.
Étape 1 et 2 telle que le nom host représente le nom de service kerberisé

Et on déplace le fichier krb5.keytab dans les machine client de réseau kerberisé


par la commande scp, et on modifié les droit d’utilisation de ce fichier.

Page 6 sur 8
Romain REBOTIER CS 530 – TP2 Novembre 2008
Jean-Marc DUFOUR P2009

 Exemples d'utilisation des services Kerberos

Le service Kerberos TELNET est similaire au service Kerberos RLOGIN. Il ne


crypter les informations d'authentification par défaut, le reste de la session est
envoyé "en clair". Vous devez utiliser l'option-a à utiliser TELNET dans ce mode.
Si vous ne spécifiez pas l'option-a (qui tente la connexion automatique), la
session va échouer.

Pour crypter toute la session, vous devez utiliser l'option-x. Ci-dessous, vous
verrez des exemples de tous les trois scénarios:

[kitty@ushas kitty]$ telnet post


Trying 192.168.100.1...
Connected to post.b2.r2si.com (192.168.100.4).
Escape character is '^]'.
telnetd: No authentication provided.
Connection closed by foreign host.

[kitty@ushas kitty]$ telnet -a post


Trying 192.168.100.1...
Connected to post.b2.r2si.com (192.168.100.4).
Escape character is '^]'.
[ Kerberos V5 accepts you as ``[email protected]'' ]
Last login: Tue Jun 15 09:28:47 from ushas

######################
# #
# POST #
# #
######################
Connection closed by foreign host.

FTP Kerberisé :

Pour connecter au serveur ftp en utilisant kerberos :

[kitty@ushas kitty]$ ftp -x post


Connected to post.kerb.org.
220 post.kerb.org FTP server (Version 5.60) ready.
334 Using authentication type GSSAPI; ADAT must follow
GSSAPI accepted as authentication type
GSSAPI authentication succeeded
200 Data channel protection level set to private.
Name (post:kitty):
232 GSSAPI user [email protected] is authorized as kitty
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> cd ISO
250 CWD command successful.
ftp> ls

Page 7 sur 8
Romain REBOTIER CS 530 – TP2 Novembre 2008
Jean-Marc DUFOUR P2009

227 Entering Passive Mode (10,10,22,41,181,173)


150 Opening ASCII mode data connection for /bin/ls.
total 95336
-rw------- 1 labuser 46399488 Jun 15 12:58 cd-puppy.iso
-rw-rw-r-- 1 labuser 51109888 Jun 15 12:58 damnsmall-0.5.2.iso
-rw-rw-r-- 1 labuser 54 Jun 15 12:58 damnsmall-0.5.2.md5.txt
226 Transfer complete.
ftp> mget damnsmall*
mget damnsmall-0.5.2.iso? y
227 Entering Passive Mode (10,10,22,41,181,180)
150 Opening BINARY mode data connection for damnsmall-0.5.2.iso (51109888
bytes).
226 Transfer complete.
51109888 bytes received in 16 seconds (3.1e+03 Kbytes/s)
mget damnsmall-0.5.2.md5.txt? y
227 Entering Passive Mode (10,10,22,41,181,184)
150 Opening BINARY mode data connection for damnsmall-0.5.2.md5.txt (54
bytes).
226 Transfer complete.
54 bytes received in 0.017 seconds (3.2 Kbytes/s)
ftp> quit
221 Goodbye.
[kitty@ushas kitty]$

Page 8 sur 8

Vous aimerez peut-être aussi