
【連載】
止められないUNIXサーバのセキュリティ対策
(「止められない基幹業務サーバの管理対策」改め)
第6回 特権ユーザーの安全性向上を行うsudoの設定例
三井物産GTI (現:三井物産セキュアディレクション株式会社)
木村 靖
2003/12/20
| ※ご注意 本稿の内容を検証する場合は、必ず影響を及ぼさない限られた環境下で行って下さい。また、本稿を利用した行為による問題に関しましては、筆者および株式会社アットマーク・アイティは一切責任を負いかねます。ご了承ください。 |
前回は、sudoの基本的な使い方と例をいくつか紹介した。今回も引き続きsudoを用いたコマンドの利用制限を中心に説明する。
|
sudoコマンドのおさらい |
sudoの設定例に入る前に、sudoの基本的な使い方をおさらいしておこう。
●sudoコマンドの使い方
前回説明したとおり、sudoの使い方はとてもシンプルで実行するコマンドの前にsudoと入力するだけだ。例えば、/var/log/secureというファイルを特定ユーザーの権限で参照したい場合は、
% less /var/log/secure |
と実行するところを
sudo -u 特定ユーザー less /var/log/secure |
と実行するだけだ。
「-u 特定ユーザー」の部分を省略した場合は、rootが仮定される。そのため、通常はroot権限を得るために使用するので、「sudo 実行するコマンド」という形式で実行することが多い。
●sudoの設定
sudoの設定は、sudoersファイルで行う。デフォルトでは、ユーザーroot以外はsudoを利用できないように制限されている。そのほかのユーザーがsudoを使う場合は、適宜設定を追加する必要がある。
なお、sudoersファイルに記述する文法については、オンラインマニュアル(man)を参照するとよいだろう。
% man 5 sudoers |
|
実運用に影響を与えるコマンドの利用制限 |
前回の終わりに、「実運用に影響を与えてしまいそうなコマンドは、sudoで気軽に実行できないように制限することをお勧めする。特に簡単に止めることのできない基幹系のサーバならなおさらだ」と述べ、具体的な例として「OSの起動・停止コマンドの制限」を説明した。今回も実運用に影響を与えるほかの事例をいくつか紹介するとともに、最終的にこれらの利用制限を設定した例を掲載する。
●実運用に影響を与えるコマンド群の定義
操作ミスなどにより実運用に多大な影響を与えてしまうようなコマンドがある。それらのコマンドは、たった一度の操作ミスにより取り返しのつかない事態に陥るため、止めることのできない基幹サーバなどの場合は、特に慎重に該当するコマンドを制限するとよいだろう。
制限の対象となるコマンドの具体的な例としては、以下の項目が挙げられる。
| ・システムファイル、設定ファイルの削除 | |
| ・OS・アプリケーションの起動と停止 | |
| ・ネットワークに関する設定変更 |
これらのうち、「OS・アプリケーションの起動と停止」については前回説明した。今回は残りの項目に関するsudoでの利用制限について説明する。
- システムファイル、設定ファイルの削除を防ぐ
システムファイルなど重要なファイルの削除を防ぐため、sudoでの利用を制限する。UNIXでは、ファイルの削除を行うコマンドとして、rmがよく知られている。
また、rmのほかに、unlink、rmdirなどの削除コマンド、ファイルシステムの初期化を行うnewfsなども利用制限の対象にするとよいだろう。
Cmnd_Alias REMOVE = /bin/rm, /usr/sbin/unlink, /bin/rmdir, /sbin/newfs
%wheel ALL=(ALL) ALL, !REMOVE
上記は、1行目でコマンドのグループ化(REMOVE)を行い、2行目でwheelグループのユーザーに対してREMOVEグループのコマンドの利用制限を行っている。
- ネットワークに関する設定変更を防ぐ
ネットワーク(TCP/IP)の設定変更は、稼働中のWebサーバやメールといったネットワークサービスに直接影響を与えてしまう。そのため、ネットワークの設定変更で利用されることの多い、ifconfigコマンドの利用を制限する。
また、Solarisではnddコマンド、BSD系のOSではsysctl(net.*の設定値)コマンドにより、既存のTCP/IPスタックの設定値を変更することが可能であるため、それらも制限しておくとよいだろう。
Cmnd_Alias IFCONFIG = /sbin/ifconfig
Cmnd_Alias NDD = /usr/sbin/ndd
%wheel ALL=(ALL) ALL, !IFCONFIG, !NDD
上記は、1、2行目でコマンドのグループ化(IFCONFIGおよびNDD)を行い、3行目でwheelグループのユーザーに対してIFCONFIGおよびNDDグループのコマンドの利用制限を行っている。
●利用制限のまとめ
前回説明した「OSの起動・停止」の設定、およびsudoのデフォルト値(Defaults)の変更点を組み合わた利用制限の例を以下に示す。
Defaults timestamp_timeout = 0 |
最初のDefaultsの2行は、sudo実行者に、いまから特権ユーザーを扱うという“意識”と“慎重さ”を持たせるための設定だ。
timestamp_timeout = 0により、sudoのパスワードキャッシュを無効にし(デフォルト5分)、sudo実行時のパスワード入力を毎回求めるようにしている。
passpromptでは、従来の「Password:」というシンプルなパスワードプロンプトを「ユーザー名@ホスト名 Password:」に変更し、いまからどのホスト上のどのユーザーからsudoを実行しようとしているのかを常に意識させるようにしている。
そのほか、Cmnd_Aliasで設定している、制限対象のコマンドおよびコマンドのパスについては、OSの種類によって多少違う場合があるので、typeやwhichコマンドなどでコマンドのパスを調べ、調整する必要がある。
なお、上記の設定によって、制限対象となるコマンドは、「sudo 実行するコマンド」の形式で実行することが出来なくなる。そのため、それら制限対象のコマンドを実行する場合は、「sudo
-s」でいったんrootのシェル権限を得てから、その上で実行する必要がある。
ただし、その場合は、必要なコマンドの実行が終ったら、exitやlogoutでroot権限のシェルを即座に終了することをお勧めする。
kimu@atmarkit{505}% sudo -s |
以上、sudo で実運用に影響を与えるコマンドの制限について説明した。実際には、運用するサーバの重要性などに応じて、制限をさらに厳しくしたり、逆にゆるめたりすることになるだろう。
| 1/2 |
| index | |
| 第1回 不要なサービスの停止こそ管理の第一歩 | |
| 第2回 ソフトウェアの現状確認とアップグレード | |
| 第3回 サービスをセキュアにするための利用制限 | |
| 第4回 スーパーユーザーの特権を制限する | |
| 第5回 管理者権限を制限するためのsuとsudoの基本 | |
| 第6回 特権ユーザーの安全性向上を行うsudoの設定例 | |
| sudoコマンドのおさらい | |
| 実運用に影響を与えるコマンドの利用制限 | |
| コマンドの実行履歴を残す | |
| 第7回 UNIXサーバの運用管理で欠かせないログ管理 | |
| 関連記事 | |
| 連載:Webアプリケーションに潜むセキュリティホール | |
| 特集:クロスサイトスクリプティング対策の基本 | |
| 連載:インシデントレスポンスはじめの一歩〜rootkitを検出するために |
| Security&Trust記事一覧 |
ホワイトペーパー(TechTargetジャパン)
- この脆弱性対策エンジンは“永遠に完成しない” (2010/3/9)
パターンファイルに頼らず防御する「要の技術」は、いまも完成にはいたっていない。その理由とは―― - Gumblarがあぶり出す 「空虚なセキュリティ対策」 (2010/3/1)
ガンブラーの脅威は、組織の構造や外部委託問題をあぶり出します。そのセキュリティ対策、建前論になっていませんか? - 決済アプリのセキュリティ基準、PA-DSSとは (2010/2/24)
“ペイメントアプリケーション”のセキュリティ基準を定めたPA-DSS。厳密に定められた14の要件を、PCI DSSと対比させつつ解説します - 「鍵は“J”の中にあるよ」CTF by ダークナイト解答編 (2010/2/22)
ダークナイトからの挑戦状、いかがだっただろうか。WiresharkにNetworkMiner、WinRARを駆使し、“J”に隠された秘密を解き明かせ!
|
|
スキルアップ/キャリアアップ(JOB@IT)
スポンサーからのお知らせ
- - PR -
| 「いつかは壊れるサーバ」そんな故障に 迅速で安価に手軽に対応する方法とは? New! |
| 「特権ユーザー」の事件を防げ! 万能権限を持つユーザーの管理方法とは? New! |
| 仮想環境の構築とデータ保護の特効薬?! 実績と信頼性の高いパッケージで安心運用 |
| 仮想環境のバックアップもこれまでどおり 「まるごと取ってまるごと戻す」簡単運用 |
| おばかアプリ選手権、第4弾開催中!! ムダにカッコよくてくだらない作品求ム! |
| 社内ファイルサーバを“クラウド”に統合 VPN直結「クラウド型ストレージ」を紹介 |
| その数、なんと400台以上! グループ内 サーバの「統合管理」によるメリットは? |
| 美人!? まあまあ? 気になる いやし系!! PV急増で「美人時計」がとった手段とは? |
| 進化を続ける富士通ストレージETERNUS DX 製品開発者の自信を裏付けるものとは何か |
| 運用管理の課題を“2つの観点”から分析 ユーザー満足度の高い「仮想環境」とは? |
- - PR -
お勧め求人情報

**先週の人気講座ランキング**
〜CCNA編〜
| ◆ | TomcatやJBossなどAPサーバ環境に関する 情報を集約! “業務”用APサーバ大百科 New! |
| ◆ | 一気に解説! 最新のクラスタストレージ 「RAIDを超えたストレージ基準」……など New! |
| ◆ | クラウド的ユーザー体験の変化は脅威か? 仮想化技術を使いこなす運用管理術を紹介 New! |

| ◆ | 上司や部下、部署内メンバーとの情報共有 を“ガラッ”と変えるコラボツールとは? New! |
| ◆ | おばかアプリ選手権、第4弾開催中!! ムダにカッコよくてくだらない作品求ム! |
| ◆ | 社内ファイルサーバを“クラウド”に統合 VPN直結「クラウド型ストレージ」を紹介 |

| ◆ | Twitterのアカウントはなぜ突破された? メールによる新手の攻撃手法とその対策 |
| ◆ | もう仮想化のお試しフェイズは終わりだ! Hyper-V 2.0が基幹システムも仮想化 |
| ◆ | 美人!? まあまあ? 気になる いやし系!! PV急増で「美人時計」がとった手段とは? |

| ◆ | クライアント企業から求められる人材 ⇒IT技術と経営戦略を併せ持つ「戦略家」 |
| ◆ | .NET編集長が実践する「技術情報検索術」 サンプル・コードを簡単に探す“技”は? |
| ◆ | 業務効率と情報セキュリティ対策を両立! 手間なく確実に機密情報を守る方法とは? |

| ◆ | 進化を続ける富士通ストレージETERNUS DX 製品開発者の自信を裏付けるものとは何か |
| ◆ | 運用管理の課題を“2つの観点”から分析 ユーザー満足度の高い「仮想環境」とは? |

| ◆ | 【CTC事例】約30の基幹システムを統合! 膨大なバッジジョブを制御した方法は? |
| ◆ | 仮想化すればコストは削減できるか? 仮想化に必要な「3つの視点」を解説する |
| ◆ | その数、なんと400台以上! グループ内 サーバの「統合管理」によるメリットは? |






