第2回 ファイルACLを用いたアクセス制御
面 和毅サイオステクノロジー株式会社
インフラストラクチャービジネスユニット
Linuxテクノロジー部
OSSテクノロジーグループ
シニアマネージャ
2005/12/7
前回は、セキュアOSが必要とされてきている背景と、その中でのセキュアOSの1つである「LIDS(Linux Intrusion Detection System)」の位置付けを簡単に説明しました。今回からLIDSの特徴とアクセス制御の方法をより詳しく見ていきましょう。
LIDSのコンセプトと特徴
LIDSでは、通常のLinuxのセキュリティ上の脆弱性を、
- rootアカウントがアクセス制御をう回できてしまうため、システムをクラックされてrootアカウントを取得されると重要なファイルを書き換えられてしまう可能性がある(任意アクセス制御:DACの脆弱性)
- プロセスをkillシグナルから保護する方法がない
- LKM(Loadable Kernel Module)をrootキットに悪用される危険性がある
ととらえています。これらの対策として、
- システムの重要なファイル/ディレクトリを保護して、rootアカウントやすべてのユーザーによるアクセスを制限する(強制アクセス制御:MAC)
- 重要なプロセスは、存在を隠す、あるいはkillシグナルから保護することにより、外部からクラックされてもサービスが落とされないようにする(プロセスの保護)
- 必要なモジュールを読み込んでシステムが起動した後に、通常運用中にはモジュールを読み込めないようにしてしまう(カーネルの封印)
を考えました。
これらを実現するため、LIDSでは、
- ファイルACL
- Linuxケーパビリティ
- プロセスの保護
を用いてアクセス制御を行っています。
今回はファイルACLを用いたアクセス制御について解説します。Linuxケーパビリティとプロセスの保護については次回以降に取り上げる予定です。
LIDSのアクセス制御方法
LIDSを導入したシステムでは、通常のUNIXにおいて「rwx」で表されるアクセス制御と、LIDSによるアクセス制御の両方が重ねられた形になります(図1)。
図1 LIDS ACLとLinux rwxによるアクセス制御の関係 |
LIDS-1系列では、先にLIDSのアクセス制御で許可されたもののみが通常のrwxでのアクセス制御を受けることになります。これに対してLIDS-2系列では、通常のrwxでのアクセス制御で許可された場合にのみLIDSによるアクセス制御が加わります。そのため、通常のrwxでアクセスが拒否された場合には、LIDSのアクセス制御は行われません。
LIDSでは、アクセス制御を行う際に、ファイルに対して付与されたアクセス権を参照します。LIDSによるファイルへのアクセス権は厳しい方から順に、
- DENY(アクセス拒否)
- READONLY(読み込みのみ)
- APPEND(追記、および読み込み)
- WRITE(書き換え、読み込み)
となっており、システムコールレベルでアクセス権をチェックされています。また、アクセス権をディレクトリに対して与えた場合には、そのディレクトリ内のファイル、およびサブディレクトリに対して再帰的にアクセス権が与えられるようになります。
例えば/varディレクトリにREADONLYを与えた場合には、rootを含むすべてのユーザーやプロセスからは、/varディレクトリやそのサブディレクトリである/var/logなどに対して、読み込みのアクセスしかできなくなります。同様にWebコンテンツが収められている/var/wwwディレクトリをDENYにした場合には、すべてのユーザーやプロセスは/var/wwwディレクトリ以下のファイルにアクセスすることができなくなります(図2)。
図2 /varをREADONLYした場合 |
しかし、これではApacheのプログラムであるhttpdもコンテンツファイルを読むことができなくなってしまい、正常に動作しなくなります。そのため、httpdからのみ/var/wwwディレクトリに対してREADONLYでアクセスできるように設定することができます(図3)。
図3 httpdからのみ読み込みを可能にする |
1/3
|
Index | |
ファイルACLを用いたアクセス制御 | |
Page1 LIDSのコンセプトと特徴 LIDSのアクセス制御方法 |
|
Page2 LIDSの特徴、それは直感的な設定 ACL(Access Control List) ファイルに対するアクセス制御のフロー |
|
Page3 LIDSの内部構造に迫る LIDS-1系列でのファイルアクセス制御 LIDS-2系列でのファイルアクセス制御 |
Security&Trust記事一覧 |
- Windows起動前後にデバイスを守る工夫、ルートキットを防ぐ (2017/7/24)
Windows 10が備える多彩なセキュリティ対策機能を丸ごと理解するには、5つのスタックに分けて順に押さえていくことが早道だ。連載第1回は、Windows起動前の「デバイスの保護」とHyper-Vを用いたセキュリティ構成について紹介する。 - WannaCryがホンダやマクドにも。中学3年生が作ったランサムウェアの正体も話題に (2017/7/11)
2017年6月のセキュリティクラスタでは、「WannaCry」の残り火にやられたホンダや亜種に感染したマクドナルドに注目が集まった他、ランサムウェアを作成して配布した中学3年生、ランサムウェアに降伏してしまった韓国のホスティング企業など、5月に引き続きランサムウェアの話題が席巻していました。 - Recruit-CSIRTがマルウェアの「培養」用に内製した動的解析環境、その目的と工夫とは (2017/7/10)
代表的なマルウェア解析方法を紹介し、自社のみに影響があるマルウェアを「培養」するために構築した動的解析環境について解説する - 侵入されることを前提に考える――内部対策はログ管理から (2017/7/5)
人員リソースや予算の限られた中堅・中小企業にとって、大企業で導入されがちな、過剰に高機能で管理負荷の高いセキュリティ対策を施すのは現実的ではない。本連載では、中堅・中小企業が目指すべきセキュリティ対策の“現実解“を、特に標的型攻撃(APT:Advanced Persistent Threat)対策の観点から考える。
|
|