第4回 Apacheセキュリティチェック、PCI DSSの場合
川島 祐樹
NTTデータ・セキュリティ株式会社
コンサルティング本部 PCI推進室
CISSP
2008/12/1
PCI DSSはペイメントカード業界だけではなく、セキュリティのチェックリストにも使える、というのがこの連載の趣旨でした。では、具体的にどのようにチェックを行っているのでしょうか。今回は身近な「Apache」を題材に、セキュリティ評価ベンダがなにをチェックしているのかを解説します(編集部)
セキュリティ評価ベンダ(QSA)によるPCI DSSの訪問審査では、文書調査やインタビューのほかに、実際のOSやアプリケーションの設定を、画面上で目視確認することで、PCI DSSの要件に対応しているかどうかを調査します。今回は、QSAとして訪問審査を実施する際に確認するシステム上のポイントを、「QSAの視点」と称して、実際のアプリケーションを例に取って解説したいと思います。
【注】 アプリケーションの稼働するシステムやその周辺の物理的/論理的環境、運用方法などに依存しますし、審査を行うQSAによっては、調査の手法に差異がみられるといった可能性もあります。本記事はあくまでご参考にとどめていただき、実際の環境に照らし合わせたときにどうすべきかは、皆さまの環境で確認していただく必要があります。 |
UNIX系OSを使用している環境において、WebサーバアプリケーションとしてApacheが一般的に利用されています。対象環境にApacheがあった場合に、PCI DSSの12要件の順序ではなく、どのような点を注意深く確認するのかをご紹介したいと思います。ここで使用する環境は、Linux+Apache 2.2.8です。
稼働プロセスの確認
対象範囲内のOSについては、まずネットワーク接続状況と稼働するプロセスを確認しますが、Apache httpdの存在はnetstatやpsで確認することができます。通常、インタビューや文書確認を先に行っており、Apacheが稼働していること自体はすでに分かっています。
しかし、この時点で“稼働していないはずのApache”を発見することもあります。そういった場合は、PCI DSSの訪問審査の観点では指摘事項となるため、非準拠になります。例えば、データベースやそのほかのツールのWeb管理コンソールが、使用されていないにもかかわらず稼働しているようなケースがよく見受けられます。
つまり、この作業が、要件2.2.2の「システムコンポーネントのサンプルを選択し、有効なシステムサービス、デーモン、プロトコルを調査する」の一部であるといえます。ここではpsコマンドでの確認方法を挙げてみたいと思います。
tsuji@suse:~> ps -ef | more |
リスト1 対象のシステムでのpsコマンド結果 |
ここでApacheについて確認できるのは3点、実行ユーザー、実行バイナリ、および使用されている設定ファイルのパスです。
wwwrun 2624 2620 0 Sep22 ? 00:00:00 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf |
リスト2 Apacheのプロセス情報 |
なぜこのプロセス情報を確認するのでしょうか。それはRPMでインストールしていようと、ソースからコンパイルしていようと、稼働しているプロセスをもとにしてこれらの情報を確認しなければ、関係のないファイルを見てしまっている可能性があるためです。例えばRPMでインストールされているパッケージは存在するものの稼働しておらず、ソースからコンパイルされたバイナリが動作している、というようなことも考えられるためです。
httpdプロセスの実行ユーザーもここで確認できます。forkされたhttpdプロセスもすべてrootで動作していた場合、指摘対象となるでしょう。つまり、Apacheは実際のHTTPリクエストを受け付けるために子プロセスを生成するため、これらのプロセスの親プロセス1だけがrootユーザーで実行されており、それ以外の子プロセスはApache専用のユーザー、もしくはnobodyなどで起動されていることが必要です。この部分は、要件2.2.3.cの「システムコンポーネントのサンプルを選択し、一般的なセキュリティパラメータが適切に設定されていることを確認する」という項目の確認作業の1つであるといえます。
バージョン、バイナリの確認
起動プロセスのバイナリに-Vオプションを指定して、コンパイルオプションなどを確認します。
tsuji@suse:~> /usr/sbin/httpd2-prefork -V |
リスト3 -Vオプションでコンパイルオプションを確認する |
これらの値はあくまでコンパイル時に指定された静的なものですので、実行時オプションやhttpd.confの内容によって変化する可能性もありますが、後半の調査のためにもコンパイルオプションを確認しておきます。通常、確認する基本的なポイントは緑色の部分となります。
1/3 |
Index | |
Apacheセキュリティチェック、PCI DSSの場合 | |
Page1 稼働プロセスの確認 バージョン、バイナリの確認 |
|
Page2 サーバ全体設定の確認 実行ユーザーの設定を見る ロードモジュールを確認する |
|
Page3 コンテンツ関連の設定を見る ログ設定を確認する 環境に合ったセキュリティ対策を |
オール・ザッツ・PCI DSS 連載インデックス |
- 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)対策の観点から考える。
|
|