この手順では、1 つまたは複数の監査対象システムから監査レコードを受信して格納するためのリモートシステムである監査リモートサーバー (ARS) を構成します。次に、リモートサーバー上で監査デーモンをアクティブにします。
この構成は 2 つの部分から成ります。最初に、監査データをセキュアに転送するためのベースとなるセキュリティーメカニズム、つまり、KDC を構成します。2 番目に、監査対象システムと ARS の両方に監査サービスを構成します。この手順は、ARS と KDC が同じサーバー上に存在している、1 つの監査対象クライアントと 1 つの ARS を含むシナリオを示しています。より複雑なシナリオも同様に構成できます。最初の 4 つの手順では、KDC の構成について説明します。最後の手順では、監査サービスの構成について説明します。
始める前に
次を完了したことを確認します。
root 役割になっています。
監査レコードのリモートストレージへのストリーム出力を準備する方法の説明に従って、Kerberos パッケージをインストールしました。
監査ファイルをリモートリポジトリに送信する方法の説明に従って、監査対象システムを構成した管理者とともに作業しています。
監査対象システムと ARS の両方が使用できるシステム上の KDC、各システムのホスト主体、および audit サービス主体が必要です。次の例は、KDC 構成の方針を示しています。
arstore # kdcmgr -a audr/admin -r EXAMPLE.COM create master
このコマンドは、管理主体 audr/admin を使用して EXAMPLE.COM レルム内にマスター KDC を作成し、そのマスター KDC を有効にして、Kerberos サービスを開始します。
詳細は、kdcmgr(1M) のマニュアルページを参照してください。
# kdcmgr status KDC Status Information -------------------------------------------- svc:/network/security/krb5kdc:default (Kerberos key distribution center) State: online since Wed Feb 29 01:59:27 2012 See: man -M /usr/share/man -s 1M krb5kdc See: /var/svc/log/network-security-krb5kdc:default.log Impact: None. KDC Master Status Information -------------------------------------------- svc:/network/security/kadmin:default (Kerberos administration daemon) State: online since Wed Feb 29 01:59:28 2012 See: man -M /usr/share/man -s 1M kadmind See: /var/svc/log/network-security-kadmin:default.log Impact: None. Transaction Log Information -------------------------------------------- Kerberos update log (/var/krb5/principal.ulog) Update log dump : Log version # : 1 Log state : Stable Entry block size : 2048 Number of entries : 13 First serial # : 1 Last serial # : 13 First time stamp : Wed Feb 29 01:59:27 2012 Last time stamp : Mon Mar 5 19:29:28 2012 Kerberos Related File Information -------------------------------------------- (Displays any missing files)
KDC システム上で kadmin.local コマンドを入力することによって、この主体を追加できます。または、kadmin コマンドを使用し、パスワードを指定することによって、リモートから主体を追加できます。この例では、arstore システムが KDC を実行しています。
# kadmin -p audr/admin kadmin: addprinc -randkey audit/arstore.example.com@EXAMPLE.COM kadmin: ktadd audit/arstore.example.com@EXAMPLE.COM
受信者と送信者は鍵を持っている必要があります。
enigma # kclient .. Enter the Kerberos realm: EXAMPLE.COM .. KDC hostname for the above realm: arstore.example.com .. Will this client need service keys ? [y/n]: y
# auditconfig -setremote group create Bank_A
Bank_A が接続グループです。hosts 属性が定義されていないため、このグループはすべての接続を受け入れます。つまり、これはワイルドカードグループです。audit_remote プラグインが正しく構成されているこの Kerberos レルム内の監査対象システムはすべて、この ARS に到達できます。
# auditconfig -setremote group Bank_A "hosts=enigma.example.com"
接続グループ Bank_A は現在、enigma システムからの接続のみを受け入れます。その他のどのホストからの接続も拒否されます。
# auditconfig -setremote group Bank_A "binfile_fsize=4GB" # auditconfig -getremote Audit Remote Server Attributes: listen_address=;login_grace_time=30;max_startups=10;listen_port=0; Connection group: Bank_A (inactive) Attributes: binfile_dir=/var/audit;binfile_fsize=4GB;binfile_minfree=1; hosts=enigma.example.com;
ARS を指定するには、p_hosts 属性を使用します。
enigma # auditconfig -setplugin audit_remote \ active p_hosts=arstore.example.com enigma # auditconfig -getplugin audit_remote Plugin: audit_remote Attributes: p_retries=3;p_timeout=5;p_hosts=arstore.example.com;
監査サービスは、リフレッシュ時に監査プラグインの変更を読み取ります。
# audit -s
KDC は現在、監査対象システム enigma と ARS の間の接続を管理しています。
この例では、手順にある例を拡張します。管理者は、2 つの接続グループを作成することによって、ARS 上のホストごとに監査レコードを分離します。
audsys1 からの監査ファイルは、この ARS 上の Bank_A の接続グループにストリーム出力されます。
arstore # auditconfig -setremote group create Bank_A arstore # auditconfig -setremote group active Bank_A "hosts=audsys1" \ "hosts=audsys1;binfile_dir=/var/audit/audsys1;binfile_fsize=4M;"
audsys2 からの監査ファイルは、Bank_B の接続グループにストリーム出力されます。
arstore # auditconfig -setremote group create Bank_B arstore # auditconfig -setremote group active Bank_B \ "hosts=audsys2;binfile_dir=/var/audit/audsys2;binfile_fsize=4M;"
保守を容易にするために、管理者はその他の属性値を同様に設定します。
arstore # auditconfig -getremote Audit Remote Server Attributes: listen_address=;login_grace_time=30;max_startups=10;listen_port=0; Connection group: Bank_A Attributes: binfile_dir=/var/audit/audsys1;binfile_fsize=4M;binfile_minfree=1; hosts=audsys1 Connection group: Bank_B Attributes: binfile_dir=/var/audit/audsys2;binfile_fsize=4M;binfile_minfree=1; hosts=audsys2使用例 28 KDC の別のシステム上への ARS の配置
この例では、管理者は ARS を KDC の別のシステム上に配置します。最初に、管理者はマスター KDC を作成して構成します。
kserv # kdcmgr -a audr/admin -r EXAMPLE.COM create master kserv # kadmin.local -p audr/admin kadmin: addprinc -randkey \ audit/arstore.example.com@EXAMPLE.COM kadmin: ktadd -k /var/user/root/krb5.keytab.audit \ audit/arstore.example.com@EXAMPLE.COM
/tmp/krb5.keytab.audit ファイルを ARS (arstore) にセキュアに転送したあと、管理者はこのファイルを正しい場所に移動します。
arstore # chown root:root krb5.keytab.audit arstore # chmod 600 krb5.keytab.audit arstore # mv krb5.keytab.audit /etc/krb5/krb5.keytab
このファイルを書き換えるのではなく、管理者には、ARS 上で ktutil コマンドを使用して KDC の krb5.keytab.audit ファイルを arstore の /etc/krb5/krb5.keytab ファイル内の既存の鍵とマージする方法もあります。
最後に、管理者は監査対象システム上で鍵を生成します。
enigma # kclient .. Enter the Kerberos realm: EXAMPLE.COM .. KDC hostname for the above realm: kserv.example.com .. Will this client need service keys ? [y/n]: y