Solaris のシステム管理 (セキュリティサービス)

デバイスポリシーの設定

デバイスポリシーは、システムに不可欠なデバイスに対するアクセスの制限または防止を行うものです。このポリシーはカーネルで適用されます。

Procedureデバイスポリシーを表示する方法

  1. システム上のすべてのデバイスのデバイスポリシーを表示します。


    % getdevpolicy | more
    DEFAULT
            read_priv_set=none
            write_priv_set=none
    ip:*
            read_priv_set=net_rawaccess
            write_priv_set=net_rawaccess
    …

例 4–1 特定のデバイスのデバイスポリシーを表示する

この例では、3 つのデバイスのデバイスポリシーが表示されています。


% getdevpolicy /dev/allkmem /dev/ipsecesp /dev/hme
/dev/allkmem
        read_priv_set=all
        write_priv_set=all
/dev/ipsecesp
        read_priv_set=sys_net_config
        write_priv_set=sys_net_config
/dev/hme
        read_priv_set=net_rawaccess
        write_priv_set=net_rawaccess

Procedure既存のデバイスのデバイスポリシーを変更する方法

  1. Device Security 権利プロファイルを含む役割を引き受けるか、あるいはスーパーユーザーになります。

    Primary Administrator 役割には、Device Security 権利プロファイルが含まれます。また、作成する役割に Device Security 権利プロファイルを割り当てることもできます。役割を作成してその役割をユーザーに割り当てる方法については、例 9–3 を参照してください。

  2. デバイスにポリシーを追加します。


    # update_drv -a -p policy device-driver
    
    -a

    device-driver 用の policy を指定します。

    -p policy

    device-driver のデバイスポリシーです。デバイスポリシーは、2 セットの特権を指定します。1 つは、デバイスの読み取りに必要です。もう 1 つは、デバイスへの書き込みに必要です。

    device-driver

    デバイスドライバです。

    詳細は、update_drv(1M) のマニュアルページを参照してください。


例 4–2 既存のデバイスにポリシーを追加する

次の例では、デバイス ipnat にデバイスポリシーが追加されています。


# getdevpolicy /dev/ipnat
/dev/ipnat
        read_priv_set=none
        write_priv_set=none
# update_drv -a \
-p 'read_priv_set=net_rawaccess write_priv_set=net_rawaccess' ipnat
# getdevpolicy /dev/ipnat
/dev/ipnat
        read_priv_set=net_rawaccess
        write_priv_set=net_rawaccess


例 4–3 デバイスからポリシーを削除する

次の例では、デバイス ipnat のデバイスポリシーから読み取り特権セットが削除されます。


# getdevpolicy /dev/ipnat
/dev/ipnat
        read_priv_set=net_rawaccess
        write_priv_set=net_rawaccess
# update_drv -a -p write_priv_set=net_rawaccess ipnat
# getdevpolicy /dev/ipnat
/dev/ipnat
        read_priv_set=none
        write_priv_set=net_rawaccess

Procedureデバイスポリシーの変更を監査する方法

デフォルトでは、as 監査クラスに、AUE_MODDEVPLCY 監査イベントが含まれます。

  1. Primary Administrator 役割を引き受けるか、スーパーユーザーになります。

    Primary Administrator 役割には、Primary Administrator プロファイルが含まれます。役割を作成してユーザーに役割を割り当てるには、『Solaris のシステム管理 (基本編)』の第 2 章「Solaris 管理コンソールの操作 (手順)」を参照してください。

  2. AUE_MODDEVPLCY 監査イベントを含む監査クラスをあらかじめ選択します。

    audit_control ファイルの flags 行に as クラスを追加してください。このファイルは次のようになります。


    # audit_control file
    dir:/var/audit
    flags:lo,as
    minfree:20
    naflags:lo

    詳しい操作説明は、audit_control ファイルの変更方法」を参照してください。

Procedure/dev/* デバイスから IP MIB-II 情報を取得する方法

Solaris IP MIB-II 情報を取得するアプリケーションは、/dev/ip ではなく /dev/arp を開く必要があります。

  1. /dev/ip および /dev/arp のデバイスポリシーを決定します。


    % getdevpolicy /dev/ip /dev/arp
    /dev/ip
            read_priv_set=net_rawaccess
            write_priv_set=net_rawaccess
    /dev/arp
            read_priv_set=none
            write_priv_set=none

    /dev/ip の読み取りおよび書き込みには、net_rawaccess 特権が必要であることに注意してください。/dev/arp は特権を必要としません。

  2. /dev/arp を開き、tcp モジュールと udp モジュールをプッシュします。

    特権は不要です。この方法は、/dev/ip を開いて arptcp、および udp モジュールをプッシュするのと同じです。現在、/dev/ip を開くには特権が必要なため、/dev/arp メソッドを推奨します。