Piwikへのアクセスを特定のIPアドレスに制限する

Piwikの管理画面へのアクセスは管理ユーザーのパスワード認証で制限していますが、Piwikをよりセキュアにするために、Piwikのファイルに対し、特定のIPアドレスのみアクセスできるように設定します。

例えば、Piwikのすべてのファイルに対するアクセスは自端末のIPアドレスのみ許可し、外部からのアクセスは、piwik.phpとpiwik.jsのファイルのみ許可するといった設定をすることができます。
 
監視対象のWebサイト上のJavaScriptから送信されるトラッキング情報は、上記2つのファイルのみに関係しているようなので、上記2つのみ外部からアクセスできるようにすれば良いようです。
 

設定例


 
1)Apacheの.htaccessに設定する場合
 
Piwikのルートディレクトリに.htaccessファイルを作成し、下記設定をします。
 
<Files “*”>
Order deny,allow
Deny from all
Allow from 許可するIPアドレス
Allow from このWebサーバーのIPアドレス
Allow from 127.0.0.1
Allow from ::1
</Files>
 
<Files ~ “^piwik\.(js|php)|robots\.txt$”>
Allow from all
Satisfy
</Files>
 
※Piwikのルートディレクトリで.htaccessファイル内の設定を適用するために、Apache設定ファイル本体に”AllowOverride Limit”を設定したところ、Piwik管理画面のリンクのアイコン表示が変わってしまいました。原因はよく分かりません。私は、次の2)の方法で設定しました。
 
2)Apache本体の設定ファイルに設定する場合
 
Piwikのルートディレクトリが”/var/www/html/piwik”の場合
 
下記のPiwikルートディレクトリのDirectoryディレクティブ内に
<Directory “/var/www/html/piwik”>
:
</Directory>
  
.htaccessの場合と同様に下記設定を追加しました。
 
<Files “*”>
Order deny,allow
Deny from all
Allow from 許可するIPアドレス
Allow from このWebサーバーのIPアドレス
Allow from 127.0.0.1
Allow from ::1
</Files>
 
<Files ~ “^piwik\.(js|php)|robots\.txt$”>
Allow from all
Satisfy
</Files>
 
※1
<Files>ディレクティブでファイルの前に’~’を指定すると、正規表現でファイルを指定できます。
 
※2
上記設定例では、piwik.js、piwik.phpに加え、robots.txtのファイルに対してのみアクセスを許可するように設定しています。
 
※3
下記設定は、アーカイブ処理を行う際に(Piwikで定期的にアーカイブ処理を行いレスポンス応答向上)自サーバ内からPiwikに対してHTTPアクセスするようで、その送信元アドレスが自サーバーのグローバルIPアドレスになっていたため、この設定がないとアクセス拒否のエラーになってしまいます。
 
Allow from このWebサーバーのIPアドレス

関連記事の目次

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です