WAF(Web Application Firewall)を導入しました

この記事は約8分で読めます。

こんにちは

このサイトは、さくらインターネットのVPSサーバを借りて運営しています。

先日、サーバ監視機能が無料で使えるって情報をネットで見つけたので設定してみました。

単純にpingを打ってエラーになったらメールで教えてくれるってだけの機能で、少々がっかりでした(笑)

サーバの監視は、以下のサイトの無料監視を使ってます。

元々はLiveDoorの無料サービスを使ってたのですが、サービスが終了になってしまったので、こちらに移行しました。

→ SavaMoni/NETASSIST

仕込みは必要ですが、現在以下の監視をしてもらっています。

無料で使わせてもらってるので、たまには宣伝しておきます(笑)

  • ping
  • SMTP
  • HTTP
  • DNS

サーバにエージェントを仕込むと、ロードアベレージや、ディスクの空き迄監視してくれます。

 

なので、さくらインターネットのping監視は冗長かなとは思いますが、とりあえず設定だけしておきました。通知メールアドレスを指定して、監視サーバ(一覧から選択)するだけの簡単設定でした。

 

と、ここまで終了!のはずだったのですが、管理ページを見てて上の方に、「SiteGurad利用」、「SendGrid申込」って文字を見つけました。

なにこれ!?

前者はWAFで、後者はクラウドメール送信サービスの様です。

クラウドメールは興味がなかったのですが、25000通まで無料で送信できる様です。

メールサーバの運用で微妙に難しいので、良さそうな気も。。。VPSとか使ってると、稀にサーバ屋さん全体がブラックリスト登録されたりする事がありますが回避できると思うと業務などで使ってると安心できそうです。

知ってる範囲だと、OCNはヤバイ!と思ってます。みんな悪さするから。登録されっぱなしなんですよね(最近見てませんが。。)

なので、会社のサーバで拒否リスト運用してましたが、取引先(ユーザ)の回線がOCNで。。。外さざるを得なくなり。。SPAMがメッチャ増えました(TOT)

 

と前振りが長かったのですが、SiteGuard Liteと言うWAFが無料で使える様です。

知らなかった。。

→ SiteGuard Lite/メーカーページ

値段を見たらなんと。。。初年度が、252,000円(税別)、翌年以降の更新が126,000円(税別)でした。なんと太っ腹な。。すごい。。

さくらインターネットのページを見ると、結構色々対応してる様です。と言うか、まあ。。技術的には同じ機能の延長上にあるんでしょうけど。。何も考えずにブロックしてくれるのは楽ちんです。\(^o^)/

WAFって、今まで使った事ありませんでした(高いのと営業が飛び込みできますが、判定基準を説明できなくて、安全です!って言うので胡散臭くって。。(笑))

Webの不正アクセスを拒否してくれる様なものかな?と思ってます。

IPベースの通信については、firewall機能でやってますが。。。WAFと比べるとできなかったり、脆弱性周りの制御とかは、いちいちやってられないので、この辺りも含めて任せられそうです。

と期待を込めてインストールしてみました。無料だから。。なんですけどね。ダメなら外せばいいや!って感じです(^^;

 

使える製品は、JP Secureと言う日本企業さんの、SiteGurad Liteと言う製品で、Proxy型ではなくWebサーバのプラグインとの事です。

なので、サーバにインストールする必要があります。

マニュアルを取得して、サーバ上でインストールファイルを取得します。

対象サーバからじゃないとダウンロードできない様です。

tar.gzかrpm形式があったので、ビルドするのが面倒なので、rpmを選択しました。

インストールマニュアルが取得できるので、それに沿ってインストールします。

事前にインストール要件を満たしているのは確認済みです。

 

rootユーザで、以下のコマンドを実行します。

rpm -Uvh siteguardlite-3.40-2.apache.x86_64.rpm

 

インストールできたらセットアップスクリプトを実行します。

cd /opt/jp-secure/siteguardlite/
./setup.sh

色々と聞いてきます。が、合ってるか調べながら指定していきますが。。。

全部、変更なしでした。

一点、管理ページへのアクセス元URLを指定しようと思いましたが、面倒なので後で設定しようと思い、全部OKです(^^;

セットアップが終わったら、ブラウザで管理ページを開きます。(セットアップの最後にURLが表示されていますので、それ)

と思ったら、タイムアウト。。

なんで!?と思ったら、該当ポートをfirewallで拒否してました(^^;

ポートを開けて再度ブラウザで開きます。

ID/PASS(初期値)を入力してログインします。

無事表示されました。\(^o^)/

先に管理者のパスワードを変更しました。(忘れると大事になりそうなので。。)

ライセンス情報を調べて登録します。

完了です。

目的のWeb攻撃検査がOFFになってるので、ONにします。イキナリはONにならないみたい。

全部ONにします。

ついでに、検出パターン?を自動更新にします。

少し待つとイキナリ検出しました。すごっ!

と思ったら、自分でした。。owncloud(オンラインディスク)のアクセスが引っかかる様です(^^;

カスタムシグネチャ?で、ホワイトリストが作れる様なので、許可リストを追加しました。

結構色々引っかかりますが。。スクショは1時間後ぐらい。。

一番多い、method-chk-3ってのは、自爆です。wordpressのAjax通信で引っかかりまくり。。

ちょっと苦労してホワイトリストに追加しました。

なんか色々引っかかります。SQLインジェクションとか。。

これ。。SQLインジェクションとなのかぁ。。。XSSインジェクションみたいに見えますが。。

調べるのも不毛なので、真面目に見てません(^^;

あと、真面目にインストールマニュアルを見てたら、ログローテーションの記載がありました。

そりゃそうか。。

と言う事で以下のコマンドで設定。。みたら月1ローテーションで、1年で削除だったかな?

cd /opt/jp-secure/siteguardlite/misc 
cp logrotate.siteguardlite/etc/logrotate.d/siteguardlite

以下のコマンドでローテーションされる事を確認しました。両方rootユーザで実行

logrotate -f /etc/logrotate.d/siteguardlite

 

あと、サーバは2.4系のapacheなんですが。。

httpd.confを見ると以下の2行が追加されていました。

include /opt/jp-secure/siteguardlite/conf/siteguardlite.conf
include /opt/jp-secure/siteguardlite/conf/httpd.conf.siteguardlite_admin_ssl

siteguardlite.confを見ると、以下の2行がありました。

apacheのモジュールとして機能している様です。

LoadModule siteguard_module   /opt/jp-secure/siteguardlite/modules/mod_siteguard.so
SiteGuard_RootPath /opt/jp-secure/siteguardlite

ついでに、httpd.conf.siteguardlite_admin_sslを覗くと、管理ページのアクセス元制限があり、指定した通りANY(ALL)になってます。

        <Location />
                Order allow,deny
                Allow from all
        </Location>

firewallで該当ポートの通信は、日本国内だけと制限してますが。。

アクセス元を制限します。外出先から見たくなったら(なさそうですが。。)、自宅にVPN接続してからアクセスすれば良いかな?と狭めときました。

        <Location />
                Order allow,deny
##              Allow from all
                Allow from 122.???.???.???
                Allow from vpn.???.???
        </Location>

 

そう言えば、管理ページのアクセスはSSL(HTTPS)なんですが、証明書どうなるのか?と思ってたら、オレオレ証明証でした。当たり前か。。有効期限は2025/8/4迄した。何故に8/4なのか疑問ですが。。どうでも良いかな(笑)

 

後日、シグネチャの自動更新がエラーになってる事が判明。

最新のバージョンの内容が「バージョン情報を取得できません」になってました。

そのうち解消するのかと思ってましたが、違う様なので対応しました。

インストールマニュアルを良く見ると最後のページに、アップデートファイルの取得元のパスを変更する様に記載がありました。

変更後に、手動更新をしてみます。

今すぐ更新を押すと。3つあるようです。

今すぐ更新を押します。無事更新された様です。

シグネチャーの情報を確認してみると、無事3つ入ってました。

頻繁には更新はなさそうですが、これで放置できそうです。

PS.検出メールが大量に来ます(笑)あまりに多い様でしたら、何か考えてみようと思います。(^^;

 

あと、しばらく運用したら、どんな感じか書こうかなと思ってます。

コメント

  1. こんばんは。
    サーバーを借りて運営されていたんですか。
    自由度があっていいとは思いますが専門の知識が必要ですね。(~_~;)
    またDOSの知識も必要なんですね。
    私は10年前から安価で簡単なレンタルサーバーで運営しています。

    • ウエノさん
      専用サーバとか、仮想サーバだと多少知識が必要ですね。
      DOSはサーバ側だとできる対応って限られるので、サーバ屋さんの設備に期待してあまり気にしなくてもいいかな?と思います。
      やりたい事ができてるなら、共用サーバが面倒が少なくて楽でいいと思います。