第4回 Apacheセキュリティチェック、PCI DSSの場合


川島 祐樹
NTTデータ・セキュリティ株式会社
コンサルティング本部 PCI推進室
CISSP
2008/12/1

 コンテンツ関連の設定を見る

 コンテンツ関連の設定では、DocumentRoot、AliasやDirectoryIndexディレクティブ、およびDirectoryコンテナなどを確認しますが、特にデフォルトでインストールされるマニュアルやアイコン、サンプルCGIプログラムなど、不要なものが残っていないかを確認します。

 また、上記のCGIモジュールと併せて、ExecCGIオプションやcgi-binディレクトリの有無確認も行います。不要なコンテンツが存在する場合は、要件2.2.3.c「システムコンポーネントのサンプルを選択し、一般的なセキュリティパラメータが適切に設定されていることを確認する」もしくは、前述の要件2.2.4の指摘事項となります。

DocumentRoot "/var/www/html"
<Directory />
     Options FollowSymLinks
     AllowOverride None
</Directory>
<Directory "/var/www/html">
     Options Indexes FollowSymLinks ←×(Indexes)
     AllowOverride None
     Order allow,deny
     Allow from all
</Directory>

Alias /icons/ "/var/www/icons/" ←×
<Directory "/var/www/icons"> ←×
     Options Indexes MultiViews FollowSymLinks ←×(Indexes,MultiViewsなど)
     AllowOverride None
     Order allow,deny
     Allow from all
</Directory>

<Directory "/var/www/cgi-bin"> ←×? 確認が必要
     AllowOverride None
     Options None
     Order allow,deny
     Allow from all
</Directory>
リスト7 コンテンツ関連の設定

 ログ設定を確認する

 ログの設定は、標準的な設定で誰が(IPアドレスやホスト名)、いつ、何をしたのかの記録が取られていれば問題ありません。ログについてはむしろ、その記録されたログの運用方法について注意する必要があります。具体的には、保管されたログのアクセス権限、ローテーションのサイズや期間、世代数、また長期でのログのオフライン保管や完全性の保護などがポイントになるでしょう。ログについては主に要件10の項目になります。

 調査時には、実際にログの内容を見て、カード会員データがログ内に含まれないかどうか、過去のログが保管されているかどうか、また、ほかのサーバ上のログと合わせて、1トランザクションを追跡できるかどうかを確認します。

 そのときに重要となるのは時刻同期であり、各サーバ上のログの整合性が取れていることが必要となります。例えば時刻同期については、要件10.4「組織内で正しい時刻を入手および配布するためのプロセス、およびシステムコンポーネントのサンプルについて、時刻に関連したシステムパラメータ設定を入手および調査する」に基づいて確認します。

ErrorLog logs/error_log
LogLevel warn
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent
CustomLog logs/access_log combined
リスト8 ログ関連の設定

 実際に稼働しているサーバでは、バーチャルホストの設定や、SSLの設定などが行われていることでしょう。Apacheに限らず、必要最小限の機能を提供し、必要最小限のコンテンツを公開していることが重要です。細かいようですが、SSLに関してはバージョンの問題がよく見受けられますので注意してみてください。

 環境に合ったセキュリティ対策を

 QSAの訪問審査時には上記のようにシステム設定を確認しますが、設定上対応してさえいればよい、というわけではありません。すべての項目について文書化しておく必要があり、その設定によってシステムはどう変化するのか、なぜその設定となっているのかを把握しておく必要があります。

 文書化しなければ、変更管理を適切に行うこともできませんし、安全な状態を保つことは難しくなります。また、Apacheを1つ例に挙げても、さまざまな部分に対応する必要のある項目が12要件に散在しています。チェックリストなどを使って漏れがないか確認することも有効でしょう。

 また、QSAは審査を行う資格があるという以前にセキュリティの専門家であり、PCI DSSに書いてあることを機械的に確認するのではなく、あくまで対象のシステム、環境において何が適切なのかを必要に応じて判断しながら確認を進めていきます。PCI DSSは具体的であるといわれてはいますが、前述のような「一般的なセキュリティパラメータ設定が適切に設定されているか」などといった漠然とした要件も存在します。それは、OSやアプリケーション、またそれが存在する環境において適切なセキュリティ設定を一概に決めることができないことを意味しているとも考えられます。

 非常に具体的な項目の多いPCI DSSですが、やはり企業の業務内容と形態、取り扱う情報を適切に把握し、その業務に合ったセキュリティ対策を取らなければならないのです。まず自分を知ること、そして敵を知り、効果的な対策を施すことが重要です。細かい部分に集中しすぎて、迷い始めると忘れてしまいがちなのですが、そのようなときは一歩下がって、「カード会員データを守るにはどうしたらよいか?」と考えてみると、答えが見えてくることでしょう。


 今回はApacheを例に挙げてQSAの審査時の確認の流れを紹介しましたが、いかがでしたでしょうか。「予想以上に細かいな……」と感じられる方、「この程度か。当たり前のことしかしないんだな」と感じられる方、さまざまかと思います。次回以降も具体的な環境を例に挙げたいと思いますので、それを通して、QSAの視点をご理解いただけたら幸いです。

3/3
 

Index
Apacheセキュリティチェック、PCI DSSの場合
  Page1
稼働プロセスの確認
バージョン、バイナリの確認
  Page2
サーバ全体設定の確認
実行ユーザーの設定を見る
ロードモジュールを確認する
Page3
コンテンツ関連の設定を見る
ログ設定を確認する
環境に合ったセキュリティ対策を


Profile
川島 祐樹(かわしま ゆうき)

NTTデータ・セキュリティ株式会社
コンサルティング本部 PCI推進室
CISSP

NTTデータ・セキュリティ入社後、セキュリティ対策の研究開発から、セキュリティ製品の評価、サービス開発、導入、運用支援を実施。

その後、PCIDSS公開当初から訪問調査を実施し、セミナーや書籍、記事の執筆など、PCIDSS普及促進も実施している。

オール・ザッツ・PCI DSS 連載インデックス


Security&Trust フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Security & Trust 記事ランキング

本日 月間