はじめに

Unix 系オペレーティングシステムにおいて、setuid(set user ID)は、ユーザーがファイル所有者の権限でファイルを実行できるようにする特殊なファイル権限です。これは特定のシステム操作には便利ですが、誤用されるとセキュリティ上のリスクを招く可能性があります。このチャレンジでは、システム上のすべての setuid ファイルを特定してリスト化する方法を学びます。これはシステム管理者やセキュリティ専門家にとって不可欠なスキルです。

環境

LabEx では、試験環境をシミュレートするために Red Hat Universal Base Image 9 (UBI9) を使用しています。実際の RHCSA 試験環境と完全に同一ではないかもしれませんが、遭遇するタスクを適切に再現しています。

環境内には 2 つのユーザーが存在します:

  • labex: sudo 権限を持つ標準ユーザー、パスワード:labex
  • root: システム管理者、パスワード:redhat

このチャレンジは、実際の試験問題に基づいた構成となっており、解説、要件、およびタスクの完了を確認するための自動検証スクリプトが含まれています。RHCSA 試験でカバーされる知識領域を効果的にシミュレートしています。

Setuid ファイルの特定とリスト化

このステップでは、find コマンドを使用してファイルシステム全体から setuid ファイルを検索し、その結果をファイルに保存します。

タスク

  • ファイルシステム全体を検索し、setuid 権限が設定されているファイルを特定してください。
  • 特定した setuid ファイルのリストを、ホームディレクトリ内の setuid_list という名前のファイルに保存してください。

要件

  • すべてのコマンドは /home/labex ディレクトリで labex ユーザーとして実行してください。
  • setuid ファイルの検索には find コマンドを使用してください。
  • 出力結果は /home/labex ディレクトリの setuid_list というファイルに保存してください。

タスク完了後、setuid_list ファイルには以下のようなエントリが含まれるはずです:

/usr/bin/sudo
/usr/bin/passwd
/usr/bin/chage
/usr/bin/gpasswd
/usr/bin/newgrp
/usr/bin/su
/usr/bin/mount
/usr/bin/umount
/usr/bin/crontab
/usr/bin/pkexec

※ 実際のリストは、システム構成によって異なる場合があります。

✨ 解答を確認して練習

まとめ

このチャレンジでは、Unix 系システムで setuid ファイルを検索し、リスト化する方法を学びました。このタスクは、システム管理者やセキュリティ専門家が、昇格した権限を持つ潜在的なリスクのあるファイルを特定するために非常に重要です。特定のオプションを指定した find コマンドを使用して setuid ビットが設定されたファイルを特定し、さらなる分析のために出力をファイルに保存しました。このスキルは、セキュリティ監査の実施、潜在的な脆弱性の特定、およびシステムの整合性維持に役立ちます。