ロリポップのレンタルサーバーを使用しており、SSLで盗聴と改竄対策、WAFで不正アクセス対策を行っています。費用を掛けないため、ドメインはロリポップが予め用意したドメインのサブで、SSLは共有を使っています。其々の使い方はロリポップのWebに公開されており簡単ですが、これらの機能を実装している最中やWebアプリをアップし実行すると、色々な問題点が発生しましたので、その際に行った手順と対策について纏めておきます。
1.共有SSLを使う。
このWebの場合、ロリポップのドメイン:ciao.jp
サブドメイン:kureryokuka.ciao.jp
非SSLのパス :http://kureryokuka.ciao.jp/
共有SSLのパス:https://ciao-kureryokuka.ssl-lolipop.jp/
2.http→httpsにリダイレクトさせる。
共有SSLのパスでアクセスしますが、このままでは非SSLのパスでもアクセスできてしまいます。対策は、http://kureryokuka.ciao.jp/ にアクセスした際、https://ciao-kureryokuka.ssl-lolipop.jp/ にリダイレクトされる様にします。ルートディレクトリに以下.htaccessをアップすればOKです。共有SSLを活用するだけであればこれで完了です。
RewriteEngine On
# ??SSL?URL???
RewriteCond %{HTTP_HOST} ^kureryokuka\.ciao\.jp
RewriteRule ^(.*) https://ciao-kureryokuka.ssl-lolipop.jp/$1 [R=301,L]
3.既存サイトをWordPressに移植する。
わざわざ移植する理由は、WordPressで既存サイトを管理し、Pluginを使える様にするためです。その手順は以下URLを参考にしました。
http://www.soulmatefes.com/2013/07/wordpress-2.html
注意事項:項番2で.htaccessを設定したので、WordPressをインストールするとエラーとなります。その時だけ.htaccessを削除して下さい。WordPressのインストールでも.htaccessに情報が書き込まれますので、削除した設定を戻し忘れない様に注意して下さい。
4.既存サイトをSiteGurd WP pluginで管理する。
WordPress管理画面のプラグインから、SiteGurd WP pluginをインストールし有効にします。色々なセキュリティ対策機能を提供しており、必要な機能を選択することができます。例えば、WordPress管理画面にログインした際、メールで通知する機能があります。
5.WebアプリをアップしWAFを有効にする。
WAFの設定を有効にすると、その時点からWebアプリに対する不正アクセスの監視と防御が開始されますが、通常のアクセスにも関わらずエラーを表示し誤認されることがあります。その際はWAFのログを見て、不正アクセスのシグネチャーを確認します。誤認されない様にプログラムを修正するのが一番良い方法だと思いますが、それが難しい場合は検出されたシグネチャーをフィルタリングする事ができます。その設定はSiteGurd WP pluginで行います。
注意事項:シグネチャーをフィルタリングする場合は、仮に不正アクセスを受けたとしても、Webアプリで対策ができている事が必要です。以下の様なフィルタリング情報を、SiteGurd WP pluginが.htaccessに書き込みます。
<IfModule mod_siteguard.c>
SiteGuard_User_ExcludeSig 不正アクセスのシグネチャー
</IfModule>