【さくらのVPS】SiteGuard を使う
さくらの VPS では、SiteGuard Server Edition という WAF を無料で使えるようになっています。通常は数十万円のライセンス料金が掛かるような、素敵なものですので、使わない手はございません。
これを使うと以下のような攻撃を検知、ブロックしてくれます。
- SQL インジェクション
- クロスサイトスクリプティング(XSS)
- OS コマンドインジェクション
- ディレクトリトラバーサル
- HTTP ヘッダインジェクション
- ブルートフォース
今回は、CentOS8 へのインストールして、管理画面から基本設定して、攻撃をテストしてみるまでのメモです(簡単です!)。
目次出力
参照
詳しくは、以下のページを見てみてください↓
・SiteGuard Server Edition(WAF)|さくらの VPS ドキュメント
環境
- さくらの VPS v5
- CentOS 8
- Apache 2.4
インストール〜管理画面アクセスまで
インストール
インストールファイルの取得先 URL は、さくらの VPS の「JP-Secure SiteGuard Server Edition ご利用ガイド」内にあります(閲覧にはパスワードが必要)
# JDK/JRE 8 (1.8) をインストール
# (管理画面は JAVA 上で動作するため)
sudo yum install -y java-1.8.0-openjdk
# インストールファイル取得
# (URL はさくらのVPSから見れる「ご利用ガイド」内にあります)
wget http://*****/*****.rpm
# インストール実行
rpm -Uvh *****.rpm
セットアップ
以下のコマンドを実行すると、SiteGuard のセットアップのためにいろいろ聞かれます。僕の場合は、何も入力することもなく、そのままエンターボタン連打で大丈夫でした。
※セットアップには、apache の再起動が必要です
# セットアップする
cd /opt/jp-secure/siteguardlite/
./setup.sh
# ↓が表示される。[]内の内容が正しければそのままエンター
# please enter Apache Config File. [/****/****/httpd.conf] -->
# please enter Apache Binary File (httpd). [/****/****/httpd] -->
# Is the Web server registered in systemd?
# please enter Apache service name. [****] -->
# do you want to use the web administrative console? (管理コンソールを利用する?)
# please enter JDK or JRE directory. [/****/****/jre-1.8.0] -->
# please enter the port number of the web console for https.
# please enter the addresses allowed to access the web console for https.(接続元を制限する?)
# do you change the ssl certificate files?(同梱されている証明書を使用する場合は、そのまま Enter)
管理画面の URL と ID / Pass 情報を確認
セットアップが完了すると、管理画面の URL と ログイン用の初期 ID、パスワードが表示されますので、確認します。
# ------------------------------------------------------
# finished SiteGuard Server Edition setup
# ------------------------------------------------------
# Please access following URL for starting service.
# https://**********:****/
# (default user:*****, default password:*****)
Firewall の設定
管理画面はポート番号が別になるため、Firewall でポート番号を開けます。
# 例:firewalldでTCP/9999のポートを開放する
firewall-cmd --add-port=9999/tcp --zone=public --permanent
# firewall を再起動
firewall-cmd --reload
管理画面へアクセス
上記で確認した URL へアクセスできます。

管理画面で最低限やること
ログイン。ID、パスワードの変更。
確認した初期 ID、パスワードでログイン後、新たに ID、パスワードを設定する。
ライセンス情報の入力

「管理」タブ、「ライセンス情報」メニューで、ライセンス情報を入力します。ライセンス情報は、さくらの VPS の「JP-Secure SiteGuard Server Edition ご利用ガイド」内にあります(閲覧にはパスワードが必要)。
「ウェブ攻撃検査」の有効化

「モジュール設定」タブより、ウェブ攻撃検査をオンにする。
「検出通知」「障害通知」の有効化
↑と同画面で、「検出通知」「障害通知」もオンにする。
通知先メールの設定
↑と同画面で、通知先のメールを設定する。
テストしてみる
攻撃検知や、メール通知など、ちゃんと設定できているか不安なので、以下のテスト用 URL でテストしてみます。
https://[あなたのサイトのドメイン]/WAF-TEST-SIGNATURE
画面にエラーメッセージが表示され、メールで通知がくれば、成功です。

また、サイト上の input 要素に、SQL を打ち込んで「SQL インジェクション攻撃」的なことをやってみると、同じくエラー画面が表示され、メール通知が来ました。簡単!
あとは、様子をみながら少しずつ、チューンナップしてけば良いかなと思っています。