Networking

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

  • January 16, 2020

我正在學習 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 中的實際運作方式?

允許傳入 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 連接。

引用自:https://serverfault.com/questions/999139