インターネットやイントラネット等の外部から、安全にシステムにログインできるようにしたいといった要求事項に対応します。
セキュリティを考慮したシステムでは、Webサーバ等のサービスを提供するサーバに対して直接ログインするようなシステム構成にはせず、
踏み台サーバを経由してログインする構成とすることが通常です。
Webサーバ等に直接ログインするようなシステム構成では、ログインするための経路がセキュリティ上弱くなります。
インターネットから複数のサーバにログインする経路があるようなシステム構成になると、インターネット上から攻撃される可能性が非常に
高くなります。また、そのようなシステム構成では、何らかの設定変更作業により、セキュリティホールを作ってしまう可能性も否めません。
そこで、インターネットやイントラネット等外部からシステムにログインする際には、ログイン経路が1か所となるよう踏み台サーバを用意して、
セキュリティを高めることが推奨されます。
以下では、必要に応じて 踏み台サーバ を起動 (または復元) する例を記載しています。この例のように、特定のアクセス元から起動している
最中だけ踏み台サーバにログインできるようにすることによって、安全にメンテナンス作業を行うことが可能となります。
さらに、踏み台サーバからログインする対象のサーバに対して、ログインするときだけ踏み台サーバからのアクセスをセキュリティグループによって
許可する運用にすると、さらに安全性を高めることが可能となります。
※セキュリティグループは付け外しが可能です。
下図の例のように、踏み台サーバからのアクセスを許可する SG_Maintenance を、
メンテナンスの際にだけ Webサーバに付与する運用が可能です。
以下では、考え方を提示するためもっとも簡略な構成例を記載しています。
この他の構成例としては、その他 で、ネットワーク構成を 2階層 にした構成例や、マルチAZ にした構成例、プロジェクト間接続 を使った構成例
などを記載しています。
■通常時 |
■メンテナンス時 |
※通常時は、踏み台サーバを停止 (または解放) します
※インターネットからログイン可能なサーバが存在しない |
※メンテナンス時に踏み台サーバを起動 (または復元) します ※特定のアクセス元からのみ、ログインできるようにします
※ログインする対象のサーバだけセキュリティグループを |
|
|
(1) 作業フロー
(2) セキュリティグループ "SG_Maintenance" の設定例
踏み台サーバから ssh接続を受け付けるセキュリティグループの設定例です。
本パターンの踏み台サーバは、構造 (イメージ図) のように "SG_Gate" というセキュリティグループが設定されているため、
"SG_Gate" から ssh (22/tcp) を受信可とする設定をします。
ルール | 方向 | オープンポート | ポート | 接続先 | セキュリティグループ または CIDR |
---|---|---|---|---|---|
カスタムTCPルール | 受信 | ポート | 22 | セキュリティグループ | SG_Gate |
このセキュリティグループ "SG_Maintenance" を、Webサーバのメンテナンスの際に付け外しすることで、
必要な時だけ Webサーバにログインする運用となります。
なお、実際のセキュリティの設定にあたっては、上記の設定例以外のセキュリティの要件もあわせて検討してください。
また、アクセス制御の方式では、セキュリティグループだけではなく、ファイアーウォールも含めてセキュリティ設定を検討してください。
検討にあたっては、以下のデザインパターンを参照してください。
デザインパターン名称 | 説明 |
---|---|
セキュリティグループ活用 | セキュリティグループ のみでアクセス制御するパターンです。 |
セキュリティグループ/ ファイアーウォール併用 | セキュリティグループ と ファイアーウォール を組み合わせたパターンです。 |
機能別セキュリティグループ | 機能別にアクセス制限をかけるパターンです。 |
(3) セキュリティグループ "SG_Maintenance" の付け外し
本パターンを利用して、踏み台サーバを配備した場合のメリット・効果は以下の通りです。
構造 (イメージ図) では、考え方を提示するためもっとも簡略な構成例を記載していますが、ネットワーク構成を 2階層構成にしたり、
マルチAZ構成にしたり、プロジェクト間接続を使うことによって、以下のように様々な構成が可能です。
ログイン対象のサーバと 踏み台サーバ の配備先 | 外部接続する 仮想ルータ | ログイン対象のサーバと 踏み台サーバ 間のアクセス制御 |
---|---|---|
同一セグメント構成 | 1つ | セキュリティグループ |
単一のルータで複数セグメント構成 | 1つ | セキュリティグループ、セキュリティグループ+ファイアーウォール |
マルチAZ構成 | 2つ | セキュリティグループ |
外部接続するルータを複数配備した構成 | 2つ | セキュリティグループ、セキュリティグループ+ファイアーウォール |
プロジェクト間接続を行った構成の場合 | 2つ | セキュリティグループ、セキュリティグループ+ファイアーウォール |
(1) 単一のルータで複数セグメントの構成とした場合
単一のルータで 2階層ネットワーク を構成した場合の構成例です。
セキュリティの設定で、Webサーバが配備されるインターネットに公開されるセグメントに直接ログインできないようにします。
小規模でも、ファイアーウォールとセキュリティグループで、アクセス制御を多重で行ってセキュリティを高めています。
(2) マルチAZ構成とした場合
マルチAZ接続パターン のように、マルチAZ でネットワークを構成した場合の構成例です。
下図では、別AZのセグメントをネットワークコネクター経由で接続しています。
踏み台サーバとログイン対象のサーバとの間のアクセス制御は、ネットワークコネクター経由の場合はセキュリティグループのみとなります。
なお、ネットワークコネクターを利用したマルチAZ構成では、同一のAZ内でも複数のセグメントを接続可能です。
要件に応じて、マルチAZ接続パターン の その他 で記載した複数セグメントの例と組み合わせて構成を検討してください。
(3) 外部接続するルータを複数配備した構成の場合
複数ルータ外部接続パターン で構成した場合の構成例です。
外部接続するルータを複数利用することで、インターネットに公開のセグメントへの入り口の仮想ルータと、踏み台サーバのセグメントへの
入り口となる仮想サーバを、完全に分離しています。
それぞれのセグメントの仮想ルータを分けることで、仮想ルータに対しての設定ミス等を削減し、設定ミスによる不用意なアクセスが発生して
しまうことを防ぎます。
(4) プロジェクト間接続を行った構成の場合
プロジェクト間接続による共通サービスパターン で構成した場合の構成例です。
この例では、(3) 外部接続するルータを複数配備した構成 を、複数プロジェクトに拡張しています。
別のプロジェクト、あるいは複数のプロジェクトでシステムを構築しているような形態では、それらのシステムに単一のプロジェクトの
踏み台サーバからログインする構成が推奨されます。
なお、プロジェクト間接続を行っている場合は、プロジェクト間でセキュリティグループを共有できないため、セキュリティグループの
ルールの記載は IPアドレス (CIDR形式) で行う必要があります。