GNU/Linux >> Linux の 問題 >  >> Ubuntu

Ubuntu18.04LTSでKerberosサーバーとクライアントをセットアップする方法

Kerberosは、対称鍵暗号を使用するネットワーク認証プロトコルであり、クライアントサーバーアプリケーションを認証するには、信頼できるサードパーティからの認証が必要です。もともとは、マサチューセッツ工科大学(MIT)によって、アテナプロジェクトによって提供されるネットワークサービスを保護するために開発されました。

現代の世界では、Kerberosはサードパーティの認証サービスとしてよく使用されます。これは、すべてのクライアントが別のクライアントのIDに関するKerberosの判断を信頼していることを意味します。

このチュートリアルでは、2台のUbuntu18.04サーバー間でKerberos認証を設定する方法を示します。 UbuntuサーバーにKerberosサーバーをインストールして構成してから、もう一方のサーバーにKerberosクライアントをインストールします。最後に、Kerberosサーバーを使用したSSHサービスの認証をテストします。

前提条件

  • Ubuntuサーバー18.04
    • 10.10.10.15 krb5.ahmad.io krb5
    • 10.10.10.16 client1.ahmad.io client1
  • root権限

私たちが行うこと:

  1. FQDNファイルの設定
  2. KDCKerberosサーバーをインストールします
  3. KDCKerberosサーバーを構成する
  4. Kerberosクライアントのインストールと構成
  5. テスト
ステップ1-FQDNを設定する

まず、KerberosサーバーでFQDNを構成してから、サーバーの「/ etc/hosts」ファイルを編集する必要があります。

次のコマンドを使用して、KerberosサーバーのFQDNを変更します。

hostnamectl set-hostname krb5.ahmad.io

その後、vimエディターを使用して「/ etc/hosts」ファイルを編集します。

vim /etc/hosts

IPアドレスとFQDNを独自のものに変更して貼り付けます。

10.10.10.15     krb5.ahmad.io   krb5

保存して閉じます。

次に、以下の「ping」コマンドを使用してテストし、FQDNが正しいIPアドレスに解決されていることを確認します。

ping -c 3 $(hostname -f)

ステップ2-KDCKerberosサーバーをインストールします

次に、Kerberosサーバーを「krb5」サーバーにIPアドレス「10.10.10.15」でインストールします。FQDNは「krb5.ahmad.io」です。

次のaptコマンドを使用してKerberosサーバーをインストールします。

sudo apt install krb5-kdc krb5-admin-server krb5-config -y

インストール中に、Kerberosレルム、レルムのKerberosサーバー、および管理サーバーについて尋ねられます。

デフォルトでは、KerberosはKerberosサーバーのドメイン名をREALMとして使用します。' AHMAD.IO '。

Kerberosサーバーは'krb5.ahmad.io '。

また、Kerberosサーバーと同じ管理サーバー' krb5.ahmad.io '。

インストールが完了すると、Kerberosサービスの実行に失敗したことが表示されます。次の段階で構成するので問題ありません。

ステップ3-KDCKerberosサーバーを構成する

次に、次のコマンドを使用して、KerberosREALMの新しい強力なマスターパスワードを生成します。

sudo krb5_newrealm

強力なパスワードを入力すると、REALMパスワードが「/ etc / krb5kdc/stash」ファイルに生成されます。

その後、KDC Kerberosサーバーの管理者ユーザー(adminプリンシパル)を作成し、Kerberosサーバーのホスト名をデータベースに追加してから、Kerberosサーバーのキータブを作成する必要があります。

以下のKerberos管理コマンドの「kadmin.local」コマンドラインインターフェイスを実行します。

sudo kadmin.local

'root'という名前の新しい管理者ユーザープリンシパルを作成します。

addprinc root/admin

「root」管理者プリンシパルの強力なパスワードを入力します。

KDC Kerberosサーバーをデータベースに追加し、KDCホストのキータブファイルを作成します。

addprinc -randkey host/krb5.ahmad.io
ktadd host/krb5.ahmad.io

次に、「kadmin.local」ユーティリティを閉じます。

quit

次に、「/ etc / krb5kdc / kadm5.acl」ファイルを編集して、「root」管理原則をアクセス制御リストに追加する必要があります。

vim /etc/krb5kdc/kadm5.acl

次の構成を追加します。

root/admin * 

構成を保存して閉じてから、Kerberosサービスを再起動します。

sudo systemctl restart krb5-admin-server.service

これで、KDCKerberosサーバーの構成が完了しました。

ステップ4-Kerberosクライアントのインストールと構成

このステップでは、KerberosクライアントをUbuntuサーバーにIPアドレス「10.10.10.16」とホスト名「client1」でインストールします。

-FQDNを構成する

次のコマンドを使用して、クライアントマシンでFQDNを構成します。

hostnamectl set-hostname client1.ahmad.io

その後、vimエディターを使用して「/ etc/hosts」ファイルを編集します。

vim /etc/hosts

KDCKerberosサーバーとクライアントの両方を以下のように貼り付けます。

10.10.10.15     krb5.ahmad.io   krb5
10.10.10.16     client1.ahmad.io    client1

保存して閉じます。

-Kerberosクライアントをインストールします

次のaptコマンドを実行してKerberosクライアントパッケージをインストールします。

sudo apt install -y krb5-user libpam-krb5 libpam-ccreds auth-client-config

インストール中に、Kerberosレルム、レルムのKerberosサーバー、および管理サーバーについて尋ねられます。

デフォルトでは、KerberosはKerberosサーバーのドメイン名をREALMとして使用します。' AHMAD.IO '。

Kerberosサーバーは'krb5.ahmad.io '。

また、Kerberosサーバーと同じ管理サーバー' krb5.ahmad.io '。

これで、Kerberosクライアントのインストールが完了しました。

-Kerberosクライアントを構成する

クライアントマシンから、「kadmin」コマンドを使用してKDCKerberosサーバーに接続します。

kadmin

そして、「root/admin」原則のパスワードの入力を求められます。パスワードを入力すると、KDCKerberos管理システムにログインします。

次に、クライアントFQDN'client1.ahmad.io'をKerberosデータベースに追加し、クライアントのキータブファイルを追加します。

addprinc -randkey host/client1.ahmad.io
ktadd host/client1.ahmad.io

次に、kadminKerberos管理インターフェースを閉じます。

quit

これで、Kerberosクライアントの構成が完了しました。

ステップ5-テスト

このテストの目的で、Kerberosを使用してSSH認証を構成します。クライアントマシン「client1.ahmad.io」は、Kerberos認証を使用してSSH経由でサーバー「krb5.ahmad.io」に接続します。

-'krb5.ahmad.io'サーバーのセットアップ

'ammar'という名前の新しいシステムユーザーを作成します。

useradd -m -s /bin/bash ammar

KDC Kerberos管理にログインし、「ammar」という新しいプリンシパルユーザーを追加します。

kadmin.local
addprinc ammar

Kerberos管理インターフェースを閉じて、ssh構成'/ etc / ssh/sshd_config'を編集します。

vim /etc/ssh/sshd_config

'GSSAPIAuthentication'のコメントを解除し、値を''に変更して有効にします。

GSSAPIAuthentication yes
GSSAPICleanupCredentials yes

構成を保存して閉じてから、sshサービスを再起動します。

systemctl restart sshd

-'client1.ahmad.io'マシンのセットアップ

クライアントマシンに新しいシステムユーザー「ammar」を追加し、ログインします。

useradd -m -s /bin/bash ammar
su - ammar

その後、Kerberosユーザープリンシパル「ammar」を初期化します。

kinit ammar

ユーザーのパスワードを入力し、その後、次のコマンドを使用して利用可能なチケットを確認します。

klist

そして、次の結果が表示されます。

これで、SSHKerberos認証を使用して「krb5.ahmad.io」サーバーに接続できます。

ssh krb5.ahmad.io

そして、Kerberos認証を使用したSSHを介して「krb5.ahmad.io」サーバーに接続されます。

以下は、サーバーにログインした後のSSHログです。

最後に、Ubuntu18.04でのKerberosサーバーとクライアントのインストールと構成が正常に完了しました。


Ubuntu
  1. Ubuntu18.04LTSにNTPサーバーとクライアントをインストールする方法

  2. Ubuntu18.04LTSでRsyslogサーバーをセットアップする方法

  3. Ubuntu20.04でNFSサーバーとクライアントをセットアップする方法

  1. UbuntuLinuxでFTPサーバーをセットアップして使用する方法

  2. Ubuntu18.04LTSにRedisをインストールして保護する方法

  3. Plex Media ServerUbuntu16.04をインストールしてセットアップする方法

  1. Ubuntu18.04LTSでJenkinsマスターとスレーブをセットアップする方法

  2. Ubuntu18.04LTSでIRedMailサーバーをセットアップする方法

  3. Ubuntu20.04にUrBackupサーバーとクライアントをインストールする方法