Plesk - 忘れてはいけないセキュリティ向上のための初期設定

Plesk 12.5

Plesk - 忘れてはいけないセキュリティ向上のための初期設定

今回は、Pleskのセキュリティ向上を図る初期設定についてお話しましょう。インターネットにサーバを公開したらすぐに攻撃対象になってしまう現実は避けられなく、問題を最小限にするための設定を確実に適用しましょう。

以降、Firewall設定、そして、Pleskの管理者権限でログインして確認できる[ツールと設定]の各種設定を紹介します。必須のパラメータではありません。サーバの機能ニーズに合わせて設定ください。

p-secfeatures

また、操作画面上に希望とするメニューが見つからない場合があります。必要なコンポーネントが足りなかったり、対象機能が非表示設定になっていることも考えられます。その場合、[ツールと設定]-[アップデートとアップグレード]を選択、もしくは、インストーラーをroot権限で起動して追加コンポーネントをインストールしましょう。パワーユーザビューがONで、カスタムビューを利用可能にしている場合、[ツールと設定]-[カスタムビュー設定]から各種機能の非表示設定を外しましょう。

Firewall設定

Pleskサーバ内では多様なサービスが稼働しています。Webサービスのように公開されるものであったり、Databaseシステムのように外部からの直接アクセスを避けるものもあります。Firewallの機能を使って、個々のサービスへのアクセスルールを適用しましょう。ご承知のように、“さくらのクラウド”の仕組みを使う場合と、Pleskサーバに設定する場合があり、いずれかを選択できます。どちらがいいという話はありませんので、適当なものを選びましょう。

それでは、アクセスルールの適用対象となるサービスと設定方針について説明します。手順等の詳細は紹介しません。早速、Pleskサーバに関わる全てのポート番号を眺めてみましょう。ポート番号は、サービスを特定する番号です。下記のサイトをご確認ください。

すべての Plesk サービスがファイアウォールを通過できるようにするには、どのポートを開く必要がありますか

様々なサービスの存在が確認できますが、必ずしもすべて許可する必要はありません。提供するサービス内容、サーバの管理方針に応じて決定してください。以下では、その判断を支援するtipsを紹介します。

  • ftp-data : パッシブ設定を考慮すべきでしょう。詳しくは、次のサイトをご確認ください。
    パッシブ FTP を有効にする(Linux)
  • dns:外のDNSサーバでドメイン名を管理する場合、必要ありません。
  • smpt/imap/pop3関連:利用するサービスに応じて最小限のポート設定にしましょう。
  • mysql / postgres:外部にDBを公開しない限り必要ありません。
  • autoinstaller:[ツールと設定]-[アップデートとアップグレード]を選択する際に必要とされるポートです。コンソールからインストーラーを起動してモジュールを追加する場合は必要ありません。
  • plesk-license-update :サーバからインターネットに向かうTCP 5224番のポートは必ず開けてください。Pleskは毎月ライセンス更新のために外部サーバとの接続を行います。できないとライセンスのアクティベーションができず、ライセンスの失効に至ります。
  • plesk-http:8880ポートを利用することは通常無いので閉じてください。

そして、"機能の分からない"ポートは閉じてしまいましょう。問題が出ればまた許可すればいいだけです。

PleskサーバのFirewall機能を利用する場合は、[ツールと設定]-[ファイアウォール]を選んでください。

p-firewall

デフォルトでは対象コンポーネントがインストールされておらず、先のメニューは表示されませんので、注意が必要です。もちろん、コンポーネントさえもインストールせずに、Linux の iptables を直接変更してもよいでしょう。

セキュリティポリシー

ファイルアップロードに必要な FTP のセキュリティ強化版 FTPS のサポートと、"123" / "abc" 等の危ないパスワード登録を防ぐパスワード強度設定を実施しましょう。[ツールと設定]-[セキュリティポリシー]を選んでください。

p-securitypolicy

セキュアFTPには、“セキュアFTP接続のみを許可する”をチェックください。ご承知のように、従来のFTPは、認証情報・ファイルデータが暗号化されないので第三者に情報が漏れやすいものです。FTPSは暗号化を前提としますので、Firewall設定を踏まえて、導入を検討してください。

パスワード強度は、必ず“標準”、できれば、“強い”以上の選択をしておきましょう。新規メールユーザは、必ず攻撃してくださいと言わんばかりの簡単なパスワードを登録しまいがちです。気が付いたら、メールアカウントが第三者に乗っ取られて大量のスパムメールが送られていたということになりかねません。必ず、簡単な文字列のパスワードが登録されないよう、より上位のパスワード強度に設定しましょう。

IPアドレス禁止(Fail2ban)

インターネット上に直接つながるコンピュータは第三者から常に何らかの攻撃を受けています。総当たり攻撃DoS攻撃 を最小限に抑える設定を適用しましょう。[ツールと設定]-[IPアドレス禁止(Fail2ban)]を選んでください。

p-fail2ban

デフォルト設定がオフなので、必ず有効にしましょう。SSHやPOP経由の総当たり攻撃を効果的にブロックし、サーバの負荷軽減にも役立ちます。動作ロジックを理解するには、fail2banをキーワードに検索してみましょう。

それでは、 [設定]タブ-[侵入検知を有効化]をチェック、 [jail]タブから適切なjail名を選んでサービスを有効にしましょう。

p-fail2ban-init

jail名は、どのサービスに対する防御を実施するかを決定します。基本的にすべて選んでもおかしくありません。詳しくは、次のドキュメントをご確認ください。

ブルートフォース攻撃からの防御(Fail2Ban)

設定から数分して[禁止IPアドレス]タブを参照すると、攻撃が発覚してブロックしたIPアドレスの一覧が表示されます。いつの間にか攻撃を受けていることが理解できるでしょう。

ウェブアプリケーションファイアウォール

Webサービスに特化した防御機能も重要です。ウェブアプリケーションファイアフォールは、WordPress、Joomla 等のWebアプリケーションに対する攻撃をブロックします。[ツールと設定]-[ウェブアプリケーションファイアウォール(ModSecurity)]を選んでください。

p-modsecurity

この機能の利用も是非ご検討ください。デフォルトではオフに設定されております。但し、動作ロジックを理解できないと、ご利用中のWebアプリケーションが動かなくなることがあります。設定方法、トラブル時の対処方法はまた別の機会としますが、ModSecurityについて経験をお持ちの方は利用すべきでしょう。
設定の詳細については次のドキュメントをご確認ください。

ウェブアプリケーションファイアウォール(ModSecurity)

追加管理者アカウント

物理的に複数の管理者が存在する、これからそうなるサーバ管理においては、”admin”アカウントの使い回しは止め、担当ごとにユーザ名、パスワードを用意しましょう。[ツールと設定]-[追加管理者アカウント]を選んでください。“admin”アカウント以外の管理者を登録することができます。

p-extraadmin

各種設定変更を誰が行ったかを後からトラックでき、実際に担当者が変更になった場合でもパスワードを引き継がないで済みます。

管理アクセス制限

管理者権限でログインできるクライアント側のIPアドレスを制限することができます。メールユーザはインターネット上のどこからでもPleskにログインできますが、固定のパブリックIP Addressを持つオフィスからのログインに限り、管理者によるサーバ設定を許可したい…という場合に有効です。[ツールと設定]-[管理アクセス制限]を選んでください。

p-iplimit

設定の詳細については次のドキュメントをご確認ください。

管理アクセスを制限する

ちなみに、誤った設定をすると管理者でログインできなくなります。そうならないための最低限のロジックは含まれておりますが、設定時は最新の注意を払いましょう。

また、sshでrootログインができる管理者は、外部アプリケーションからPleskへの操作を可能にするXML APIの口を塞いでおきましょう。手順については、次のドキュメントをご確認ください。

 XML API 経由のリモートアクセスを制限する

最後に

以上、はじめに適用しておきたい最小限のセキュリティ設定をご紹介しました。あくまでも“最小限“の設定内容となるので、その他の設定項目は勉強を兼ねてをドキュメントを読んでおきましょう。
そして、セキュリティ向上という意味では、日々のOSパッケージ/Pleskのアップデートも忘れないでください。設定が万全でも、問題を抱えたプログラムが動いていると意味がありません。Pleskは、設定さえ変えていなければ、毎日、自動更新を実施しますが、さらにセキュリティの強化を図りたい管理者は、英語になりますが次のドキュメントを読んでおくとよいでしょう。

Advanced Administration Guide, Plesk for Linux

ところで、Plesk12の次期バージョン、Plesk Onxy(プレスクオニキス)のリリースが迫ってきました。先のOSパッケージのアップデートさえもPleskのパネル上から容易に実行できるようになります。RubyもPHP同様に複数のバージョンのサポートする等、最新の機能が盛りだくさんです。是非次のサイトにアクセスし、先行して機能をご確認ください。

Plesk Onyx pre-release

それではまた。