configuration simple d'installation Kerberos

configuration simple d'installation Kerberos

Tags (séparés par des espaces): Kerberos


Tout d'abord, un bref historique de Kerberos

Kerberos est une sécurité de protocole d'authentification réseau, a d'abord été mis au point par le Massachusetts Institute of Technology, utilisé pour protéger un serveur de réseau fourni par le projet Athena. L'accord avec le caractère mythologique grec nom Kerberos (ou Cerberus), il est le séjour des morts d'un dieu chien de garde féroce à trois têtes dans la mythologie grecque.

kerberos

L'Internet est un endroit très dangereux. De nombreux protocoles utilisés dans l'Internet ne fournit aucune sécurité. Certains sites utilisent un pare-feu pour tenter de résoudre les problèmes de sécurité du réseau. Malheureusement, le pare-feu si « méchants » sont à l'extérieur, il est souvent très stupide de supposer. La réalité est que la plupart des événements de destruction de la criminalité informatique sont initiés à l'intérieur.

solutions de réseau Kerberos comme des problèmes de sécurité, l'utilisation de la technologie de cryptage fort, afin que les clients peuvent se connecter sur un réseau non sécurisé pour prouver l'identité du serveur. Une fois le client et le serveur Kerberos utilisé pour prouver l'identité de l'autre, ils peuvent également chiffrer toutes les communications pour assurer l'intégrité et la confidentialité des données. Kerberos sur la conception du système en utilisant l'architecture C / S, basée sur la technologie de chiffrement des supports que décembre client et le serveur d'authentification mutuelle.

En bref, Kerberos est une solution de sécurité réseau au problème. Il fournit un cryptage et une authentification à des outils basés sur le Web pour vous aider à protéger vos systèmes d'information dans toute l'entreprise.

Deux principes de base, Kerberos

1, principe d'authentification Kerberos

Kerberos est un mécanisme d'authentification tiers par laquelle l'utilisateur et les souhaits de l' utilisateur pour accéder au service dépend du serveur Kerberos pour authentifier l'autre. Ce mécanisme prend également en charge le chiffrement de toutes les communications entre l'utilisateur et le service. serveur Kerberos en tant que centre de distribution de clés, appelée KDC. À un niveau élevé, il se compose de trois parties:
: 1, les utilisateurs de bases de données et de services (c. -à- directeurs) et leur mot de passe Kerberos respectif
2, un serveur d'authentification (AS), effectuer l' authentification initiale et de délivrance de tickets d'autorisation (TGT)
3, subvention de billets ticket de service du serveur (TGS) a publié un suivi (ST) sur la base du TGT initial

Sur la relation AS, TGS, client utilisateur, serveur d'applications, TGT et ST de, illustrée à la figure 17:

image.png-113KB

utilisateur principal, la demande d'authentification de l'AS, AS retourne un mot de passe crypté à l'aide de TGT kerberos utilisateur principal, il est seulement son principal utilisateur et AS. Les utilisateurs principale utilisation locale de mot de passe Kerberos pour déchiffrer le TGT, et à partir de ce point jusqu'à ce que le projet de loi arrive à expiration, le principal utilisateur peut utiliser ce TGT pour obtenir un ticket de service (ST) du TGS.

système d'authentification Kerberos à l'aide d'une série de messages chiffrés pour prouver au client de démonstration est en cours d'exécution dans l'utilisateur spécifié. Kerberos pour réduire le nombre de messages au besoin à l'aide d'une vérification de l'horodatage, en plus de « tikcket-octroi » (TGS) est utilisé pour le service en charge l'authentification ultérieure, le principal n'a pas besoin de re-saisir le mot de passe.

Dans un premier temps, le client et le serveur ne partagent pas la clé de chiffrement. Chaque fois qu'un nouveau client pour vérifier authentifie machine elle-même à compter sur une nouvelle génération de clés de chiffrement, et distribuer en toute sécurité les uns des autres. La nouvelle clé de chiffrement appelé une clé de session, ticket Kerberos est utilisé pour le distribuer au démonstrateur.

Étant donné que le principal service ne peut pas toujours fournir le mot de passe pour déchiffrer le TGT, il utilise un fichier spécial, appelé keytab, ce fichier contient son authentification et d' autorisation.
Cela permet le billet de service principal pour accéder aux différents services. le contrôle du serveur hôte Kerberos défini, et le service est désigné comme un domaine d'utilisateur (domaine).

2, notes Kerberos

Nom utilisateur / FQDN (Full Quafilied Domain Name) Nom d'hôte @REALM (domaine protégé, tout en majuscules)

Bien sûr, cela nécessite le nom d'utilisateur existe dans l'utilisateur Linux

FQDN nom de domaine complet, est sûr d'apporter nomhôte.domaine cette forme, bien sûr, si votre hôte ne donne pas dans le domaine, le nom de domaine ne peut pas écrire. Quoi qu'il en soit, c'est tout au nom d'hôte ainsi que le nom de domaine (nom de domaine s'il existe), qui est la sortie du nom d'hôte du nom d'hôte. Mais en fait, dans lequel Kerberos, le nom d'hôte n'est pas appelé, mais appelé instance, d'instance, il ne peut nommer aucun serveur hôte, mais facile à comprendre et reconnaître que nous obtenons encore lui à regarder le nom d'hôte d'origine elle.

REALM, domaine Kerberos protégé par qui est qu'une classe ou un ensemble de groupe par le service de protection du serveur Kerberos, que vous pouvez imaginer comme un domaine Windows. En raison d'un KDC peut protéger plusieurs domaines simultanément, par exemple, vous ne pouvez pas seulement protéger Hadoop sur un groupe de serveurs KDC, mais aussi pour protéger un groupe de serveurs MYSQL, donc nous utilisons généralement le nom de domaine à distinguer.

Si vous utilisez le nom d'hôte à l'intérieur du nom de domaine, vous devez écrire la deuxième partie du principal, sinon vous ne serez pas en mesure de vérifier la légitimité de l'hôte KDC, chiffré avec un TGT aux informations de nom d'hôte.

En outre, une attention particulière est, domaine (nom de domaine), il y a une deuxième partie, domaine (domaine) La troisième partie du mot en chinois est le même, mais tout à fait différent du mot anglais, ce qui signifie qu'ils expriment complètement différent. Étant donné que le domaine Kerberos est généralement partie du nom de domaine sera écrit sous la forme, il sera source de confusion, mais en fait, vous avez compris dans le cadre du domaine des fenêtres de groupe de travail ou à la maison dans ce domaine est possible. Le nom peut facilement jouer, pas nécessairement avec votre nom de domaine. Juste un nom de code pour distinguer ensemble différent de services.

Remarque: Le protocole Kerberos est sensible au temps, tous les hôtes du domaine doit être le temps synchronisé. Même la différence de temps de système local entre le client et le KDC aussi petit que 5 minutes, votre client pourrait échec d'authentification.

Trois, l'installation de service KDC et configuration

1. Vérifiez que les hôtes peuvent analyser

Le fichier hosts du nom d'hôte de nom d' hôte est acquise au format FQDN (le cas selon le fichier hosts), hôte Kerberos exigences de format FQDN doivent être nommées en minuscules.
Par conséquent, le fichier hosts dans le format suivant:

ip vecs02583.domain.com vecs02583

Si vous ne le faites pas comme domaine long domain.com, il faut noter que le nom d'hôte doit être des lettres minuscules.
Assurez -vous que le temps entre tous les clients et les serveurs DNS et la synchronisation sont correctement résolus.

2, l'installation service KDC

hôte KDC lui - même pour être très sûr, généralement exécuter le programme hôte KDC.
Une fois le logiciel ci - dessus est installé, le fichier de configuration est généré sur le KDC de la /etc/krb5.conf et hôte, reflètent respectivement le nom de domaine et mappages domaine-domaine.
Sous pénètre vecs02583 (KDC noeud serveur est le noeud) de l'utilisateur root

yum -y install krb5-server krb5-libs krb5-auth-dialog krb5-workstation openldap-clients

3, de modifier la principale /etc/krb5.conf du fichier de configuration, ce profil inférieur est distribué à tous les serveurs de client ultérieure Kerberos.

/etc/krb5.conf: contient des informations de configuration Kerberos. Par exemple, la position KDC, admin Kerberos comme royaumes. Profil sur la nécessité d'utiliser Kerberos toutes les machines sont synchronisées, y compris kerberos Server et les machines Kerberos client. Pour le nom juste besoin la configuration de base.
Exemple de configuration:

vim /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 = HADOOP.COM
 dns_lookup_realm = false
 dns_lookup_kdc = false
 ticket_lifetime = 24h
 renew_lifetime = 7d
 forwardable = true
[realms]
 HADOOP.COM = {
  kdc = vecs02583
  admin_server = vecs02583
 }
[domain_realm]
 .hadoop.com = HADOOP.COM
 hadoop.com = HADOOP.COM

Description:
[logging]: Indique que le côté serveur d'impression connecter l'emplacement
[libdefaults]: La configuration par défaut pour chaque connexion, vous devez faire attention à la petite clé suivante configuration
default_realm = HADOOP.COM défaut royaume, le nom doit être configuré avec le domaine de la cohérente.
udp_preference_limit = 1 peut être empêchée d'interdire l'utilisation d'une erreur de Hadoop en
temps oticket_lifetime les certificats en effet, généralement 24 heures.
orenew_lifetime montrent limite la plus longue de temps la preuve peut être différée, généralement pendant une semaine. Lorsque le certificat expire, l'
accès ultérieur aux services de certification sécurisée échouera.
KDC: représentants de KDC à l'emplacement. Le format est machine: Port
admin_server: admin sur la position de nom. Le format est machine: Port
default_domain: représente le nom de domaine par défaut.

4, la configuration kdc.conf

Par défaut sur /var/kerberos/krb5kdc/kdc.conf. Ou modifier l'emplacement du fichier de configuration en couvrant variable d'environnement KRB5_KDC_PROFILE.
vim /var/kerberos/krb5kdc/kdc.conf

[kdcdefaults]
 kdc_ports = 88
 kdc_tcp_ports = 88
[realms]
 HADOOP.COM = {
  #master_key_type = aes256-cts
  acl_file = /var/kerberos/krb5kdc/kadm5.acl
  dict_file = /usr/share/dict/words
  admin_keytab = /var/kerberos/krb5kdc/kadm5.keytab
  supported_enctypes = aes256-cts:normal aes128-cts:normal des3-hmac-sha1:normal arcfour-hmac:normal des-hmac-sha1:normal des-cbc-md5:normal des-cbc-crc:normal
 }

Description:
HADOOP.COM: un ensemble de royaumes. Nom au hasard. Kerberos peut prendre en charge plusieurs domaines, il augmentera la complexité. Cet article ne traite pas. Sensible à la casse, généralement utilisé pour identifier tous les bouchons. Les domaines de la machine hôte sans relation importante.
max_renewable_life = 7d renwe concerne si le ticket doit être configuré.
master_key_type: supported_enctypes et l' utilisation par défaut AES256-cts. Depuis, en utilisant JAVA besoin d'authentification AES256-cts d'installer le paquet de pot supplémentaire, d' autres références sur le cryptage AES-256 2.2.9: Il a recommandé de ne pas utiliser.
fichier_acl: marqué les droits de l' utilisateur admin. Le format de fichier est des
autorisations Kerberos_principal [target_principal] [restrictions] wildcards de soutien et ainsi de suite.
admin_keytab: KDC être chèque keytab. Je mentionnerai plus tard comment créer.
supported_enctypes: mode de contrôle pris en charge. Note AES256-cts installation de pot supplémentaire nécessite JDK.

Cinquièmement, créer / initialiser la base de données Kerberos

Initialisé et a commencé: Après avoir terminé ce qui précède deux fichiers de configuration, il peut être initialisé et a commencé.

[root@VECS02583 ~]# /usr/sbin/kdb5_util create -s -r HADOOP.COM

Dans lequel, [- s] représente fichier de dissimulation de génération, et stocke la clé du serveur maître (krb5kdc) peut également utiliser [-r] pour spécifier un nom de domaine - Quand faut un domaine de pluralité défini dans krb5.conf a.
chemin / var / kerberos / krb5kdc Enregistrer Si vous avez besoin de reconstruire la base de données, principale dans le répertoire des fichiers connexes peuvent être supprimés
dans ce processus, nous allons entrer dans la gestion des mots de passe de la base de données. Mot de passe défini ici doit se rappeler, si vous oubliez, vous ne pouvez pas gérer le serveur Kerberos.
Lorsque la base de données Kerberos est créé, vous pouvez voir le répertoire / var / kerberos / krb5kdc gonfle en plusieurs fichiers:

-rw------- 1 root root   22 Nov 23  2016 kadm5.acl
-rw------- 1 root root  405 Feb 23 20:25 kdc.conf
-rw------- 1 root root 8192 Feb 23 22:26 principal
-rw------- 1 root root 8192 Feb 23 21:56 principal.kadm5
-rw------- 1 root root    0 Feb 23 21:56 principal.kadm5.lock
-rw------- 1 root root    0 Feb 23 22:26 principal.ok

Six, l'ajout d'administrateur de base de données KDC

Nous devons ajouter des directeurs administratifs (c. -à- la capacité de gérer la base de données des directeurs) pour la base de données Kerberos - au moins ajouter un principal Kerberos pour rendre le processus de gestion de kadmind capable de communiquer avec le programme kadmin sur le réseau.
Joué sur le maste KDC (vecs02583):

/usr/sbin/kadmin.local -q "addprinc admin/admin"

Et un mot de passe.

kadmin.local
peut être exécuté directement sur le KDC maître, sans avoir d' abord par l' authentification Kerberos, en fait, il n'a qu'à présent
accès en lecture et en écriture au fichier.

Sept, définissez les autorisations ACL pour l'administrateur de base de données

Sur le KDC nous devons modifier le fichier à définir des autorisations Acl acl chemin par défaut du fichier est /var/kerberos/krb5kdc/kadm5.acl (Vous pouvez également modifier le fichier dans kdc.conf). Kerberos est le démon kadmind utilise ce fichier pour gérer l'accès à la base de données Kerberos. Pour ces opérations peuvent avoir un impact pincipal, acl fichiers qui peuvent contrôler les principaux autres pricipale peuvent fonctionner.

Nous sommes maintenant définir des autorisations pour l'administrateur: le contenu du fichier /var/kerberos/krb5kdc/kadm5.acl modifier

vim /var/kerberos/krb5kdc/kadm5.acl

*/[email protected]

Représente le nom correspondant /[email protected] sont considérés comme admin, oui d'autorisation. Au nom de toute autorité.

Huit, kerberos démarrer et de processus d'arrière-plan est deamon

daemons Démarrer Kerberos dans le KDC maître

[root@VECS02583 /]# service krb5kdc start
[root@VECS02583 /]# service kadmin start

au démarrage

[root@VECS02583 /]# chkconfig krb5kdc on
[root@VECS02583 /]# chkconfig kadmin on

KDC a maintenant au travail. Ces deux daemons courront en arrière - plan, vous pouvez visualiser les fichiers journaux (de /var/log/krb5kdc.log et /var/log/kadmind.log).
commande Kinit peut être vérifié par deux daemons fonctionne correctement.

Neuf, sur le chiffrement AES-256

Pour centos5, 6 et les systèmes ci - dessus, chiffré à l' aide par défaut AES-256. Cela exige que tous les nœuds du cluster pour installer Java Cryptography Extension (JCE) Unlimited Strength File Politique de compétence.
Le fichier téléchargé est un sac zip, déliée, l'intérieur des deux fichiers dans le répertoire suivant: $ JAVA_HOME / jre / lib / sécurité

Configuration JCE, parce CentOS6.5 et au-dessus des systèmes utilisant le cryptage AES-256 par défaut, exigeant que tous les nœuds installer et configurer le chemin de téléchargement JCE, JCE: http://www.oracle.com/technetwork/java/javase/downloads/ jce8-download-2133166.html

Dix, configurer le cluster d'autres Clients Kerberos

client Kerberos à utiliser la machine de montage suivante

yum install krb5-workstation krb5-libs krb5-auth-dialog

Configuration krb5.conf
configuration /etc/krb5.conf sur ces hôtes, le contenu de ce fichier avec les fichiers KDC peuvent être compatibles.

[logging]
 default = FILE:/var/log/krb5libs.log
 kdc = FILE:/var/log/krb5kdc.log
 admin_server = FILE:/var/log/kadmind.log

[libdefaults]
 default_realm = HADOOP.COM
 dns_lookup_realm = false
 dns_lookup_kdc = false
 ticket_lifetime = 24h
 renew_lifetime = 7d
 forwardable = true

[realms]
 HADOOP.COM = {
  kdc = vecs02583
  admin_server = vecs02583
 }

[domain_realm]
 .hadoop.com = HADOOP.COM
 hadoop.com = HADOOP.COM

Je suppose que tu aimes

Origine www.cnblogs.com/hit-zb/p/12534426.html
conseillé
Classement