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

3 SELinux sestatus コマンド出力の例による説明

sestatus は SELinux ステータスを表します。

このコマンドは、システムで実行されている SELinux の現在のステータスを表示するために使用されます。

このチュートリアルでは、以下について説明します:

<オール>
  • sestatus コマンドの出力と詳細の説明
  • 選択したオブジェクトのセキュリティ コンテキストを sestatus に表示
  • sestatus にブール値を表示
  • 1. sestatus コマンド出力の説明

    sestatus コマンドは、SELinux が有効か無効かを表示します。ここで説明されている SELinux 設定の一部に関する追加情報も表示されます。

    以下は、CentOS 7 システムでの sestatus コマンドです。 CentOS / RedHat の古いバージョンでは、この出力は若干異なります。

    # sestatus
    SELinux status:                 enabled
    SELinuxfs mount:                /sys/fs/selinux
    SELinux root directory:         /etc/selinux
    Loaded policy name:             targeted
    Current mode:                   enforcing
    Mode from config file:          enforcing
    Policy MLS status:              enabled
    Policy deny_unknown status:     allowed
    Max kernel policy version:      28
    

    注:上記の出力で、「現在のモード」は注意を払う必要がある最も重要な行です。これについては以下で説明します。

    SELinux ステータス: これは、システムで SELinux モジュール自体が有効か無効かを示します。これは有効と表示されていても、SELinux が技術的に有効 (強制) ではない可能性があることに注意してください。これは、以下で説明する「現在のモード」行によって実際に示されます。

    SELinuxfs マウント: これは、SELinux 一時ファイルシステムのマウント ポイントです。これは、SELinux によって内部的に使用されます。この SELinux ファイルシステムで ls を実行すると、このようになります。実際には、このディレクトリは SELinux によって内部的に管理されているため、このディレクトリでは何も操作できません。

    # ls -l /sys/fs/selinux
    total 0
    -rw-rw-rw-.  1 root root    0 Jun  4 22:16 access
    dr-xr-xr-x.  2 root root    0 Jun  4 22:16 avc
    dr-xr-xr-x.  2 root root    0 Jun  4 22:16 booleans
    -rw-r--r--.  1 root root    0 Jun  4 22:16 checkreqprot
    ..
    ..
    -r--r--r--.  1 root root    0 Jun  4 22:16 policy
    -rw-rw-rw-.  1 root root    0 Jun  4 22:16 relabel
    -r--r--r--.  1 root root    0 Jun  4 22:16 status
    -rw-rw-rw-.  1 root root    0 Jun  4 22:16 user
    

    SELinux ルート ディレクトリ: これは、すべての SELinux 構成ファイルが配置されている場所です。デフォルトでは、次のファイルとディレクトリが表示されます。このディレクトリには、SELinux の操作に必要なすべての設定ファイルが含まれています。これらのファイルは変更できます。

    # ls -l /etc/selinux
    total 8
    -rw-r--r--. 1 root root  546 May  1 19:08 config
    drwx------. 2 root root    6 May  1 19:09 final
    -rw-r--r--. 1 root root 2321 Jan 17 18:33 semanage.conf
    drwxr-xr-x. 7 root root  215 May  1 19:09 targeted
    drwxr-xr-x. 2 root root    6 Jan 17 18:33 tmp
    

    読み込まれたポリシー名: これは、現在ロードされている SELinux ポリシーのタイプを示します。ほとんどすべての一般的な状況では、SELinux ポリシーとして「ターゲット」が表示されます。これがデフォルトのポリシーであるためです。以下は利用可能な可能な SELinux ポリシーです:

    • targeted – これは、対象のプロセスのみが SELinux によって保護されることを意味します
    • minimum – これは、対象となるポリシーをわずかに変更したものです。この場合、選択された少数のプロセスのみが保護されます。
    • mls – マルチレベル セキュリティ保護用です。 MLS は非常に複雑で、ほとんどの状況ではほとんど使用されていません。

    現在のモード: これは、SELinux が現在ポリシーを適用しているかどうかを示します。つまり、技術的には、SELinux が現在システムで有効になっていて実行されているかどうかがわかります。

    以下は可能な SELinux モードです:

    • enforcing – これは、SELinux セキュリティ ポリシーが適用されている (つまり、SELinux が有効になっている) ことを示します
    • permissive – これは、SELinux が強制ではなく警告を表示することを示します。これは、SELinux ログを見て、SELinux がブロックする可能性のあるものを (実際にはブロックせずに) 知りたい場合のデバッグ目的で役立ちます。
    • 無効 - SELinux ポリシーは読み込まれません。

    私たちの実用的な目的では、強制は有効に等しいです。 permissive と disabled は、disabled と同じです。

    ポリシー MLS ステータスは、MLS ポリシーの現在のステータスを示します。デフォルトでは有効になっています。

    ポリシーの deny_unknown ステータスは、ポリシーの deny_unknown フラグの現在のステータスを示します。デフォルトでは、これは許可に設定されます。

    最大カーネル ポリシー バージョンは、現在の SELinux ポリシーのバージョンを示します。この例では、バージョン 28 です。

    以下は、CentOS および RedHat 6 での sestatus の出力です。

    # sestatus
    SELinux status:                 enabled
    SELinuxfs mount:                /selinux
    Current mode:                   enforcing
    Mode from config file:          enforcing
    Policy version:                 24
    Policy from config file:        targeted
    

    システムで SELinux を無効にする場合は、次のいずれかの方法を使用できます:SELinux を一時的または永続的に無効にする 4 つの効果的な方法

    2.選択したオブジェクトのセキュリティ コンテキストを sestatus に表示

    オプション -v を通常の selinux ステータスと共に使用すると、選択したファイルとプロセスの SELinux コンテキストを表示することもできます。

    以下は、sestatus -v オプションのデフォルトの出力です:

    # sestatus -v
    SELinux status:                 enabled
    SELinuxfs mount:                /sys/fs/selinux
    SELinux root directory:         /etc/selinux
    Loaded policy name:             targeted
    Current mode:                   enforcing
    Mode from config file:          enforcing
    Policy MLS status:              enabled
    Policy deny_unknown status:     allowed
    Max kernel policy version:      28
    
    Process contexts:
    Current context:                unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
    Init context:                   system_u:system_r:init_t:s0
    /usr/sbin/sshd                  system_u:system_r:sshd_t:s0-s0:c0.c1023
    
    File contexts:
    Controlling terminal:           unconfined_u:object_r:user_devpts_t:s0
    /etc/passwd                     system_u:object_r:passwd_file_t:s0
    /etc/shadow                     system_u:object_r:shadow_t:s0
    /bin/bash                       system_u:object_r:shell_exec_t:s0
    /bin/login                      system_u:object_r:login_exec_t:s0
    /bin/sh                         system_u:object_r:bin_t:s0 -> system_u:object_r:shell_exec_t:s0
    /sbin/agetty                    system_u:object_r:getty_exec_t:s0
    /sbin/init                      system_u:object_r:bin_t:s0 -> system_u:object_r:init_exec_t:s0
    /usr/sbin/sshd                  system_u:object_r:sshd_exec_t:s0
    

    上記の出力では:

    • プロセス コンテキスト セクションには、選択したいくつかのプロセスの SELinux コンテキストが表示されます。 /etc/sestatus.conf ファイルにプロセスを追加することで、このリストに独自のプロセスを追加できます。ご覧のとおり、sshd プロセスのセキュリティ コンテキストが表示されます。
    • ファイル コンテキスト セクションには、選択したいくつかのファイルの SELinux コンテキストが表示されます。独自のカスタム ファイルを /etc/sestatus.conf ファイルに追加することで、このリストに追加できます。上記の出力からわかるように、パスワード、シャドウ、およびその他のいくつかのファイルのセキュリティ コンテキストが表示されます。
    • また、指定したファイルがシンボリック リンクの場合は、ターゲット ファイルのコンテキストも表示されます。
      このセクションには、現在のプロセス、init プロセス、および制御のセキュリティ コンテキストが常に表示されます。端末ファイルのコンテキスト

    以下は、/etc/sestatus.conf ファイルのデフォルト設定です。カスタム ファイルを [files] セクションに追加し、カスタム プロセスを [process] セクションに追加します。

    # cat /etc/sestatus.conf 
    [files]
    /etc/passwd
    /etc/shadow
    /bin/bash
    /bin/login
    /bin/sh
    /sbin/agetty
    /sbin/init
    /sbin/mingetty
    /usr/sbin/sshd
    /lib/libc.so.6
    /lib/ld-linux.so.2
    /lib/ld.so.1
    
    [process]
    /sbin/mingetty
    /sbin/agetty
    /usr/sbin/sshd
    

    3. sestatus にブール値を表示

    -b オプションを使用すると、ブール値の現在の状態を以下のように表示できます。

    以下に示すように、典型的な sestatus 出力とは別に、「Policy booleans:」セクションに、すべてのパラメーターの現在の SELinux ブール値が表示されます。

    # sestatus -b | more
    SELinux status:                 enabled
    SELinuxfs mount:                /sys/fs/selinux
    SELinux root directory:         /etc/selinux
    Loaded policy name:             targeted
    Current mode:                   enforcing
    Mode from config file:          enforcing
    Policy MLS status:              enabled
    Policy deny_unknown status:     allowed
    Max kernel policy version:      28
    
    Policy booleans:
    abrt_anon_write                             off
    abrt_handle_event                           off
    abrt_upload_watch_anon_write                on
    antivirus_can_scan_system                   off
    antivirus_use_jit                           off
    auditadm_exec_content                       on
    authlogin_nsswitch_use_ldap                 off
    authlogin_radius                            off
    authlogin_yubikey                           off
    awstats_purge_apache_log_files              off
    boinc_execmem                               on
    cdrecord_read_content                       off
    ...
    ...
    ...
    xend_run_blktap                             on
    xend_run_qemu                               on
    xguest_connect_network                      on
    xguest_exec_content                         on
    xguest_mount_media                          on
    xguest_use_bluetooth                        on
    xserver_clients_write_xshm                  off
    xserver_execmem                             off
    xserver_object_manager                      off
    zabbix_can_network                          off
    zarafa_setrlimit                            off
    zebra_write_config                          off
    zoneminder_anon_write                       off
    zoneminder_run_sudo                         off
    

    上記の出力は通常、getsebool コマンドの出力に表示される内容を示しています。つまり、上記の「sestatus -b」コマンドは、次の 2 つのコマンドを実行した場合と同じです:

    sestatus
    
    getsebool -a
    

    Linux
    1. Linuxのshutdownコマンドを例で説明

    2. nslookupLinuxコマンドの例

    3. Linux Tracerouteコマンド、例を使用して説明

    1. Linuxカットコマンドを6つの例で説明

    2. Linuxのlddコマンドを例で説明

    3. Linuxのwhoamiコマンドを例で説明

    1. 8LinuxTeeコマンドと例

    2. Linuxはコマンドを例で説明します

    3. Linuxmoreコマンドを例で説明