Security Edition クイックスタート

WordPressのセキュリティ運用を効率化してみましょう

KUSANAGI Security Editionがインストールされている仮想マシンを立ち上げましたか?
それでは早速、KUSANAGI Security Editionをセットアップして、WordPressのセキュリティ運用を効率化するところまでやってみましょう。

WordPressを動かすまでの手順は KUSANAGI クイックスタート を参照してください。

仮想マシンにログイン

まずは、仮想マシンにログインしてください。
クライアントがLinuxであればsshコマンドを利用してログインしてください。
クライアントがWindowsであれば以下のリンクを参照してください。
WindowsでKUSANAGI 9にsshでログイン - KUSANAGI

セキュリティ運用の自動設定

仮想マシンにログインできたら、セキュリティ運用の自動設定を行いましょう。
設定にはSecurity Editionの「KUSANAGIコマンド」を使用します。
従来の「KUSANAGIコマンド」に加えて、セキュリティ運用のためのコマンドが追加されています。
「KUSANAGIコマンド」については以下のリンクに一覧があります。
KUSANAGI 9コマンド - KUSANAGI
Security Editionコマンド - KUSANAGI

仮想マシンにログインしたユーザーが root ユーザではない場合は、 以下のように入力して root ユーザーへ切り替えてください。
仮想マシンにログインしたユーザーが root ユーザである場合は、この手順は不要です。

# sudo su -
# kusanagi antivirus on --daily 00:07

KUSANAGI Appに仮想マシンを登録

仮想マシンをKUSANAGI Appに登録します。
KUSANAGI Appに仮想マシンを登録することで、監査・レポーティングをメールで受信するなど仮想マシンの運用を効率化できます。
まず、KUSANAGI Appにアカウントを作成します。既に作成済の場合は、このステップは飛ばしてください。

KUSANAGI Appにアカウントを作成する

KUSANAGI Appにアクセスして 「登録」 より新規アカウントを登録します。

このアカウント登録で使用した メールアドレス は後のステップで必要になります。

KUSANAGI Appからのメールを受信できるか確認する

KUSANAGI Appにアクセスして 「Mail Test」 よりテストメールを送信します。

仮想マシンの監査・レポーティングのメールは app @ prime-strategy.co.jp より送信されます。
KUSANAGI Appからのメールがブロックされていたり、迷惑メールに仕分けされていたりしないか確認してください。

KUSANAGI Appよりトークンを生成する

KUSANAGI Appにアクセスして 「Account Settings」 よりアカウントのトークンを生成します。

「Account Token」にある「Select Platform」より、仮想マシンを運用しているクラウドプラットフォームを選択し、「Generate」を押してトークンを生成ください。
この画面に表示されたトークンは再度表示することはできません。必ず別にコピーして保存するようにしてください。
ここで生成した トークン は後のステップで必要になります。
なお、トークンはクラウドプラットフォームごとに発行されます。例えばAWS用に発行したトークンは、GCPで使用することはできません。
また、同一のトークンで登録できる仮想マシンに上限はありません。一度仮想マシンの登録に用いたトークンを別の仮想マシンの登録に再利用することができます。

KUSANAGI Appに仮想マシンを登録する

仮想マシンの登録には以下のコマンドを用います。

# kusanagi register --account "メールアドレス" --token "トークン"

メールアドレス、および、トークンには上記ステップのものを指定します。

次のように「register completed.」というメッセージが表示されれば、仮想マシンの登録は完了です。

# kusanagi register --account "メールアドレス" --token "トークン"

(途中省略)

register completed.

登録がうまくいかない場合は、以下の点を確認してください。

  • KUSANAGI Appのアカウントのメールアドレスに誤りはないですか?
  • KUSANAGI Appで生成したトークンのプラットフォームと、登録しようとしている仮想マシンのプラットフォームは同じですか?

続いて、セキュリティ運用の自動設定を行います。

マルウェア・ウイルス検索の設定

マルウェア・ウイルス検索を1日1回行う時刻を設定します。設定には以下のコマンドを使用します。
例として、00:07 (午前0時7分) に実行する設定しています。

# kusanagi antivirus on --daily 00:07

WordPressの構成やファイル数によっては検索に時間がかかる場合があります。
運用を行う前に検索にかかる時間を検証するようにしてください。
また、検索中は仮想マシンのIO負荷が増加しますので、ウェブサイトの負荷が高まる時間帯は避けてください。
環境によりますが、参考までに40万ファイル、50GBで検索にかかる時間は約25分です。

次のように「antivirus completed.」というメッセージが表示されれば、マルウェア・ウイルス検索の設定は完了です。

# kusanagi antivirus on --daily 00:07

(途中省略)

antivirus completed.

OS/ミドルウェアの自動更新の設定

OS/ミドルウェアの自動更新を1日1回行う時刻を指定します。設定には以下のコマンドを使用します。
例として、02:07 (午前2時7分) に実行する設定しています。

# kusanagi autoupdate on --daily 02:07

OS/ミドルウェアのパッケージの数によっては更新に時間がかかる場合があります。
運用を行う前には更新にかかる時間を検証するようにしてください。
また、自動更新の内容によってはウェブサーバ (NGINX/Apache HTTPD) や php-fpm を再起動します。
一時的にウェブサーバのセッションが切断されますので、ウェブサーバの負荷が高まる時間帯は避けてください。

次のように「autoupdate completed.」というメッセージが表示されれば、OS/ミドルウェアの自動更新の設定は完了です。

# kusanagi autoupdate on --daily 02:07

(途中省略)

autoupdate completed.

Analyzerの自動実行の設定

Analyzerの自動実行を1日1回行う時刻を指定します。設定には以下のコマンドを使用します。
例として、04:07 (午前4時7分) に実行する設定しています。

# analyzer on --daily 04:07

WordPressの構成やファイル数によっては検索に時間がかかる場合があります。
運用を行う前に自動実行にかかる時間を検証するようにしてください。
また、実行中は仮想マシンのIO負荷が増加しますので、ウェブサイトの負荷が高まる時間帯は避けてください。

Analyzerはコマンドが実行した前日の00:00~23:59までの情報について監査・レポーティングを行います。そのため、日付が変わってからの実行を推奨します。
また、Analyzerによる監査・レポーティングの結果には、マルウェア・ウイルス検索の結果とOS/ミドルウェアの自動更新の結果が含まれます。マルウェア・ウイルス検索とOS/ミドルウェアの自動更新が終わった後の時刻を設定することで、監査・レポートィングに最新の結果を反映できます。

次のように「on completed.」というメッセージが表示されれば、Analyzerの自動実行の設定は完了です。

# analyzer on --daily 04:07

(途中省略)

on completed.

より安全に運用するために

IPアドレス制限・Basic認証の設定

WordPressの管理画面へのアクセスを制限することで、WordPressを悪意のあるユーザによって乗っ取られたり、改ざんされたりしてしまうリスクを下げられます。
なお、KUSANAGIでは 9.6.0 以降にプロビジョンしたプロファイルより、デフォルトでWordPressの管理画面へのアクセスにBasic認証を必須としています。

nginxを利用している場合、設定にはkusanagi accesslimitコマンドを使用します。
例として、デフォルトのアクセス制限に戻す設定をしています。

# kusanagi accesslimit reset

また、特定のIPアドレスから悪意のあるアクセスを受けている場合には、それらのIPアドレスからのアクセスを拒否する設定を行うことも効果的です。

nginxを利用している場合、設定にはkusanagi accesslimitコマンドを使用します。
例として、192.168.1.1からのアクセスを制限する設定をしています。

# kusanagi accesslimit on --documentroot --deny 192.168.1.1

セキュリティ運用の自動設定コマンド及びオプションをさらに詳しく知りたい方は、以下のページを参照してください。
Security Edition コマンド - KUSANAGI
Analyzer コマンド - KUSANAGI