web-dev-qa-db-ja.com

AWS EC2セキュリティグループのルール:特定のIPアドレスよりも寛容であると見なされないソースとしてセキュリティグループを指定していますか?

これがこの質問に適したサブStackExchangeであるかどうかはわかりませんでした。必要に応じて、別の場所で自由に起動してください。

2つのEC2サーバーを使用しようとしています。1つは「ワークステーション」で、もう1つは「ノード」です(Chefを考えてください)。ワークステーションのセキュリティグループは、ローカルマシンのIPアドレスからポート22へのアクセスを許可する1つの着信ルールから始まりました。

ワークステーションサーバーからだけでなく、ローカルマシンからもノードサーバーにアクセスできるようにしたかったのです。そのため、新しいセキュリティグループを作成するのではなく、独自のセキュリティグループIDをソースとしてワークステーションで使用されるセキュリティグループにルールを追加しました。平易な英語で、私が目指していたのは、ローカルマシンのIPアドレスまたはからポート22へのアクセスを許可するセキュリティグループです。適用されたセキュリティグループ。これは、デフォルトのセキュリティグループがどのように機能するかについての私の理解でした(すべてのトラフィックが許可され、ソースは自己参照セキュリティグループIDです)。

私の考えでは、これは私が見つけたものと一致していました ここ ドキュメントで:

特定のポートに複数のルールがある場合は、最も許容度の高いルールを適用します。たとえば、IPアドレス203.0.113.1からTCPポート22(SSH)へのアクセスを許可するルールとTCP)へのアクセスを許可する別のルールがある場合誰からもポート22、誰もがTCPポート22にアクセスできます。

私の場合は明らかに少し異なり、特定のIPアドレスからポート22への特定のアクセスを許可するルールと、「全員」からではなくセキュリティグループからのポート22への特定のアクセスを許可するルールがありますが、そうではありません。セキュリティグループのソースも特定のIPアドレスよりも寛容であると見なされているため、上記のシナリオを許可しますか?

残念ながら、このように設定されたセキュリティグループでは、ローカルマシンからノードにSSHで接続することしかできません。 EC2(同じセキュリティグループを共有している)のワークステーションからSSHを実行しようとすると、タイムアウトになります。

私が間違っている/欠けているかもしれないことについてのアイデアはありますか?

1
sixty4bit

ワークステーションで使用されるセキュリティグループに、独自のセキュリティグループIDをソースとして使用するルールを追加しました。

それはあなたがする必要があったことの反対です。

ワークステーションのセキュリティグループをソースとして指定して、ノードのセキュリティグループにルールを追加する必要があります...企業のセキュリティグループではありません。セキュリティグループ内の自己参照インバウンドルールは、そのグループのメンバーであるマシンが、同じグループの他のメンバーのそのポートにアクセスできることを意味します。

なぜドキュメントがそのような明白な原則をそのような複雑な方法で述べているのかわかりません...それは問題を混乱させるのに役立つだけのようです。トラフィックがセキュリティグループ内のルールに一致する場合、そのトラフィックは許可されます。ここでは、ルールの特異性の概念が気を散らすように見えます。

1

実際に行ったこと:IPおよび同じグループ内の他のインスタンスからのワークステーションへのアクセスを許可します(現在そのグループにインスタンスを追加する場合は、現在存在しないかどうかは関係ありません-それsshにもアクセスできます。

実行する必要があること:ノードが属するSGを構成します。 IPを使用してルールを追加し、ソースとしてワークステーショングループを使用してルールを追加します。最後のものは、 'workstation_groupにあるすべてのインスタンスからポート22へのアクセスを許可するものとして読み取られます。

「パーミッシブルール」注:CIDRとサブネットに精通しているかどうかはわかりませんが、これは、CIDRとサブネットを詳細に理解するために知っておく必要のあるトピックです。 2つのケースを見てみましょう。ケース1、2つのルール:

allow from 192.168.0.0/24
allow from 192.168.1.0/24

ここでは、範囲が重複していないため、「最も許容的なルールのルール」は適用されません。実際には、

allow from 192.168.0.0 to 192.168.0.255
allow from 192.168.1.0 to 192.168.1.255

ケース2

allow from 192.168.0.0/22 (note '2' at the end)
allow from 192.168.1.0/24

範囲は次のとおりであるため、ここでルールが適用されます。

allow from 192.168.0.0 to 192.168.3.255
allow from 192.168.1.0 to 192.168.1.255

したがって、2番目の範囲は、大きなボックス内の小さなボックスのように、最初の範囲内にあります。ここでの「最も寛容な」とは、最初の行が機能し、範囲が広いことを意味します。

詳細については、 ipcalc を確認してください。

1
Putnik