はじめに
この実験では、Linux でカーネルロックダウンモードが有効かどうかを確認する方法を学びます。カーネルロックダウンは、システムセキュリティを強化するために特定のカーネル機能を制限するセキュリティ機能です。
cat コマンドを使用して /proc ファイルシステムを介してカーネルのロックダウン状態を調べ、dmesg でカーネルリングバッファ内のロックダウン関連のメッセージを確認し、/sys/kernel/security ディレクトリ内のセキュリティ設定を調べることで、この目的を達成します。これらの手順により、Linux システムの現在のロックダウン状態を包括的に理解することができます。
cat /proc/sys/kernel/lockdown でロックダウン状態を確認する
このステップでは、Linux カーネルの現在のロックダウン状態を確認します。カーネルロックダウンは、セキュリティを強化するために特定のカーネル機能を制限するセキュリティ機能です。特に物理的なアクセスが問題となるシステムで有効です。
ロックダウン状態は /proc ファイルシステムを通じて公開されており、具体的には /proc/sys/kernel/lockdown にあります。/proc ファイルシステムは、プロセスやその他のシステム情報に関する情報を提供する仮想ファイルシステムです。
ロックダウン状態を確認するには、cat コマンドを使用します。cat コマンドは、ファイルの内容を表示するために使用されます。
ターミナルが開いていない場合は、開いてください。デスクトップの左側にある Xfce Terminal アイコンを見つけることができます。
次に、以下のコマンドをターミナルに入力し、Enter キーを押してください。
cat /proc/sys/kernel/lockdown
次のような出力が表示されます。
[none] integrity confidentiality
この出力は、角括弧内に現在のロックダウンモード(この例では [none])と利用可能なロックダウンモードを示しています。
none: カーネルはロックダウンモードではありません。integrity: ユーザー空間が実行中のカーネルを変更できる機能を制限します。confidentiality: ユーザー空間がカーネルから機密情報を抽出できる機能を制限します。
具体的な出力はカーネルの設定によって異なる場合がありますが、構造は似ています。ロックダウン状態を理解することは、Linux システムのセキュリティ態勢を評価するために重要です。
Continue をクリックして次のステップに進んでください。
dmesg でロックダウンを確認する
/proc ファイルシステムを確認することに加えて、ロックダウン状態の変更に関連するカーネルメッセージは、多くの場合カーネルリングバッファに記録されます。これらのメッセージは dmesg コマンドを使用して表示できます。
dmesg コマンドは、カーネルリングバッファを調べたり制御したりするために使用されます。このコマンドは、起動時および実行時にカーネルが生成したメッセージを表示します。
カーネルロックダウンに関連するメッセージがあるかどうかを確認するには、dmesg の出力を grep にパイプして、「lockdown」という用語を検索できます。パイプ (|) は、一方のコマンドの出力を他方のコマンドの入力として送ります。
次のコマンドをターミナルに入力し、Enter キーを押してください。
dmesg | grep lockdown
次のような出力が表示される場合があります。
[ 0.000000] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-... root=UUID=... ro ... lockdown=none
[ 0.000000] Kernel lockdown: Lockdown is disabled.
この出力は、「lockdown」という単語を含むカーネルメッセージを示しています。これにより、起動時に設定されたロックダウン状態やその後に発生した変更を確認できます。正確なメッセージは、システムの起動方法と設定によって異なります。
出力が表示されない場合は、バッファにロックダウンに関する特定のカーネルメッセージが記録されていないか、バッファがいっぱいの場合にメッセージが上書きされている可能性があります。ただし、dmesg を確認することは、カーネルレベルのイベントを検証する一般的な方法です。
Continue をクリックして次のステップに進んでください。
/sys/kernel/security のセキュリティ設定を確認する
この最後のステップでは、/sys/kernel/security ディレクトリを探索します。/sys ファイルシステムは、カーネルのデータ構造に対するインターフェースを提供する別の仮想ファイルシステムです。/sys/kernel/security ディレクトリには、カーネルによってロードされた Linux セキュリティモジュール (LSM: Linux Security Modules) に関連する情報と制御機能が含まれています。
LSM は、カーネルがさまざまなセキュリティモデルをサポートできるようにするフレームワークです。例として、SELinux、AppArmor などがあります。
ls コマンドを使用してこのディレクトリの内容を一覧表示しましょう。ls コマンドは、ディレクトリの内容を一覧表示します。
次のコマンドをターミナルに入力し、Enter キーを押してください。
ls /sys/kernel/security/
ロードされている LSM に応じて、次のような出力が表示されます。
apparmor lockdown lsm selinux
この出力は、/sys/kernel/security 内のサブディレクトリを示しています。各サブディレクトリは、多くの場合、ロードされた LSM または lockdown のようなセキュリティ機能に対応しています。
ls と cat を使用して、これらのサブディレクトリの内容をさらに調べることができます。たとえば、/sys/kernel/security 内の lockdown ディレクトリの内容を表示するには、次のコマンドを使用できます。
ls /sys/kernel/security/lockdown/
そのディレクトリ内のファイルの内容、たとえば lockdown ファイル自体(これは /proc/sys/kernel/lockdown と同様の情報を含んでいる可能性があります)を表示するには、次のコマンドを使用できます。
cat /sys/kernel/security/lockdown
/sys/kernel/security ディレクトリを探索することで、システム上でアクティブなセキュリティモジュールとその設定についてより深い理解が得られます。
これで、さまざまな方法を使ってカーネルのロックダウン状態を確認する方法を学び、/sys ファイルシステム内のカーネルセキュリティインターフェースを探索しました。
Continue をクリックして、実験を完了してください。
まとめ
この実験では、Linux でカーネルのロックダウン状態を確認する方法を学びました。cat /proc/sys/kernel/lockdown コマンドを使用して、現在のロックダウンモードと利用可能なモード(none、integrity、confidentiality など)を表示しました。これらのモードを理解することは、システムのセキュリティを評価する上で重要です。
また、dmesg コマンドを使用してカーネルリングバッファ内のロックダウン関連のメッセージを確認する方法を探索しました。これにより、ロックダウンの有効化や無効化を含むカーネルイベントと状態の変化についての洞察が得られます。最後に、/sys/kernel/security ディレクトリ内のセキュリティ設定を調べました。このディレクトリは、ロックダウン固有の設定を含むさまざまなセキュリティモジュールとその設定について、より詳細な情報を提供します。



