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

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権限

私たちは何をしますか:

  1. セットアップFQDNファイル
  2. KDC Kerberosサーバーのインストール
  3. KDC Kerberosサーバーの設定
  4. Kerberosクライアントのインストールと設定
  5. テスト

ステップ1-Fqdnの設定

まず、KDC Kerberosサーバーの設定

  • 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サーバーとクライアントのインストールと構成が正常に完了しました。

    Write a Comment

    メールアドレスが公開されることはありません。