GNU/Linux >> Znalost Linux >  >> Linux

Jak nainstalovat server Kerberos 5 KDC v systému Linux pro ověřování

Kerberos je síťový ověřovací protokol.

Kerberos poskytuje silnou kryptografickou autentizaci vůči zařízením, která umožňuje klientům a serverům komunikovat zabezpečenějším způsobem. Je navržen tak, aby řešil problémy se zabezpečením sítě.

Když firewally fungují jako řešení pro narušení z vnějších sítí, Kerberos se obvykle používá k řešení narušení a dalších bezpečnostních problémů v síti.

Aktuální verze Kerberos je verze 5, která se nazývá KRB5 .

Abychom mohli implementovat Kerberos, potřebujeme mít na serveru spuštěnou službu centralizovaného ověřování.

Tato služba se nazývá KEY DISTRIBUTION CENTER (KDC).

Server registrovaný u KDC je důvěryhodný pro všechny ostatní počítače v oblasti Kerberos.

Ukázkový soubor krb5.conf

Zde je příklad souboru krb5.conf, který obsahuje všechny informace o mapování REALM a domény na REALM,

# cat /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 = EXAMPLE.COM
 dns_lookup_realm = false
 dns_lookup_kdc = false
 ticket_lifetime = 24h
 renew_lifetime = 7d
 forwardable = true

[realms]
 EXAMPLE.COM = {
  kdc = kerberos.example.com
  admin_server = kerberos.example.com
 }

[domain_realm]
 .example.com = EXAMPLE.COM
 example.com = EXAMPLE.COM

Nainstalujte server Kerberos KDC

Z bezpečnostních důvodů se doporučuje provozovat server Kerberos (KDC) na samostatném serveru.

Stáhněte a nainstalujte serverový balíček krb5.

# rpm -ivh krb5-server-1.10.3-10.el6_4.6.x86_64.rpm
Preparing...       ########################################### [100%]
   1:krb5-server   ########################################### [100%]

Před konfigurací KDC ověřte, že jsou nainstalovány následující otáčky:

# rpm -qa | grep -i krb5
pam_krb5-2.3.11-9.el6.x86_64
krb5-server-1.10.3-10.el6_4.6.x86_64
krb5-workstation-1.10.3-10.el6_4.6.x86_64
krb5-libs-1.10.3-10.el6_4.6.x86_64

Upravte soubor /etc/krb5.conf

Změňte /etc/krb5.conf tak, aby odrážel jako níže, s příslušným mapováním REALM a DOMAIN_REALM.

# cat /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 = MYREALM.COM
 dns_lookup_realm = false
 dns_lookup_kdc = false
 ticket_lifetime = 24h
 renew_lifetime = 7d
 forwardable = true

[realms]
 MYREALM.COM = {
  kdc = elserver1.example.com
  admin_server = elserver1.example.com
 }

[domain_realm]
 .myrealm.com = MYREALM.COM
 myrealm.com = MYREALM.COM

Upravit soubor kdc.conf

Také kdc.conf by měl být upraven, jak je uvedeno níže.

# cat /var/kerberos/krb5kdc/kdc.conf
[kdcdefaults]
 kdc_ports = 88
 kdc_tcp_ports = 88

[realms]
 MYREALM.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
 }

Vytvořit databázi KDC

Dále vytvořte databázi KDC pomocí příkazu kdb5_util, jak je ukázáno níže. V této fázi zadejte příslušné heslo pro hlavní klíč databáze KDC.

# /usr/sbin/kdb5_util create -s
Loading random data
Initializing database '/var/kerberos/krb5kdc/principal' for realm 'MYREALM.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:

Přidělit oprávnění správce

Uživatelům lze udělit administrátorská práva k databázi pomocí souboru /var/kerberos/krb5kdc/kadm5.acl.

# cat /var/kerberos/krb5kdc/kadm5.acl
*/[email protected]     *

Ve výše uvedeném příkladu má jakýkoli principál v MYREALM s instancí správce všechna administrátorská oprávnění.

Vytvořte ředitele

Vytvořte objekt pomocí následujícího příkazu. V tomto příkladu jsem vytvořil principál s uživatelským jménem „eluser“.

# kadmin.local -q "addprinc eluser/admin"
Authenticating as principal root/[email protected] with password.
WARNING: no policy specified for eluser/[email protected]; defaulting to no policy
Enter password for principal "eluser/[email protected]":
Re-enter password for principal "eluser/[email protected]":
Principal "eluser/[email protected]" created.

Spusťte službu Kerberos

Spusťte démony KDC a kadmin, jak je znázorněno níže.

# service krb5kdc start
Starting Kerberos 5 KDC:               [  OK  ]

# service kadmin start
Starting Kerberos 5 Admin Server:      [  OK  ]

Konfigurace klienta Kerberos

Nakonfigurujte klienta Kerberos pro ověřování proti databázi KDC:

Nyní se podívejme, jak nakonfigurovat klienta krb5 pro ověřování proti databázi Kerberos KDC, kterou jsme vytvořili výše.

Krok 1:Nainstalujte balíčky krb5-libs a krb5-workstation na klientský počítač.

Krok 2:Zkopírujte soubor /etc/krb5.conf ze serveru KDC do klientského počítače.

Krok 3:Nyní musíme vytvořit principála pro klienta v databázi KDC/Kerberos.

Pomocí níže uvedených příkazů můžete vytvořit objekt pro klientský počítač na hlavním serveru KDC. V níže uvedeném příkladu vytvářím hlavní hostitel pro klienta elserver3.example.com na hlavním serveru KDC elserver1.example.com

# kadmin.local -q "addprinc host/elserver3.example.com"
Authenticating as principal root/[email protected] with password.
WARNING: no policy specified for host/[email protected]; defaulting to no policy
Enter password for principal "host/[email protected]":
Re-enter password for principal "host/[email protected]":
Principal "host/[email protected]" created.

Krok 4:Extrahujte krb5.keytab pro klienta z hlavního serveru KDC pomocí níže uvedeného příkazu:

# kadmin.local -q "ktadd -k /etc/krb5.keytab host/elserver3.example.com"
Authenticating as principal root/[email protected] with password.
Entry for principal host/elserver3.example.com with kvno 2, encryption type aes256-cts-hmac-sha1-96 added to keytab WRFILE:/etc/krb5.keytab.
Entry for principal host/elserver3.example.com with kvno 2, encryption type aes128-cts-hmac-sha1-96 added to keytab WRFILE:/etc/krb5.keytab.
Entry for principal host/elserver3.example.com with kvno 2, encryption type des3-cbc-sha1 added to keytab WRFILE:/etc/krb5.keytab.
Entry for principal host/elserver3.example.com with kvno 2, encryption type arcfour-hmac added to keytab WRFILE:/etc/krb5.keytab.
Entry for principal host/elserver3.example.com with kvno 2, encryption type des-hmac-sha1 added to keytab WRFILE:/etc/krb5.keytab.
Entry for principal host/elserver3.example.com with kvno 2, encryption type des-cbc-md5 added to keytab WRFILE:/etc/krb5.keytab.

Tím je konfigurace dokončena. V této fázi je vše hotovo.

Od této chvíle pokaždé, když navážete připojení SSH, RSH, hostitel ověří svou identitu proti databázi KDC pomocí souboru keytab a vytvoří zabezpečené připojení přes Kerberos.

Ktadd se používá ke generování nové tabulky klíčů nebo k přidání principála do existující tabulky klíčů z příkazu kadmin.

Ktremove se používá k odstranění principála z existující tabulky klíčů. Příkaz k odstranění principála, který jsme vytvořili výše, je,

kadmin.local -q "ktremove -k /etc/krb5.keytab –q all"

Odstranit databázi KDC

Z nějakého důvodu, pokud musíte odstranit databázi KDC, použijte následující příkaz:

# kdb5_util -r MYREALM.COM destroy
kdb5_util: Deleting KDC database stored in /usr/local/var/krb5kdc/principal, you sure
(type yes to confirm)? <== yes
OK, deleting database '/usr/local/var/krb5kdc/principal'...

Volba -f ve výše uvedeném příkazu vynutí smazání databáze KDC.

Zálohování a obnovení databáze KDC

Chcete-li zálohovat databázi KDC do souboru, použijte krb5_util_dump.

# kdb5_util dump kdcfile

# ls -l kdcfile
-rw-------. 1 root root 5382 Apr 10 07:25 kdcfile

Chcete-li obnovit databázi KDC ze souboru výpisu vytvořeného ve výše uvedeném kroku, proveďte následující:

# kdb5_util load kdcfile

Linux
  1. Jak nainstalovat webový server Nginx na Linux

  2. Jak nainstalovat virtualizační Linux Server

  3. Jak nainstaluji Microsoft SQL Server pro linux (fedora)?

  1. Jak nainstalovat SQL Server na Linux

  2. Jak nainstalovat Sophos Intercept X Advanced pro server

  3. Jak nainstalovat Borgmatic pro snadné zálohování serveru Linux

  1. Jak nainstalovat Minecraft server na RHEL 8 Linux

  2. Jak nainstalovat Minecraft Server na Linux

  3. Jak nastavit Multi-Factor Authentication pro SSH v Linuxu