さくらのVPSでSiteGuard Server Editionをインストール

Ubuntu Server
この記事は約10分で読めます。

さくらのVPSの【SiteGuard Server Edition】

ブログなどのWebサイトを運営していく上で、セキュリティの強化は非常に重要なポイントの1つだと思います。Webサイトのセキュリティ強化のポイントは色々とありますが、悪意のある攻撃からサーバーを守る1つの方法としてWAF(Web Application Firewall)の導入があります。

レンタルサーバーであれば多くの会社でWAFを標準サービスとして追加料金無しで利用できるようにしていると思いますが、VPSの場合は、一部に有料オプションとしている会社があるものの、多くの会社で有料オプションとしてもサービス内容に含まれていないところが多いと思います。

また、WAFが有料オプションとして提供されていても利用料金は決して安くはないところが殆どだと思いますが、そんな中で、さくらインターネット さくらのVPS は、JP-Secure(ジェイピー・セキュア)が開発した国産のWAFソフトウェア「SiteGuard Server Edition」を追加料金無しで利用することができます。

【JP-SecureのSiteGuard Server Editionのサイトは ⇒ こちらです!!】

さくらのVPS のSiteGuard Server Editionのサイトは ⇒ こちらです!!】

無料のWAFはSiteGuard以外にもありますが、国産だけにメニューやヘルプが日本語対応しているのは非常に助かります。これを無料で使用できるのは【さくらのVPS 】の大きな利点だと思います。

ただ、この【さくらのVPS 】の【SiteGuard Server Edition】を利用するには、インストールや設定作業など、サーバー初心者の私にはかなり難しく、稼働するようになるまで結構苦しんだのですが、ようやく無事にインストールして動かすことができましたので、今回、その方法について可能な範囲で紹介したいと思います(※さくらのVPSユーザーだけが閲覧可能なマニュアルに記載されている重要部分は、ここでは記載しません)。

インストールの前提

今回、私がSiteGuard Server EditionをインストールしたVPSは、サーバーOSがUbuntu Server 20.04LTSで、WebサーバーにはApache2.4を使用しています。

さくらのVPSで提供されているSiteGuard Server Editionは、対応OSがCentOS5以降、Ubuntu14/16/18、Windows Server 2008 R2以降で、対応WebサーバーはApache2.2/2.4、Nginx1.10以降、IIS7.0以降となっているようです。また、CentOS7/8のみの対応ですが、Apache版とNginx版でそれぞれOSインストール時に自動的にSiteGuard Server Editionをインストールするスクリプトが提供されています。

既に稼働しているサーバーにインストールする場合や、Ubuntu Serverを使う場合は、自分でインストールするしかありません。

SiteGuard Server Editionのインストール作業

インストール作業は、色々と試行錯誤しながらだったので、きれいな手順にはなってないかと思います。

インストールに必要なコンポーネントの準備

Apache2(2.2/2.4)とmod_proxy

Apache2はWebサーバーとして非常に広く使われているソフトウェアです。ホームページやブログなどをWeb上で公開する上で必ず必要になります。最近はNginx(エンジンエックス)という高速かつ大量処理が得意なWebサーバーもシェアを大きく伸ばしてきています。SiteGuardはApacheもNginxも対応していますが、今回はApache2.4をインストールしていきます。

$ sudo apt install apache2

SiteGuard Server Editionを動かすためにはmod_proxyを有効にする必要があるので、以下のコマンドで有効にします(一緒にsslモジュールとrewriteモジュールも有効にしています)。モジュールを有効にしたらApache2を再起動します。

$ sudo a2enmod ssl
$ sudo a2enmod rewrite
$ sudo a2enmod proxy_http
$ sudo systemctl restart apache2

glibc 2.5以降

glibcはGNUプロジェクトにおける標準Cライブラリで、複数のコマンドやプログラムで繰り返し使われる関数を1つに纏めたものです。

Ubuntu Serverのインストール時にはインストールされていないので、開発に必須のパッケージを纏めてインストールできる以下のコマンドでインストールします。

$ sudo apt install build-essential

perl

Perlはプログラム言語の1つです。既にインストールされていると思いますが、以下のコマンドでバージョンを確認できればインストール済みです。

$ perl -v

wget

wgetは指定したURLに存在しているファイルをダウンロードするコマンドです。既にインストールされていると思いますが、以下のコマンドでバージョンを確認できればインストール済みです。

$ wget -V

unzip

以下のコマンドでインストールしておきます。

$ sudo apt install unzip

openssl

以下のコマンドでバージョン情報が表示されれば、OpenSSL Serverはインストール済みです。

$ ssl -V  ←Vは大文字

私の環境では以下のようにバージョン情報が表示されました。

OpenSSH_8.3p1 Ubuntu-1, OpenSSL 1.1.1f 31 Mar 2020

インストールされていない場合は、以下のコマンドでインストールできます。

$ sudo apt install openssl

make

Linuxにおいてソースファイルをコンパイルするコマンドです。ソースファイルの中で再コンパイルする必要がある部分を自動的に抽出して再コンパイルを実行するという特徴もあり、ソースファイルで提供されるアプリケーションを使用できる状態にするためには必須のコマンドです。

Ubuntu Serverのインストール時にはmakeコマンドはインストールされていないので以下のコマンドでインストールします。先程のbuild-essentialをインストールしていればmakeコマンドは一緒にインストールされていますので以下のコマンドの実行は不要です。

$ sudo apt install make

file

fileはファイル形式を調べるためのコマンドです。既にインストールされていると思いますが、以下のコマンドでバージョンを確認できればインストール済みです。

$ file -version

JDK/JRE 11

JDKとはJava Development Kitの略でJavaのプログラムの開発や実行を行うために必要となるプログラムのセットです。また、JREはJava Runtime Environmentの略でJavaのプログラムを実行するためのセットです。JREはJDKに含まれているため、JDKをインストールします。

先ずは自分のサーバーにJavaがインストールされているかを確認しましょう。

$ java -version

Javaがインストールされていればバージョン情報が表示され、インストールされていない場合はインストール可能なJavaの一覧が表示されます。下記は一例です。

Command ‘java’ not found, but can be installed with:
sudo apt install default-jre # version 2:1.11-72, or
sudo apt install openjdk-11-jre-headless # version 11.0.9.1+1-0ubuntu1~20.10
sudo apt install openjdk-8-jre-headless # version 8u275-b01-0ubuntu~20.10
sudo apt install openjdk-13-jre-headless # version 13.0.4+8-1
sudo apt install openjdk-14-jre-headless # version 14.0.2+12-1
sudo apt install openjdk-15-jre-headless # version 15+36-1

上記では、default-jreでインストールすればSiteGuardの動作に必要なバージョン11がインストールされるようですが、より新しいバージョンをインストールすることでも構いません。

$ sudo apt install openjdk-15-jre-headless

なお、「headless」をつけずに「openjdk-15-jre」をインストールしても大きな問題はありませんが、「headless」はJavaのヘッドレス・モードのことで、キーボードやマウスの入力によりユーザーと直接的に対話をしないJavaのアプリケーションを使用する場合に用いられるものであり、ユーザーとの対話に必要なコンポーネントがインストールされないため、サーバーにおいては不具合が発生しにくくなるという利点があります。

SiteGuard Server Editionのパッケージのダウンロード

さくらのVPS用のSiteGuard Server Editionのインストールファイルのリンクは、さくらのVPSのコントロールパネルの左側メニューにある「SiteGuard利用」を押すと、マニュアルへのリンクのあるサポートページへのリンクとマニュアル閲覧用のパスワードが確認できますので、そのマニュアルに書かれたインストールファイルのURLを使ってVPSに取り込みます。

Apache版はrpmとtar.gz、Nginx版はtar.gz、IIS版はiis.exeのファイルを取得できます。私はApache版のtar.gzのファイルを取得してインストールしました。

SiteGuard Server Editionのセットアップ

インストールが完了すると画面上に「Install succeeded!」というメッセージが表示され、その後のセットアップのためのコマンドが表示されますので、それをそのまま入力します。

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

セットアップは対話式で行われます。基本的にファイルのパスなどは自動的に検出されますので、yesかnoで答えるだけ(Enterキーを押すだけ)なのですが、自動的に検出されなかったものについては回答する必要があります。質問内容は以下の通りです。

  • Apacheの設定ファイルのパス
  • Apacheの実行ファイルのパス
  • systemdに登録されているApacheのサービス名
  • 管理インターフェイス(Web)を使用するかの確認
  • JDKまたはJREのインストールディレクトリ
  • ウェブ管理画面のポート番号
  • ウェブ管理画面のアクセス制御(IPアドレスによる制御)
  • ウェブ管理画面で使用するSSL証明書
  • Apacheの再起動確認(SiteGuardを有効にするには再起動が必要)

Java(JDK/JRE)のインストールディレクトリを調べたい場合は以下のコマンドで調べることができます。

$ /usr/sbin/update-java-alternatives -l

ウェブ管理画面と初期設定

ウェブ管理画面の表示

SiteGuard Server Editionのウェブ管理画面は、「https://サーバーのIPアドレス:ポート番号」で開くことができます。初回ログイン時はパスワードの変更を求められます。

ライセンス情報の登録

メインメニューの「管理」⇒サブメニューの「ライセンス情報」でライセンス情報を登録します。ライセンス情報は、さくらのVPSのコントロールパネルからのリンクとパスワードで取得したマニュアル類に記載されています。

トラステッド・シグネチャの更新URLのセット

SiteGuard Server Editionは、次々と現れる攻撃パターンに対応するため、トラステッド・シグネチャと呼ばれる攻撃パターンのデータベースを随時更新していく必要があります。アンチウイルスソフトのウイルス定義ファイルの更新と同じようなものです。

さくらのVPS用のSiteGuard Server Editionにおいては、このトラステッド・シグネチャの更新URLをデフォルト以外のものに変更する必要があります。変更は、サーバー内に作成されたSiteGuard Server Editionの設定ファイルに少し手を加えることで行うのですが、設定ファイルのパスや、更新後のURLはマニュアルに記載されています。

タイトルとURLをコピーしました