Kerberosは、対称キー暗号化を使用するネットワーク認証プロトコルであり、信頼できるサードパーティからの承認を必要としますクライアントサーバーアプリケーションを認証します。 元々はマサチューセッツ工科大学(MIT)によってAthenaプロジェクトが提供するネットワークサービスを保護するために開発されました。
現代の世界では、Kerberosはサードパーティの認証サービスとしてよく使用されています。 これは、すべてのクライアントが、別のクライアントのidに関するKerberosの判断を信頼することを意味します。このチュートリアルでは、2つのUbuntu18.04サーバー間でKerberos認証を設定する方法を説明します。 UbuntuサーバーにKerberosサーバーをインストールして構成し、もう一方にKerberosクライアントをインストールします。 最後に、KERBEROSサーバーを使用したSSHサービスの認証をテストします。
- 18.04
- 10.10.10.15 krb5.ahmad.io krb5
- 10.10.10.16client1.ahmad.io client1
- Root権限
私たちは何をしますか:
- セットアップFQDNファイル
- KDC Kerberosサーバーのインストール
- KDC Kerberosサーバーの設定
- Kerberosクライアントのインストールと設定
- テスト
ステップ1-Fqdnの設定
まず、KDC Kerberosサーバーの設定
ステップ1-FQDNの設定
まず、KDC Kerberosクライアントのインストールと設定を行う必要があります。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-Kdc Kerberosサーバーのインストール
今度は、IPアドレスが’10.10.10.15’でFQDNが’krb5’サーバーにKerberosサーバーをインストールします。krb5.ahmad.io’.
次のaptコマンドを使用してKerberosサーバーをインストールします。
sudo apt install krb5-kdc krb5-admin-server krb5-config -y
インストール中に、Kerberosレルム、レルムのKerberosサーバー、および管理サーバーについて尋ねられます。
デフォルトでは、KERBEROSはKERBEROSサーバードメイン名をレルムとして使用します。AHMAD.IO’.
Kerberosサーバーは’krb5.ahmad.io’.
管理サーバーはKerberosサーバーと同じです。krb5.ahmad.io’.
インストールが完了すると、Kerberosサービスの実行に失敗したことが表示されます。 私たちは次の段階で設定しますので、それは大丈夫です。
ステップ3-KDC Kerberosサーバーの構成
次のコマンドを使用して、Kerberosレルムの新しい強力なマスターパスワードを生成します。
sudo krb5_newrealm
強力なパスワードを入力すると、’/etc/krb5kdc/stash’ファイルでレルムのパスワードが生成されます。
その後、KDC Kerberosサーバーの管理ユーザー(管理者プリンシパル)を作成し、kerberosサーバーのホスト名をデータベースに追加してから、Kerberosサーバーのkeytabを作成する必要があります。
‘kadminを実行します。ローカル’以下のKerberos管理コマンドのコマンドラインインターフェイス。
sudo kadmin.local
‘root’という名前の新しい管理ユーザープリンシパルを作成します。
addprinc root/admin
‘root’管理者プリンシパルの強力なパスワードを入力します。
kdc Kerberosサーバーをデータベースに追加し、KDCホスト用のkeytabファイルを作成します。
addprinc -randkey host/krb5.ahmad.io
ktadd host/krb5.ahmad.io
その後、’kadminを閉じます。ローカル’ユーティリティ。
quit
次に、’/etc/krb5kdc/kadm5’を編集して、’root’管理原則をアクセス制御リストに追加する必要があります。acl’ファイル。
vim /etc/krb5kdc/kadm5.acl
以下の設定を追加します。
root/admin *
設定を保存して閉じ、Kerberosサービスを再起動します。
sudo systemctl restart krb5-admin-server.service
そして、KDC Kerberosサーバーの構成は完了しました。
ステップ4-Kerberosクライアントのインストールと設定
このステップでは、IPアドレス’10.10.10.16’とホスト名’client1’を持つUbuntuサーバーにKerberosクライアントをインス
-FQDNの構成
次のコマンドを使用して、クライアントマシンでFQDNを構成します。
hostnamectl set-hostname client1.ahmad.io
その後、vimエディタを使用して’/etc/hosts’ファイルを編集します。
vim /etc/hosts
以下のようにKDC Kerberosサーバーとクライアントの両方を貼り付けます。
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サーバードメイン名をレルムとして使用します。’AHMAD.IO’.
Kerberosサーバーは’krb5.ahmad.io’.
管理サーバーはKerberosサーバーと同じです。krb5.ahmad.io’.
Kerberosクライアントのインストールは終了しました。
-Kerberosクライアントの構成
クライアントマシンから、’kadmin’コマンドを使用してKDC Kerberosサーバーに接続します。
kadmin
そして、あなたは’root/admin’原則のパスワードを求められます。 パスワードを入力すると、KDC Kerberos管理システムにログインします。
クライアントFQDNを追加します。client1.ahmad.io’Kerberosデータベースに、クライアントのkeytabファイルを追加します。
addprinc -randkey host/client1.ahmad.io
ktadd host/client1.ahmad.io
次に、kadmin Kerberos管理インターフェイスを閉じます。
quit
とKerberosクライアントの構成が完了しました。
ステップ5-テスト
このテスト目的のために、Kerberosを使用してSSH認証を設定します。 クライアントマシン’client1.ahmad.io’サーバーに接続します’krb5.ahmad.io Kerberos認証を使用したSSHを介して。
-セットアップ’krb5.ahmad.io’Server
‘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’Machine
クライアントマシンに新しいシステムユーザー’ammar’を追加し、それにログインします。
useradd -m -s /bin/bash ammar
su - ammar
その後、Kerberosユーザープリンシパル’ammar’を初期化します。
kinit ammar
ユーザーのパスワードを入力し、その後、次のコマンドを使用して利用可能なチケットを確認します。
klist
そして、あなたは次の結果が表示されます。
今、あなたは接続することができます’krb5.ahmad.io’SSH Kerberos認証を使用するサーバー。
ssh krb5.ahmad.io
そして、あなたはに接続されます’krb5.ahmad.io’Kerberos認証を使用したSSH経由のサーバー。
以下は、サーバーにログに記録された後のSSHログです。
最後に、Ubuntu18.04でのKerberosサーバーとクライアントのインストールと構成が正常に完了しました。