ユーザーの実行権限を柔軟に割り当てるsudoのリスクとメリット:Linux Hacks(3/3 ページ)
rootパスワードを公開することなくアクセス範囲を最小限化した上で必要な権限を一般ユーザーに与えられるsudo。ここではsudoについてそのリスクとメリット、そして柔軟なシステム運用に役立てるための幾つかのTIPSを紹介しよう。
使用上の注意
sudoの設定で注意すべき点は、想定の範囲外の権限を与えないようにすることである。当然ながらsuの実行を許してしまうと、実質的にそのユーザーにroot権限を与えたのと同じになってしまう。ある意味こうしたものは明白な設定ミスと見なせなくもないが、それよりも厄介なのは、ある程度の経験を積まないと気づきにくい形で微妙な罠が隠されていることだ。例えば「sudo less」を実行できるユーザーが!コマンドを使うと、そのほかのコマンドをroot権限で実行可能となってしまう場合がある(何故こうしたリスクが生じるかがピンと来ない読者は、lessのmanページにあるこの問題の解説を参照してほしい)。いずれにせよコマンドへのアクセス設定に関しては“転ばぬ先のつえ”的な姿勢で対処するのが肝要であり、SANS Instituteなどのセキュリティ問題を扱ったサイトを参考にして、この種のリスクにおいてどのような脆弱性や手口が確認されているかをチェックしておくべきである。
そのほかに犯しやすい単純なミスとしてコマンドを相対パスで指定するというものがあり、ある程度の知識を有すユーザーであれば、これを糸口にしてすべての権限を取得されかねない。例えばFOOというエイリアスにbin/fooと設定したとしよう。その状況下においてあるユーザーが適当な場所にbinディレクトリを作成して、その中に自分が実行したいコマンドを格納しておくと(ここでの重要なポイントはその名称をfooとしておくこと)、これをroot権限下で実行することであらゆる操作が行えるようになってしまう。
残念ながら、一般のユーザーがいわゆる特権昇格(privilege escalation)を行う手口を見つけて不正にroot権限を取得してしまうような事態はあり得ないと保証することはできないのだが、特定ユーザーにのみ上位のアクセス権限を必要とする一部の操作だけを許可するという処理を簡単に実行できる現実的な手法は、sudoのほかに存在していないのである。
このようにsudoの使用にはある程度のリスクが伴うが(その大部分は設定時のミスで余分な権限まで与えることに関連している)、指定ユーザーに通常以上の権限を与えて特定タスクの実行を許すといった柔軟なシステム運用を可能にしてくれる存在という点には間違いがないのだ。
Federico Kerekiはウルグアイ出身のシステムエンジニアで、20年以上に渡るシステム開発、コンサルティング、大学講師の経験を有している。
関連記事
- セキュリティの基本原則:最小権限という概念とその実装
最小権限の原則とはコンピュータセキュリティにおける基本概念の1つだが、今日その重要性は通常のシステム管理だけでなく、ソフトウェアの設計段階においてもより大きな意味を有するようになっている。 - Linuxデスクトップをセキュアにするための方法をセレブに聞いてみた
LinuxはWindowsよりセキュア――そう考えてLinuxへ移行する方、Linuxは決して完璧ではない。先人たちがどのようなセキュリティ対策を講じているのかを紹介しよう。 - セキュアなLinux環境への近道――Damn Vulnerable Linuxの無防備さを極めろ!
Damn Vulnerable Linuxには、セキュアなLinuxディストリビューションであれば備えていては“いけない”あらゆる要素が取りそろえられている。セキュリティホールの原因となる穴だらけの旧式ソフトウェアを意図的に寄せ集めたこのディストリビューションの意義を考える。 - Bastille:自学にも適したセキュリティ評価ツール
Bastilleはセキュリティの侵害が起こるのを待って反応するのではなく、システムの脆弱性を取り除くことによってセキュリティ侵害を未然に回避する。システムセキュリティを向上させるためのこのソフトウェアを紹介する。 - アーキテクチャセキュリティの9つの原則
アーキテクチャセキュリティは、何十冊もの本にわたるほどの大きな話題である。だが、具体的な設定方法を除けば、それは9つの基本的な原則に集約できる。
Copyright © 2010 OSDN Corporation, All Rights Reserved.