はじめに
この実験では、Linux システム上の SELinux の状態と設定を確認する方法を学びます。SELinux は、強制アクセス制御 (Mandatory Access Control) を提供する重要なセキュリティメカニズムです。
se status コマンドを使用して現在の SELinux の状態の概要を取得し、SELinux の設定ファイル /etc/selinux/config を調べてデフォルト設定を理解し、getenforce コマンドを使用して現在の動作モードをすばやく確認します。これらの手順を完了することで、SELinux が有効になっているかどうか、およびシステム上でどのように設定されているかを判断する基本的な方法を理解することができます。
sestatus で SELinux の状態を確認する
このステップでは、システム上の SELinux の状態を確認する方法を学びます。SELinux (Security-Enhanced Linux) は、プロセスとリソースに対して強制アクセス制御 (Mandatory Access Control, MAC) を提供するセキュリティメカニズムです。これは、従来の任意アクセス制御 (Discretionary Access Control, DAC) の上に追加のセキュリティ層を追加します。
SELinux の現在の状態を確認するには、sestatus コマンドを使用します。このコマンドは、SELinux の設定と現在の状態の概要を提供します。
ターミナルが開いていない場合は、開きます。デスクトップの左側にある Xfce Terminal アイコンをクリックすることで実行できます。
次に、以下のコマンドをターミナルに入力し、Enter キーを押します。
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 version: ...
Policy load time: ...
出力の重要な部分を解説します。
SELinux status: システム上で SELinux が有効か無効かを示します。Current mode: SELinux の現在の動作モードを示します。一般的なモードにはenforcing、permissive、disabledがあります。Mode from config file: SELinux の設定ファイル (/etc/selinux/config) で設定されているモードを示します。
この出力では、SELinux status: enabled は SELinux がアクティブであることを意味し、Current mode: enforcing は SELinux がセキュリティポリシーを積極的に適用していることを意味します。
SELinux の状態を理解することは、その動作を管理する最初のステップです。
Continue をクリックして次のステップに進みます。
cat /etc/selinux/config で SELinux の設定を確認する
前のステップでは、sestatus を使用して SELinux の現在の状態を確認しました。次に、SELinux のデフォルトの動作を決定する設定ファイルを見てみましょう。
SELinux の主な設定ファイルは /etc/selinux/config にあります。このファイルの内容は cat コマンドを使って表示できます。cat コマンドはファイルの内容を表示するために使用されます。
ターミナルに以下のコマンドを入力し、Enter キーを押します。
cat /etc/selinux/config
以下のような出力が表示されるはずです。
## This file controls the state of SELinux on the system.
## SELINUX= can take one of these three values:
## enforcing - SELinux security policy is enforced.
## permissive - SELinux prints warnings instead of enforcing.
## disabled - No SELinux policy is loaded.
SELINUX=enforcing
## SELINUXTYPE= can take one of these three values:
## targeted - Targeted processes are protected,
## for more information see selinux-policy-targeted(8)
## strict - Full SELinux protection, see selinux-policy(8)
## mls - Multi-Level Security protection.
SELINUXTYPE=targeted
このファイルでは、SELinux のデフォルトモード (SELINUX=) とポリシータイプ (SELINUXTYPE=) を設定します。
SELINUX=enforcing: この行は、システムがデフォルトでenforcingモードで起動するように設定されていることを示しています。SELINUXTYPE=targeted: この行は、targetedポリシーが使用されることを指定しています。targeted ポリシーは最も一般的なポリシーで、特定のシステムプロセスを保護します。
このファイルの設定は通常、システム起動時に適用されます。現在のモードは一時的に変更することができます(次のステップで説明します)が、/etc/selinux/config に加えた変更はシステムを再起動しないと完全に反映されません。
設定ファイルを理解することで、システムにおける SELinux の意図された状態を把握することができます。
Continue をクリックして次に進みます。
getenforce で SELinux モードを確認する
前のステップでは、sestatus を使って SELinux の詳細な概要を取得し、cat /etc/selinux/config を使ってデフォルト設定を確認しました。次に、もっとシンプルなコマンド getenforce を使って、SELinux の 現在の モードをすばやく確認しましょう。
getenforce コマンドは、SELinux の現在の動作モードのみを出力するように設計されています。これは、sestatus の全出力を必要とせずにすばやく確認するのに便利です。
ターミナルに以下のコマンドを入力し、Enter キーを押します。
getenforce
以下のような出力が表示されるはずです。
Enforcing
出力は以下のいずれかになります。
Enforcing: SELinux がアクティブで、ポリシーが適用されています。ポリシーに違反するアクションはすべてブロックされます。Permissive: SELinux はアクティブですが、ポリシーは適用されていません。Enforcing モードではブロックされるであろうアクションについて警告をログに記録しますが、それらのアクションを実行させます。このモードはテストやトラブルシューティングに便利です。Disabled: SELinux はアクティブではなく、ポリシーも読み込まれていません。
この場合、出力が Enforcing となっていることから、SELinux が現在 Enforcing モードで動作していることが確認できます。これは sestatus コマンドで確認した結果と一致します。
getenforce コマンドは、SELinux の状態をすばやく確認するのに便利なツールです。
Continue をクリックしてこの実験を完了します。
まとめ
この実験では、Linux システム上の SELinux の状態を確認する方法を学びました。sestatus コマンドを使用して、SELinux の設定の概要を取得しました。これには、SELinux が有効かどうか、現在の動作モード(Enforcing、Permissive、または Disabled)、および設定ファイルに設定されているモードが含まれます。
また、cat コマンドを使用して /etc/selinux/config ファイルを調べることで、SELinux の設定を確認する方法も学びました。このファイルには、システム起動時に適用される SELinux のデフォルトモードが記載されています。最後に、getenforce コマンドを使用して、SELinux の現在のモードをすばやく確認しました。これらの手順は、SELinux の現在の状態と設定を理解するための基本的な方法を提供します。



