その12までの記事で、さくらのVPSを使ってWordPressサイトを立ち上げることができました。単に立ち上げるだけであれば作業はその12で終了します。
サーバーのセキュリティ対策
ですが、それだけで作業を終わらせてしまうと、そのWordPressサイトはインターネット上の様々な脅威にさらされるでしょう。そのためサーバーに対するキュリティ対策が必要となります。ただインターネット上のセキュリティと一口に言っても、様々な攻撃とその対策が挙げられます。
今回の記事では、盗聴やなりすましに対処する通信の暗号化や、個人情報の窃取やサイト改ざんなどを狙った、SQLインジェクションやクロスサイトスクリプティング(XSS)に関する対策方法をご紹介します。
サーバ証明書の導入(Webサイトの常時SSL化)
クライアント・サーバ間の通信するときの方式は”http://”ではなく、暗号化された”https://“で行いましょう。そのために自分のサーバー(さくらのVPS)にSSLサーバ証明書を導入・設定する必要があります。
SSLサーバ証明書とは
SSLサーバ証明書とは信頼された認証局が、情報通信先のサーバのサイト運営組織が実在していることを証明し、WebブラウザとWebサーバ間(サーバ同士でも可能)でSSL(Secure Socket Layer)暗号化通信を行うための電子証明書です。
この電子証明書をサーバーに導入することによって、原理的に鍵認証方式で弱点とされている公開鍵の正当性を保証することができます。またその電子証明書が政府や大企業など、より信頼がおける団体が発行する証明書になるほど、セキュリティが高まるとされています。
無料SSL証明書 Let’s Encryptの導入方法
とはいってもそういう証明書は利用料金が高いため、個人のブログサイトなどでいきなり導入することはハードルが非常に高いでしょう。
この記事では、誰でも無料でSSL証明書を手に入れることができる、Let’s Encryptとその設定方法について紹介しています。ぜひ参考にしてください。
SiteGuard Lite(WAF)のセットアップ
近年、Webアプリケーション(WordPress含む)の脆弱性を狙って、個人情報の窃取やサイト改ざんによるマルウェア配布サイトへの悪用への事例が多発しています。
脆弱性対策は難しい
これらの事件・事故の原因は、SQLインジェクションやクロスサイトスクリプティング(XSS)といったWebアプリケーションの脆弱性を悪用した攻撃によるものが代表的であるとされています。
しかしながら、安全なWebサイト・アプリケーションの構築は難しく、脆弱性をゼロにするのは簡単なことではありません。
SiteGuard Liteの導入と初期設定
そこで、さくらのVPSでは効果的にWebサイトのセキュリティを強化するためのWAF(Web Application FireWall)として、株式会社ジェイピー・セキュアが開発したSiteGuard Liteが無料で使用することができます。
- さくらのVPSでSiteGuard Lite(Web Application Firewall)をセットアップする方法(その1)
- さくらのVPSでSiteGuard Lite(Web Application Firewall)をセットアップする方法(その2)
- さくらのVPSでSiteGuard Lite(Web Application Firewall)をセットアップする方法(その3)
その導入や初期設定については上記の記事を参考にしてください。
またそのSiteGuard Liteの導入と初期設定を行なったあとに、php.iniの設定も確認しておくことをおすすめします。
- SSL サーバー証明書の基礎知識|Cybertrust.ne.jp
- WAFの基礎から、SiteGuard Liteのセットアップまで ~SiteGuardシリーズでセキュリティ強化(その1)~ | さくらのナレッジ
X-XSS-Protectionレスポンスヘッダの活用
X-XSS-Protectionレスポンスヘッダを活用して、XSS脆弱性攻撃による被害を低減します。具体的には、ユーザーがXSSフィルタを無効化している場合において、XSSフィルタの設定を上書きして有効化します。
X-XSS-Protection: 1; mode=block
XSS攻撃が反映されたページを見つけたらその読み込みをブロックするために、HTTPレスポンスヘッダで上記の文字列を出力するようにします。
<IfModule mod_headers.c> Header set X-XSS-Protection "1; mode=block" </IfModule>
その文字列の出力を反映させるためには、Apacheの設定ファイル(”/etc/httpd/conf/httpd.conf”)もしくは、.htaccessファイルにおいて上記のmod_headersモジュールを書き込みます。
DDoS/DoS攻撃の対策
WordPressサイトを運営しているサーバーには、外部のサーバーからDDoS/DoS攻撃を受けることがあります。DDoS/DoS攻撃とはサーバやネットワークなどのリソース(資源)に意図的に過剰な負荷をかけたり脆弱性をついたりすることでサービスを妨害する攻撃のことを指します。
さくらのVPSでは、デフォルトでfail2banという不正攻撃のログ痕跡からアクセスを自動遮断するアプリケーションが、標準でインストールされています。ですがそのデフォルトの設定が甘かったりするので、自分である程度工夫することが必要です。
以下の記事では、デフォルトの設定からオリジナルの設定に変更するための、ノウハウを記しています。この方法がすべてではありませんが、ある程度はDDoS/DoS攻撃防ぐことができています。
これらの記事がVPSやクラウドでWordPressサイトを運営されている方のご参考になれば幸いです(その14に続く)