SiteGuardはポート開放せずリバースプロキシで振り分けた方が良さそうという話

SiteGuardはリバースプロキシを使うと良さそう
  • URLをコピーしました!

さくらのVPSやさくらのクラウドに標準装備されているWAF、SiteGuard Server Editionはとても重宝します。
さくらのVPSを使い続けているのも、このWAFがあるからと言っても過言ではありません。

ただ、1つだけ設置方法について気になっていることがありました。

目次

気になっている設置方法

インストールの手順を見ると、管理画面のサイトが次のようになっています。

https://ホスト名:9443

9443のポートを開放してアクセスするようになっています。
そのため、セキュリティを担保する方法としては、次の方法が考えられます。

  • IPを固定またはベーシック認証
  • ポートを違うものにする

IP固定ができれば良いのですが、できない場合でポートを開放すると攻撃を受けるリスクが上がります。
ポートを変更してもスキャンされれば分かってしまう場合があります。

また、SiteGuard Server Editionの管理画面へのアクセスはhttpsのみとなるので、ポート番号を指定したアクセスの場合、証明書エラーの画面が出てしまうのも気になるところです。

気になっている部分を改善する設置方法

SiteGuard Server EditionはApache版を利用していることが前提です。

Webサーバとして利用しているApacheの前にリバースプロキシとしてnginxを配置します。
nginxをリバースプロキシにして、URLにより9443ポートに振り分けます。
こうすることで、9443を開放することなく管理サイトへ接続ができます。

リバースプロキシを設置することになるため、通常のWebサイトに対してもnginxとApacheの設定が必要になるので、お手軽ではありませんが、nginxのおかげで速度向上も見込めますので良いことは多いと思います。

コードとしては以下のような感じになります。(抜粋です。ciphersとかtlsのバージョン設定は省いています。)

upstream siteguard {
   server 127.0.0.1:9443;
}

server {
   listen 443 ssl;
   server_name SUBDOMAIN.example.com;

   #certificate
   ssl_certificate /etc/letsencrypt/live/DOMAIN/fullchain.pem;
   ssl_certificate_key /etc/letsencrypt/live/DOMAIN/privkey.pem;

   location / {
     proxy_set_header Host $http_host;
     proxy_set_header X-Real-IP $remote_addr;
     proxy_set_header X-Forwarded-Proto https;
     proxy_set_header X-Forwarded-Host $host;
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
     proxy_pass https://siteguard;
     proxy_redirect off;
   }
}

IP制限やベーシック認証は実施しておきましょう。

ワイルドカードのSSLを利用しているのであれば、サブドメインを作るのも手軽です。
一方でワイルドカードのSSLを使ってない場合は、ディレクトリを切った方が手軽です。

ポートを開放することなく、そしてSSLの証明書エラー画面が出ることもなく使うことが出来るようになりました。

SiteGuard Server Editionは年額10万以上もするものなので、無料で使えるさくらVPSは本当におすすめです。

SiteGuardはリバースプロキシを使うと良さそう

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次