SSH 拒絕規則允許我使用 SSH?

SSH 拒絕規則允許我使用 SSH?

我正在學習 AWS VPC,其中分配 NACL 入站/出站規則如下: 現在我正在為所有 IP 執行操作

Rule #    Type           Allow/Deny
100       All Traffic    Allow
200       SSH            Deny
 *        All Traffic    Deny


Outbound
Rule #    Type           Allow/Deny
100       SSH            Deny
200       All Traffic    Allow
 *        All Traffic    Deny

我想知道我的 SSH 是如何運作的,因為規則規定將首先評估較低的數字,並且在出站規則中我拒絕了 SSH。誰能解釋一下該規則在 AWS 中實際上是如何運作的?

答案1

允許傳入 SSH 流量,因為入站規則 # 100(實際上忽略 200)和傳出規則與已建立的 SSH 連線不符...


基於AWS 文件

網路 ACL 是無狀態的,這表示對允許的入站流量的回應受出站流量規則的約束(反之亦然)。

  • 入站規則

根據我所看到的,我認為你的規則順序錯誤。

Rule #    Type           Allow/Deny
100       All Traffic    Allow
200       SSH            Deny
 *        All Traffic    Deny

這根本沒有意義,因為您允許規則 100 的所有流量,因此規則 200 不會在任何時候使用(流量將基於規則 100 已被允許,因此規則 200 不會「保留」任何內容)。我認為更有意義有不同的順序(如果你想拒絕 ssh 服務:

Rule #    Type           Allow/Deny
100       SSH            Deny
200       All Traffic    Allow
 *        All Traffic    Deny
  • 出境

以下是規則 # 較低的 SSH 流量:

Rule #    Type           Allow/Deny
100       SSH            Deny
200       All Traffic    Allow
 *        All Traffic    Deny

這將拒絕 SSH 流量,而其餘流量將被允許...

SSH 類型是連接埠 TCP/22 的流量 - 這通常用作目標連接埠。如果您要聯絡SSH 伺服器,您將連接到TCP/22,但您的來源連接埠是TCP/X,其中X 是「隨機」(不是真的,但為了簡單起見,可以說隨機)選擇的,例如> 10000。

一旦伺服器回覆您的連接,目標連接埠就是「您的」TCP/X,因此規則不必符合此流量...

目標 TCP/22 的傳出流量將是在伺服器上發起的、目標位於其他裝置上且尚未建立 SSH 連線的連線。

答案2

您允許所有流量進入您的主機,但拒絕從主機進行 ssh 出站。

據我所知,NACL 不進行深度資料包檢查。這意味著協議是它們的簡單別名分配的連接埠

除非你正在做一些非常奇怪的事情,例如嘗試 ssh連接埠 22,您的入站 ssh 會話應該沒問題。

相關內容