みなさま、こんにちは!
今回は、サーバー管理ツールPlesk(プレスク)に標準搭載されている無料WAFの「ModSecurity」についてご紹介します!
突然ですが・・・
「あなたのWebサイトは狙われています!」
こんなキャッチフレーズをよくみかけませんか?
自分のWebサイトは政府機関や有名サイトではないから狙われない、べつに個人情報などおいてないからもし、なにかあっても問題ない・・・
と考えていないでしょうか?
もしそういった考えでセキュリティ対策をされていない場合とても危険です!もしかしたら、いつの間にかWebサイトを利用されて悪意をもった第三者の手助けをしているかもしれません。
実は悪意をもった第三者は、Webサイトの有名無名に関わらず、無作為にセキュリティ対策が甘いWebサイトを探して、脆弱性を突いてきます。
しかし、どういったセキュリティ対策とっていいかわからない。または、導入するシステムの選定やコスト、手間などにより導入が困難と感じている方も少なくないと思います。
サーバー管理ツールPlesk(プレスク)を利用されている場合、セキュリティ対策について標準搭載・無料拡張機能として手軽に利用できるようになります。
今回は、Webサイトへの攻撃に対するセキュリティ対策として、無料で利用できるWAFの「ModSecurity」に関してお話したいと思います。
1. 無料で使えるWAF「ModSecurity」とは?
2. WAFでどのような攻撃が防げるの?
3. Pleskを使った「ModSecurity」の簡単導入方法
4. 防いだ攻撃の履歴(ログファイル)の見方
5. Fail2banとの連携
6. さいごに
1. 無料で使えるWAF「ModSecurity」とは?
「ModSecurity」はWAFの一種で、「ウェブアプリケーションやソフトウェアの脆弱性を突いた攻撃」を防ぐことができます。さらに、オープンソースのWAFなので、無料で使うことができるのが、うれしいですね。
また、Pleskには標準搭載されていて、Plesk上でこのWAFを利用することで、通常導入時に必要なコマンド操作が必要なく、とても簡単に導入がすることが可能です。
Pleskとは
サイバー攻撃は多様化していますが、セキュリティ対策も1種類のセキュリティサービスでは対応が難しく、複数のセキュリティ対策をする必要があります。
Webのセキュリティ対策には、ファイアーウォール(FW)やIPS/IDSなどさまざまな種類があり、それぞれ防げる攻撃や領域が異なります。
今回紹介するModSecurityはWAFですので、ファイアーウォールやIPSでは防げない「ウェブアプリケーションやソフトウェアの脆弱性を突いた攻撃」を防ぐことができます。
補足として、WAFにもさまざまな種類があり、ModSecurityは、ホスト型のWAFで、ネットワーク構成を必要としないWebサーバーに直接インストールするアプリケーションWAFとなります。
ご利用サーバー内に他社提供のブラックリスト(シグネチャ)に基づいて
不審なアクセスやお問い合わせフォーム等の脆弱性に対して適宜ブロックを
行うシステムです。
2. WAFでどのような攻撃が防げるの?
では、WAFで防げる「ウェブアプリケーションやソフトウェアの脆弱性を突いた攻撃」とはどのようなものなのでしょうか?例をいくつか見ていきましょう。
例えば、お問い合わせフォームを利用している場合、そこから不正なスクリプト(JavaScriptなど)を入力して、誤認識させてホームページを改ざんし、本物そっくりのWebサイトを構築して個人情報やクレジットカード情報を盗むフィッシングサイトを不正につくられるケースがあげられます。
その他にもSQLインジェクションといった攻撃があげられます。これは、WordPressなどデータベースを利用するCMSを利用している場合、お問い合わせフォームやログイン画面のIDパスワードの入力欄にデータベースの命令文であるSQL文を送信し利用者が意図しない実行をさせてデータベースを不正に操作する攻撃です。
また、Webサイトやメール機能で利用されているアプリケーションの一部は、利用しやすいように外部からの指示を受けてデータの取り出し作業などができるものが数多くあります。
WordPressのプラグインのような拡張アプリケーションなども外部からの指示を受けて機能するものもあります。これは、悪意をもった第三者がその機能を悪用して不正にアクセスすることで、サーバー内部のデータを改ざん、内部機能を不正に利用されて、他社にウイルス付きのメールを送ってしまうといった危険性があります。
ここまで、WAFで防げる攻撃の例についてお話してきましたが、全て防げるわけではありません。
セキュリティ対策としては「ファイアーウォール」「IPS/IDS」「WAF」を導入することで昨今発生している各種サイバー攻撃が防げるようになります。
3. Pleskを使った「ModSecurity」の簡単導入方法
では、WAFである「ModSecurity」をPleskでご利用されたい場合、Pleskではバージョン12以降、初期標準搭載されており、Pleskを利用開始した時点ですぐに導入・設定ができるとても準備が簡単なWAFです。
下記でご説明する導入方法は、Plesk Onyx、Plesk Obsidian共通となっております。
Pleskの環境がない方は、15日無料で使えるVPS(Plesk含む)の導入方法こちらで紹介していますので、ぜひ参考にしてみてください。
前述のとおり、Plesk利用環境が整っていれば①ツールと設定-->②セキュリティ:ウェブアプリケーションファイアーウォール(ModSecurity)から管理画面に進むことができます。
③[全般]タグにて、ウェブアプリケーションファイアーウォールのモードから、選択項目が ④[検出のみ] もしくは⑤[オン]となっていれば導入済みです。
※Pleskのバージョンによって初期設定に相違があり、オフの場合があります。
どちらも後述しますログに記録されますが、失敗時の動作が違うため、ご利用方法にてご選択ください。
⑥[設定]タブにて、ルールセットからセキュリティのレベルを選択できます。
初期では⑦[Atomic Basic ModSecurity]が指定されており、こちらも変更の必要はありません。
※(契約)と表示されている項目は、ルール提供会社へのアカウント登録が
必要になります。
こちらもご利用方法にてご選択ください。
また、同じく[設定]タブにて、検知したアクセスに対して、どこまでの情報でブロックするかの判断基準の設定となります。
⑧高速<トレードオフ<完全 の順番で質が向上しますが、比例して検知に負荷がかかります。 設定が[完全]で検知数が多いとウェブ表示に影響するため、導入サイトの表示時間などで 適切な設定が必要となります。
4. 防いだ攻撃の履歴(ログファイル)の見方
実際にどのような攻撃を防いだのかを確認することが下記手順にて可能です。
⑨[全般]タグにて、⑩「ModSecurity 監査ログ」の説明に従って確認します。
⑪「ModSecurity ログファイル」をクリックするとべつページにてログ一覧が表示されます。
[ModSecurity ログファイル詳細]
1.対象ドメイン名でレポート内を検索します。⑬(例.******.work)
2. ドメインの記述から数行上に、⑭例.-- 36de8a65-B-- から⑮「36de8a65-H」でレポート内を検索します。
3.⑯[id "3*****"]を探します(例.[id "33340003"])
4.エラー一覧のなかに⑰「XSS attack in request headers」とありました。
今回のブロック理由はアプリケーションの脆弱性のようです。
より詳細を確認したい場合には、SSH接続を行い、⑱「50_plesk_basic_asl_rules.conf」の
ファイル225行目を確認すればよい、という記述になっています。
5.もし検知した接続が問題ないものであれば、Plesk画面の⑫[セキュリティルールをオフにする]に
セキュリティ番号(例.33340003)を入力し保存すると検知から除外されます。
5. Fail2banとの連携
導入したModSecurityですが、たまっていくログなどを具体的にはどう利用したらよいのか、
弊社ではPleskのセキュリティ機能「Fail2ban」との連携を紹介しております。
「ModSecurity」で取得したログを「Fail2ban」に連携させることでより効率のよいセキュリティ対策となります。
[Fail2banとの連携導入手順]
⑲IP アドレスによるアクセス制限(Fail2ban)より、⑳項目[jail]を選択します。
ModSecurityの導入がされていれば㉑jail名[plesk-modsecurity]が追加されているので
左側にあるチェック欄をいれて、㉒[オンにする]ボタンを押すと連動します。
㉓ステータス欄が[アクティブ]であれば導入完了です。
Fail2banでは、ModSecurityの他にも多数のjailを用意しており、組み合わせることで
セキュリティ強化が見込めます。
6. 最後に
いかがでしたでしょうか?無料WAF「ModSecurity」について、少しでも理解が深まりましたら、うれしく思います。また、Pleskを導入することで通常よりもとても簡単に導入することができるので、WAF導入の入門編としてぜひご活用ください!
最後に、今回紹介したModSecurityは、サーバー管理ツールのPleskを導入している場合、記事で紹介した通り、とても簡単に導入できます。これからPleskの導入を検討いている方には、Plesk国内シェアNo1※の下記GMOクラウドのサーバーがおすすめです。
※ Plesk社調べ(2018年12月時点)
■クラウドサーバー『ALTUS byGMO』(14日無料)
本サービスはサーバーおよびPleskの初期構築・設定を無料で提供しております。
詳細はこちらよりご確認ください。
また、サーバー構築に不安な方向けに、導入前のコンサルティングから構築・運用まで、お客さまのお悩みやご要望に合わせて、クラウド導入をトータルに支援するサービスをご提供しておりますので、ぜひ、ご相談ください!
<<関連記事>>