ログ解析スクリプトAWStats 6.0ドキュメント

 


セキュリティに関するTips


多くのAWStatsのユーザーは, 複数のWebサイトを管理しています. Webのホスティングを行っている事業者がその代表例でしょう. このようなケースで要望が高いのが, ユーザーxxx(www.xxx.comを持っている)がユーザーyyy(www.yyy.comを持っている)の統計を閲覧できないようにすることです.



この要望を実現するためには, いくつもの手段があります. 以下にその例を示します
:



1) 非常に厳密なセキュリティポリシーを適用する場合


ポリシー:
あなたは別々のユーザーが所持する複数のドメインを管理しており, それぞれのユーザーについて統計を作成したいと考えています. また, あなたはユーザーに対して'リアルタイムの'統計を提供する必要はないと考えています.
この選択肢は, 巨大なサイトを持つ少数の重要なユーザーを抱えているWebホスティング事業者にとっては, 最適な選択肢になるでしょう.
メリット:
非常に高いセキュリティを保つことができる.
デメリット:
統計が静的になり, 動的な更新/閲覧を行うことができない.
実現手段:
各ドメインの全ての統計ページを-output -staticlinksオプションを利用して静的なHTMLとして生成します.
AWStatsはCGIを利用せず, 静的に生成されたページは保護された領域におかれ, 認められたユーザーのみが閲覧(もしくはメールで送付)することができるようになります.
ユーザーが統計サーバーにコマンドラインでアクセスすることができる(telnet)場合, AWStatsのデータベースファイルに正しい権限を設定する必要があります. ドメイン1の全てのAWStatsのデータベースファイル(更新処理で作成)について, ユーザー1(あるいは管理者)に読み取り/書き込み権限を与え, それ以外のユーザーには読み取り権限も書き込み権限も与えないように設定します.
続いて, 設定ファイルでSaveDatabaseFilesWithPermissionsForEveryoneのパラメーターが0に設定されていることを確認します.
ドメイン1のAWStatsのデータベースファイルが読み取り保護されている場合, 認められたユーザーのみがドメイン1の統計を参照することができます.
ドメイン1のAWStatsのデータベースファイルが書き込み保護されている場合, 認められたユーザーのみがドメイン1の統計を更新することができます.



2) ある程度のセキュリティポリシーを適用する場合


ポリシー:
あなたは複数のユーザーが利用する複数のドメインを管理しています. あなたはそれぞれのドメインについて, 誰が統計を動的に更新/閲覧できるかを特定したいと考えています.
これは非常によくある要望です.
メリット:
動的な統計が利用できる. 管理を行いやすい.
デメリット:
AWStatsのデータベースファイルは, 匿名Webサーバーユーザー権限で読むことができる必要があります. このため, 経験豊かなユーザーがAWStatsのデータベースファイルが格納されているサーバーにアクセス(telnet)できる場合, AllowAccessFromWebToAuthenticatedUsersOnlyパラメーターを無視するように改造したAWStatsをインストール/実行できてしまう可能性があります.
実現手段:
awstats.plは, アクセスするためにユーザー名/パスワードの入力が必要となるような保護された領域におく必要があります.

awstats.plを保護された領域に置く際にApacheに追加する必要があるディレクティブの例:
<Files "awstats.pl">
AuthUserFile /path/to/.passwd
AuthGroupFile /path/to/.group
AuthName "Restricted Area For Customers"
AuthType Basic
require valid-user
</Files>

これらのディレクティブを.htaccessファイルに記述する場合, .htaccessファイルの利用を許可するために, Apacheの設定ファイルのAllowOverrideディレクティブにAllが設定されていることを確認する必要もあります.

Apache以外のサーバで保護された領域を作成する方法を知りたい場合には, そのWebサーバのマニュアルを参照してください.

続いて, 保護したい全てのドメインの設定ファイルでAllowAccessFromWebToAuthenticatedUsersOnlyを1に設定します.
必要があれば, 認証されたユーザーの一覧をAllowAccessFromWebToFollowingAuthenticatedUsers パラメーターに追加します.
必要があれば, 閲覧を許可するIPアドレスの範囲を, AllowAccessFromWebToFollowingIPAddressesパラメーターに追加します.
AllowToUpdateStatsFromBrowserに1を設定してブラウザからの更新を許可しないのであれば, SaveDatabaseFilesWithPermissionsForEveryonパラメーターに0を設定してもいいでしょう. しかし, すべての履歴ファイルについて, Webサーバのユーザに対する読み取り/書き込み権限を与える必要があるため, この設定は推奨されません(AWStatsスクリプトに認証されたユーザに対するsetuidをするならば別ですが, セットアップが非常に難しくなります).
ErrorMessagesDebugMessages も, セキュリティに関するパラメータです.


その他のTips: 環境変数にAWSTATS_FORCE_CONFIGを設定しておくと, AWStatsはawstats.myconfigvalueformydomain.conf という名前の設定ファイルを常に利用します. この環境変数をWebサーバの環境に付加するには, 以下の行をApacheのhttpd.confの<VirtualHost>ディレクティブグループに(他のディレクティブと共に)設定します.
SetEnv AWSTATS_FORCE_CONFIG configvalueforthisdomain
たとえ何者かが'http://mydomain/cgi-bin/awstats.pl?config=otherdomain'というURLを利用して共生的に利用する設定ファイルを指定しようとしても, AWStatsはawstats.configvalueforthisdomain.conf という名前の設定ファイルを利用し, どの統計を利用するかの選択を行います. この機能は, それぞれのAWStatsの設定ファイルに認証されたユーザのリストを記述する代わりに, AllowAccessFromWebToFollowingAuthenticatedUsers="__REMOTE_USER__"を設定しているユーザーにとっては有用でしょう.



3) セキュリティポリシーがない場合


ポリシー:
あなたは1つ以上のホストやユーザーを管理していますが, 特にユーザーを意識して統計に対して権限を設定・管理する必要はないと考えています.
メリット:
セットアップが非常に容易(不要)になる. 動的な統計を利用できる.
デメリット:
設定ファイルの命名規則とURLの文法を知っているユーザーに対して, 特定の統計を閲覧することを禁止する手段がない.
実現手段:
特に何もする必要はありません(AllowAccessFromWebToFollowingIPAddressesパラメーターを利用すれば, 簡単に最小限のセキュリティを持たせることはできます).



すべてのオプションやパラメータ, すべてのWebサーバのオプションやパラメータ, OSのセキュリティ機能を組み合わせることにより, AWStatsの利用の仕方には実にさまざまなケースが想定されます. 自分で必要な手段を選択して利用してください...