次のページ 前のページ 目次へ

4. ローカルのセキュリティ

次にローカルユーザの攻撃に対するシステムのセキュリティについて考えます. そうです,ローカルのユーザに対してです.

ローカルユーザのアカウントの獲得は,攻撃者が root のアカウントを破ろう とする際に最初に考えることの一つです.ローカルに対するセキュリティが甘 ければ,様々なバグやローカル向けのサービスのまずい設定を利用して,一般 ユーザの権限から root ユーザの権限へ「アップグレード」することができる のです.ローカルに対するセキュリティが強固であれば,侵入者が越えなけれ ばならないハードルはまだ残ることになります.

ローカルユーザは,たとえ身元を詐称していなくても,システムに被害を与え ることができます.知らない人やコンタクトを取るための情報が無い人にアカ ウントを与えるのは,非常に危険なことです.

4.1 新規アカウントの作成

アカウントを発行する際には,そのユーザが行う必要がある作業に対して必要 最小限のアカウントを与えるようにすべきです.息子(10才)にアカウントを与 えるのならば,ワープロやお絵描きプログラムにはアクセスできるけれど,自 分のものでないファイルを削除できないユーザにすべきでしょう.

他人に Linux マシンに対しての合理的にアクセスをしてもらうための,便利 な経験則があります.

セキュリティを破るときに使われるローカルユーザのアカウントの多くは,何ヵ 月あるいは何年も使われていないものです.誰も使っていないために,理想的 な攻撃の道具になってしまうのです.

4.2 root のセキュリティ

あなたのマシンで最も欲しがられるアカウントは,root(ユーパーユーザ)のア カウントです.このアカウントはマシン全体に対する権限を持ち,ネットワー ク上の他のマシンに対する権限を持つこともあります.root のアカウントは できるだけ短時間の,特定の作業だけで使用し,それ以外の時は一般ユーザと してマシンを使用すべきです.root ユーザでログインしているとちょっとし たミスでも問題を起こしかねません.root 権限を持っている時間は短ければ 短いほど安全です.

root 権限でマシンを壊してしまわないための仕掛けもいくつかあります.

どうしても誰か(できれば非常に信頼している人)に root 権限を与える必要が ある場合にも,これを補助するツールがあります.sudo を使えば, ユーザのパスワードを使って,制限されたコマンド群を root の権限で使用さ せることができます.これにより,例えば Linux マシンのリムーバブルメディ アをユーザにイジェクトやマウントをさせるけれど,それ以外の root 権限は与 えないようにすることができます.sudo は成功・失敗を含めて全て の sudo の試みをログに取ることができるので,誰が何のためにど のコマンドを使ったか調査することができます.このため,sudo は 多くのユーザが root 権限を持つような環境でもうまく利用することができま す.なぜならシステムに対して行われた変更を調べやすくしてくれるからです.

sudo を使って特定のユーザに特定目的のための特定の権限を与える ことができますが,sudo には欠点がいくつかあります.sudo は,サーバの再 起動やユーザの新規追加など,限られた作業の組に対してだけ使うべきです. シェルエスケープができる任意のプログラムは,これを sudo を通 して使ったユーザに root 権限を与えてしまいます.例えば,大部分のエディ タがこれに該当します.また,/bin/cat のように無害なプログラムであって もファイルの上書きに使うことができるので,これを使って root 権限が破ら れることもあり得ます.sudo は権限を使わせるための手段と考える べきであり,root ユーザをより安全にするために置き換えるものと期待して はいけません.


次のページ 前のページ 目次へ