過去にあるPlesk管理者からこんなトラブルを聞いたことがあります。

Plesk管理者: 以前エンドユーザのパスワードがばれてWebページが改ざんされちゃったため、最近ftpのパスワードを修正したんですよ。でもまた同じ手口で改ざんされてしまって……最近、Plesk関連でパスワードが漏れてしまうような脆弱性って問題になっていないですか?

わたし: 来てないですね~。海外で同様の報告が上がったらすぐに分かると思うんですけど。

Plesk管理者: そうですよね。私も調べて結局分からず、困って電話をした次第です。

ちなみに、この方は適宜OSレベル、Pleskのアップデートは実施し、且つ、定期的にシステム全体の脆弱性チェックをしておりました。

そして後日談。

Plesk管理者: いやー、ごめんなさい。Pleskは悪くないです。お客の企業様がftpアカウントにありがちなパスワードを設定していたのがそもそもの問題だったのでこちらで修正して新しいパスワードをお伝えしていたんですよ。その企業様はホームページ専任担当がいて、でも、私の言葉は実際のホームページ運用担当には伝わっておらず、また簡単なパスワードに戻されてしまっていたようです。

わたし: はぁ。

古くからPleskをご利用で、ディスプレー横にパスワードを張り付けておくようなユーザさんだったのでしょうか。パスワード総当たり攻撃(ブルートフォースアタック)に負けやすいパスワードを設定して情報がバレて不正アクセスを許してしまうという話です。

Pleskで簡単なパスワード登録を拒否してくれたらいいのに…、総当たり攻撃を検知して自動ブロックしてくれたらいいのに…と思いませんか。最新のPleskはこうしたセキュリティを向上させる多数の機能が用意されております。今回はそうしたいくつかの機能を中心に話を進めます。各種機能の利用には、ほぼPleskのインストール・アップデートができる管理者権限が必要です。そこまで権限をお持ちでない管理者はPleskをサービスとして提供されるサービス事業者にご相談ください。

1.安易なパスワード登録の排除

ユーザ名"suzuki"、パスワード"abcdefg"なんていうユーザ情報が登録されていたら、ユーザ情報の漏れにどれだけ注意を払っても意味無し、即第三者によってログインを許してもおかしくありません。ここでは、こうしたシンプルなパスワード登録を許さない設定を紹介します。この機能を有効にするにはPleskサーバ全体を管理する権限が必要です。デフォルトで"非常に弱い"が選択されており、このようになっております。

少なくとも"強い"以上を選択することをお奨めします。残念ながら、既に登録されているパスワードにはこの設定は適用されず、新規ユーザ登録、もしくはパスワードの再設定時に制限を与えます。できればPlesk初期インストール時にすぐ変更したいパラメータですね。

2.パスワード総当たり攻撃への対応 - Fail2Ban

冒頭で紹介したパスワード総当たり攻撃を遮る仕組みは最新Plesk Version 12から利用可能です。この機能を有効にするにはPleskサーバ全体を管理する権限が必要で、デフォルトでOFFになっています。設定はちょっと難易度があがるので詳しくはサービス事業者からのヘルプを得るとよいでしょう。Parallels Plesk 12.0 管理者ガイドもご確認ください。

3.Webアプリケーションへの防御 - ModSecurity

企業名ドメインのWebサイトを運用している方は多いでしょう。そこには問合せフォーム等のシンプルなWebアプリケーションから、WordpressといったCMS(Content Management System)の複雑系なWebアプリケーションがあるはずです。そして、公開直後からインターネット上の第三者による不正データ入手、Webページ改ざんの恐れに晒されます。PleskではModSecurityと呼ばれるWebアプリケーションファイヤーウォールの機能が Version12から導入され、第三者による既知の攻撃パターンをブロックします。月一回更新されるこのルールの対応範囲を詳しく知りたい方は、このルールデータの提供元となるAtomicorp Ltdのサイトを確認してください。

さて、デフォルトでこの機能はONになっていますが、ご自身のサイトはどうでしょうか?PleskのデフォルトのCGIファイルが残っていれば次の方法でModSecurityが動作するか確認をしてみましょう。

(1)管理しているサイトに次のURL"http://<サイト名>/test/php/test.php"でアクセスして図のような出力結果がブラウザに表示されるか確認します。

(2)先のURLの最後に"?foo=http://sp.parallels.com"を加えてアクセスします。例えば、今回の場合だと、"http://<サイト名>/test/php/test.php?foo=http://sp.parallels.com"。ModSecurityが正しく動作すれば次の結果が表示されます。

また、Pleskの管理画面も確認しておきましょう。事前に守りたいウェブサイトの設定まで進み、"ウェブとドメイン"タブを選択しましょう。

対象ドメインの"ウェブアプリケーションファイアウォール"アイコンをクリックします。モードはオンになっているでしょうか?

ここまでの動作結果が確認できない場合は、サービス事業者に確認してみましょう。そもそもPlesk全体の設定で機能がONになっていないかもしれません。さらにご自身で確認を進める場合、Parallels Plesk 12.0 管理者ガイドをご確認ください。

4.あとちょっとだけ手間をかけよう

今回紹介した各種設定以外に、セキュリティ向上のためのPlesk上のパラメータは数個残っています。詳しくはこちらをご確認ください。管理者がログインする際のIP Addressを制限したり、ネットワーク上に生のFTPログイン情報を流さないFTS(FTP Secure)についての設定等を紹介しています。一度設定しておけば済むものなので、作業時間を惜しまずご自分の環境に合ったセキュリティ対応を実施ください。

*本記事はパラレルス株式会社からいただいた寄稿記事です。