FUJITSU Cloud Service K5
IaaS 設計・構築ガイド(デザインパターン・実装サンプル集)

踏み台サーバによるセキュアメンテナンスパターン


要求事項

インターネットやイントラネット等の外部から、安全にシステムにログインできるようにしたいといった要求事項に対応します。



対応するK5デザインパターン概要

セキュリティを考慮したシステムでは、Webサーバ等のサービスを提供するサーバに対して直接ログインするようなシステム構成にはせず、
踏み台サーバを経由してログインする構成とすることが通常です。

Webサーバ等に直接ログインするようなシステム構成では、ログインするための経路がセキュリティ上弱くなります。

インターネットから複数のサーバにログインする経路があるようなシステム構成になると、インターネット上から攻撃される可能性が非常に
高くなります。また、そのようなシステム構成では、何らかの設定変更作業により、セキュリティホールを作ってしまう可能性も否めません。

そこで、インターネットやイントラネット等外部からシステムにログインする際には、ログイン経路が1か所となるよう踏み台サーバを用意して、
セキュリティを高めることが推奨されます。

以下では、必要に応じて 踏み台サーバ を起動 (または復元) する例を記載しています。この例のように、特定のアクセス元から起動している
最中だけ踏み台サーバにログインできるようにすることによって、安全にメンテナンス作業を行うことが可能となります。

さらに、踏み台サーバからログインする対象のサーバに対して、ログインするときだけ踏み台サーバからのアクセスをセキュリティグループによって
許可する運用にすると、さらに安全性を高めることが可能となります。

※セキュリティグループは付け外しが可能です。
下図の例のように、踏み台サーバからのアクセスを許可する SG_Maintenance を、
メンテナンスの際にだけ Webサーバに付与する運用が可能です。



構造 (イメージ図)

以下では、考え方を提示するためもっとも簡略な構成例を記載しています。
この他の構成例としては、その他 で、ネットワーク構成を 2階層 にした構成例や、マルチAZ にした構成例、プロジェクト間接続 を使った構成例
などを記載しています。

■通常時

■メンテナンス時

※通常時は、踏み台サーバを停止 (または解放) します

※インターネットからログイン可能なサーバが存在しない
状態です

※メンテナンス時に踏み台サーバを起動 (または復元) します

※特定のアクセス元からのみ、ログインできるようにします

※ログインする対象のサーバだけセキュリティグループを
付与する運用にすると、さらに安全性が高まります



実装サンプル

 (1) 作業フロー

(a) 踏み台サーバ復元

踏み台サーバを復元し、ログインできる状態にします。
復元方法は、仮想サーバの解放/復元 パターンを参照してください。

(b) セキュリティグループ付与

セキュリティグループ "SG_Maintenance" を付与します。
付与方法は、セキュリティグループの付与 を参照してください。

(c) メンテナンス作業実施

踏み台サーバを経由して、Webサーバにログインします。
Webサーバにてメンテナンス作業を実施後、Webサーバおよび踏み台サーバからログアウトします。

(d) セキュリティグループ削除

セキュリティグループ "SG_Maintenance" を削除します。
削除方法は、セキュリティグループの削除 を参照してください。

(e) 踏み台サーバ解放

踏み台サーバを解放し、ログインできず、コストもかからない状態にします。
解放方法は、仮想サーバの解放/復元 パターンを参照してください。



 (2) セキュリティグループ "SG_Maintenance" の設定例
   踏み台サーバから ssh接続を受け付けるセキュリティグループの設定例です。

   本パターンの踏み台サーバは、構造 (イメージ図) のように "SG_Gate" というセキュリティグループが設定されているため、
   "SG_Gate" から ssh (22/tcp) を受信可とする設定をします。

ルール
方向
オープンポートポート接続先セキュリティグループ
または CIDR
カスタムTCPルール受信ポート22セキュリティグループSG_Gate

   このセキュリティグループ "SG_Maintenance" を、Webサーバのメンテナンスの際に付け外しすることで、
   必要な時だけ Webサーバにログインする運用となります。

   なお、実際のセキュリティの設定にあたっては、上記の設定例以外のセキュリティの要件もあわせて検討してください。
   また、アクセス制御の方式では、セキュリティグループだけではなく、ファイアーウォールも含めてセキュリティ設定を検討してください。
   検討にあたっては、以下のデザインパターンを参照してください。

デザインパターン名称
説明
セキュリティグループ活用セキュリティグループ のみでアクセス制御するパターンです。
セキュリティグループ/
ファイアーウォール併用
セキュリティグループ と ファイアーウォール を組み合わせたパターンです。
機能別セキュリティグループ機能別にアクセス制限をかけるパターンです。



 (3) セキュリティグループ "SG_Maintenance" の付け外し

  • セキュリティグループ "SG_Maintenance" の付与
    • 「コンピュート」⇒「仮想サーバ」と選択した画面で、Webサーバのリンクをクリックします。
      「仮想サーバ詳細」画面で、Webサーバの詳細情報が表示されます。

    • Webサーバの詳細画面の「ポート」一覧で、WebサーバのIPアドレスが表示されている項目の「アクション」メニューから、
      「セキュリティグループ設定」をクリックします。

    • 「セキュリティグループ設定」画面で、「全てのセキュリティグループ」の中から "SG_Maintenance" をクリックし、
      「選択」ボタンをクリックします。
      "SG_Maintenance" が、「仮想サーバのセキュリティグループ」に表示されます。

    • 最後に「OK」ボタンをクリックすると、"SG_Maintenance" が Webサーバに付与され、
      踏み台サーバからログインできる状態になります。

  • セキュリティグループ "SG_Maintenance" の削除
    • 「コンピュート」⇒「仮想サーバ」と選択した画面で、Webサーバのリンクをクリックします。
      「仮想サーバ詳細」画面で、Webサーバの詳細情報が表示されます。

    • Webサーバの詳細画面の「ポート」一覧で、WebサーバのIPアドレスが表示されている行の「アクション」メニューから、
      「セキュリティグループ設定」をクリックします。

    • 「セキュリティグループ設定」画面で、「仮想サーバのセキュリティグループ」の中から "SG_Maintenance" をクリックし、
      「解除」ボタンをクリックします。
      "SG_Maintenance" が、「全てのセキュリティグループ」に表示されます。

    • 最後に「OK」ボタンをクリックすると、"SG_Maintenance" が Webサーバから削除され、
      踏み台サーバからログインできない状態になります。



メリット・効果

本パターンを利用して、踏み台サーバを配備した場合のメリット・効果は以下の通りです。

  • システムへのログイン経路を単一化することで、高いセキュリティを実現可能

  • 踏み台サーバの起動/停止作業や、セキュリティグループの付与作業を組み合わせることで、
    設定ミスで不用意にアクセスされたりすることを無くす等、運用面での安全性の向上が可能



注意事項

  • 本パターンは2017年5月時点のK5(IaaS)で動作検証しています。

  • 踏み台サーバを用いた構成は、その他 に記載のように様々な構成を実現できますが、
    K5 でのネットワーク構成は非常に自由度が高いため、
    ファイアーウォールやセキュリティグループにて通信の制御は必ず行ってください。



その他

踏み台サーバの構成例について

構造 (イメージ図) では、考え方を提示するためもっとも簡略な構成例を記載していますが、ネットワーク構成を 2階層構成にしたり、
マルチAZ構成にしたり、プロジェクト間接続を使うことによって、以下のように様々な構成が可能です。

ログイン対象のサーバと 踏み台サーバ の配備先 外部接続する
仮想ルータ
ログイン対象のサーバと 踏み台サーバ 間のアクセス制御
同一セグメント構成 1つ セキュリティグループ
単一のルータで複数セグメント構成 1つ セキュリティグループ、セキュリティグループ+ファイアーウォール
マルチAZ構成 2つ セキュリティグループ
外部接続するルータを複数配備した構成 2つ セキュリティグループ、セキュリティグループ+ファイアーウォール
プロジェクト間接続を行った構成の場合 2つ セキュリティグループ、セキュリティグループ+ファイアーウォール

 (1) 単一のルータで複数セグメントの構成とした場合
   単一のルータで 2階層ネットワーク を構成した場合の構成例です。
   セキュリティの設定で、Webサーバが配備されるインターネットに公開されるセグメントに直接ログインできないようにします。
   小規模でも、ファイアーウォールとセキュリティグループで、アクセス制御を多重で行ってセキュリティを高めています。


 (2) マルチAZ構成とした場合
   マルチAZ接続パターン のように、マルチAZ でネットワークを構成した場合の構成例です。
   下図では、別AZのセグメントをネットワークコネクター経由で接続しています。

   踏み台サーバとログイン対象のサーバとの間のアクセス制御は、ネットワークコネクター経由の場合はセキュリティグループのみとなります。

   なお、ネットワークコネクターを利用したマルチAZ構成では、同一のAZ内でも複数のセグメントを接続可能です。
   要件に応じて、マルチAZ接続パターンその他 で記載した複数セグメントの例と組み合わせて構成を検討してください。


 (3) 外部接続するルータを複数配備した構成の場合
   複数ルータ外部接続パターン で構成した場合の構成例です。
   外部接続するルータを複数利用することで、インターネットに公開のセグメントへの入り口の仮想ルータと、踏み台サーバのセグメントへの
   入り口となる仮想サーバを、完全に分離しています。

   それぞれのセグメントの仮想ルータを分けることで、仮想ルータに対しての設定ミス等を削減し、設定ミスによる不用意なアクセスが発生して
   しまうことを防ぎます。


 (4) プロジェクト間接続を行った構成の場合
   プロジェクト間接続による共通サービスパターン で構成した場合の構成例です。
   この例では、(3) 外部接続するルータを複数配備した構成 を、複数プロジェクトに拡張しています。
   別のプロジェクト、あるいは複数のプロジェクトでシステムを構築しているような形態では、それらのシステムに単一のプロジェクトの
   踏み台サーバからログインする構成が推奨されます。

   なお、プロジェクト間接続を行っている場合は、プロジェクト間でセキュリティグループを共有できないため、セキュリティグループの
   ルールの記載は IPアドレス (CIDR形式) で行う必要があります。



関連資料

  • FUJITSU Cloud Service K5 マニュアル
    http://jp.fujitsu.com/solutions/cloud/k5/document/
    • サービスご紹介資料
    • IaaS 機能説明書
    • IaaS サービスポータルユーザーズガイド
    • IaaS APIユーザーズガイド
    • IaaS APIリファレンスマニュアル
    • IaaS HEATテンプレート解説書

(2017年5月検証)