SElinuxの理解のために
2025/10/23
SELinuxという同乗者 ― rootの腕をつかむセキュリティ係
rootは万能、でも人間的
Linuxの世界では、root は絶対的な存在です。どんなファイルにもアクセスでき、どんな命令も実行できます。しかし万能であるがゆえに、危うい瞬間があります。うっかりひとつコマンドを誤れば、システムを壊してしまう。
root は完璧ではなく、人間味を持った強力な管理者です。
SELinuxの登場
そこに登場したのが SELinux。root の背後に控え、腕をそっとつかんで共に歩く「安全係」です。
彼(あるいは彼女)はこう言います。
> 「そこは system ファイルだから、今のあなた(postfix_t)には触れないわ。」
> 「そのスプール領域は dovecot_t の担当よ。」
> 「root さん、あなたでも、今日はそこはやめておきましょう。」
SELinux は命令を奪わず、横で見守り、ルールから外れる瞬間にだけ静かにブレーキをかけます。
ルールに従う自由
この仕組みを「強制アクセス制御(MAC)」と呼びます。強制という言葉が堅く聞こえますが、実際には「ルールのある自由」です。
root が行う操作は、すべて *ポリシー* と呼ばれる交通法規に照らして判断されます。
許される範囲では自由に走れる。
ただし、交差点で信号が赤なら進めない。それだけのことです。
ファイルとプロセスの二人三脚
SELinuxの世界では、すべてのものが名札をつけています。ファイルにも、プロセスにも、「これは誰で、何をしていいか」というラベルがある。
root が新しいプログラムを実行するとき、SELinux はこう言います。
「このプログラムは *postfix_exec_t*、あなた(init_t)が起動するなら *postfix_master_t* として働きなさい。」
まるで人事担当者が社員の役職を割り当てるように、プロセスは任務を与えられて動き出します。
予防的な優しさ
SELinux は攻撃者を追い出す仕組みではなく、システムを“自ら守らせる”ための内的な安全装置**です。
root ですら例外ではありません。権限を奪うのではなく、「もう一人の冷静な自分」として行動を監視してくれる。
そのブレーキは、ときに煩わしく感じられるかもしれませんが、
それこそが安心して全速力で走れる理由になります。
一緒に歩く技術
SELinuxを完全に無効にしてしまえば、root は再び孤独な旅人です。代わりに、「permissive」で練習し、「restorecon」や「semanage」で信頼関係を築けば、
SELinuxは頼れる同乗者になります。
「ここは安全」「ここは危ない」と会話できる関係ができれば、
システム管理はぐっと落ち着いたものになります。
安全と自由の共存
SELinuxは、rootの自由を奪うものではありません。rootの力を暴走させずに、**自由と安全を両立させるための知恵**です。
危険な時だけ静かに腕を引き、正しい道を示す。
その優しい制約こそ、現代のLinuxが長く走り続けられる理由なのです。