Amazon Lightsail 中的執行個體防火牆 - Amazon Lightsail

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

Amazon Lightsail 中的執行個體防火牆

Amazon Lightsail 主控台中的防火牆充當虛擬防火牆,可控制允許透過其公有 IP 位址連接到執行個體的流量。您在 Lightsail 中建立的每個執行個體都有兩個防火牆;一個用於 IPv4 位址,另一個用於 IPv6 位址。每個防火牆都包含一組篩選進入執行個體之流量的規則。兩個防火牆彼此獨立;您必須分別為 IPv4 和 IPv6 設定防火牆規則。您可隨時新增和刪除允許或限制流量的規則,以編輯執行個體的防火牆。

內容

Lightsail 防火牆

每個 Lightsail 執行個體都有兩個防火牆;一個用於 IPv4 位址,另一個用於 IPv6 位址。進出 Lightsail 執行個體的所有網際網路流量都會通過其防火牆。執行個體防火牆會控制可流入執行個體的網際網路流量。不過,防火牆不會控制從中流出的流量 – 防火牆允許所有傳出流量。您可隨時新增和刪除允許或限制傳入流量的規則,以編輯執行個體的防火牆。請注意,兩個防火牆彼此獨立;您必須分別為 IPv4 和 IPv6 設定防火牆規則。

防火牆規則一律為許可制。您無法建立拒絕存取的規則。您可將規則新增至執行個體防火牆,以允許流量觸達執行個體。當您將規則新增至執行個體的防火牆時,您需指定要使用的通訊協定、要開啟的連接埠以及可連接至執行個體的 IPv4 和 IPv6 地址,如下列範例所示 (適用於 IPv4)。您也可以指定應用程式層通訊協定類型,這是根據您打算在執行個體上使用的服務,為您指定通訊協定和連接埠範圍的預設。


        Lightsail 主控台中的 IPv4 防火牆
重要

防火牆規則僅會影響流經執行個體之公有 IP 地址的流量。它不會影響流入執行個體私有 IP 位址的流量,而執行個體可能來自您帳戶中的 Lightsail 資源 AWS 區域,或是對等虛擬私有雲端 (VPC) 中的資源。 AWS 區域

本指南的後續幾個章節將說明防火牆規則及其可設定的參數。

建立防火牆規則

建立防火牆規則以讓用戶端能夠與執行個體建立連線,或與執行個體上執行的應用程式建立連線。例如,若要讓所有 Web 瀏覽器連線至執行個體上的 WordPress 應用程式,您可以設定防火牆規則,以便從任何 IP 位址透過連接埠 80 啟用傳輸控制通訊協定 (TCP)。如果執行個體的防火牆上已設定此規則,您可以刪除該規則,以封鎖 Web 瀏覽器連線至執行個體上的 WordPress 應用程式。

重要

您可以使用 Lightsail 主控台一次最多新增 30 個來源 IP 位址。若要一次最多新增 60 個 IP 位址,請 Lightsail API、 AWS Command Line Interface (AWS CLI) 或 AWS 開發套件。此配額會分別針對 IPv4 和 IPv6 規則強制執行。例如,防火牆可針對 IPv4 流量執行 60 個傳入規則,並同時針對 IPv6 流量執行 60 個傳入規則。建議您將各個 IP 地址整合至 CIDR 範圍。如需詳細資訊,請參閱本指南的指定來源 IP 地址一節。

您也可以設定僅從需要建立連線之電腦的 IP 地址透過連接埠 22 啟用 TCP 的防火牆規則,讓 SSH 用戶端能夠連線至執行個體,以在伺服器上執行管理任務。在此情況下,您不會想要允許任何 IP 地址建立連至執行個體的 SSH 連線;因為這麼做可能會在執行個體上導致安全性風險。

注意

本節所述的防火牆規則範例可能會依預設存在於執行個體的防火牆中。如需詳細資訊,請參閱本指南後續章節所述的預設防火牆規則

若特定連接埠有超過一個規則,我們會套用最寬鬆的規則。例如,如果您新增一個允許從 IP 地址 192.0.2.1 存取 TCP 連接埠 22 (SSH) 的規則。接著,您新增另一個所有人皆可允許存取 TCP 連接埠 22 的規則。因此,所有人皆可存取 TCP 連接埠 22。

指定通訊協定

通訊協定是指在兩部電腦之間傳輸資料時所採用的格式。Lightsail 可讓您在防火牆規則中指定下列通訊協定:

  • 傳輸控制通訊協定 (TCP) 主要用於建立和維護用戶端與執行個體上執行的應用程式之間的連線,直到資料交換完成為止。這是廣泛使用的通訊協定,而且是您通常可能會在防火牆規則中指定的通訊協定。TCP 保證不會有任何遺失的傳輸資料,且傳送的所有資料會順利抵達預定的收件人。它的理想用途是需要高可靠性的網路應用程式,以及用於傳輸時間相對較不緊急的情況,例如 Web 瀏覽、金融交易和文字簡訊服務。如果資料的部分遺失,這些使用案例將會失去重要的價值。

  • 使用者資料報通訊協定 (UDP) 主要用於在用戶端與執行個體上執行的應用程式之間建立低延遲和容忍遺失的連線。它的理想用途是將感知延遲視為至關重要的網路應用程式,例如遊戲、語音和視訊通訊。這些使用案例可能會遭受一些資料遺失,而不會對感知品質造成負面影響。

  • 網際網路控制訊息通訊協定 (ICMP) 主要用於診斷網路通訊問題,例如判斷資料是否及時觸達其預定的目的地。它的理想用途是 Ping 公用程式,可用來測試本機電腦與執行個體之間的連線速度。它會回報資料觸達執行個體並返回本機電腦所需的時間。

    注意

    在您使用 Lightsail 主控台將 ICMP 規則新增至執行個體的 IPv6 防火牆時,系統會自動將該規則設定為使用 ICMPv6。如需詳細資訊,請參閱 Wikipedia 上的 IPv6 的網際網路控制訊息通訊協定

  • 全部可用來允許所有通訊協定流量流入執行個體。當您不確定要指定哪個通訊協定時,請指定此通訊協定。這包含所有網際網路通訊協定;不只是以上指定的通訊協定。如需詳細資訊,請參閱 Internet Assigned Numbers Authority 網站上的通訊協定號碼

指定連接埠

類似於電腦上的實體連接埠,可讓電腦與鍵盤和滑鼠等周邊裝置進行通訊,網路連接埠可做為執行個體的網際網路通訊端點。當電腦想要與執行個體連線時,它會公開連接埠以建立通訊。

您可在防火牆規則中指定的連接埠可能介於 0 至 65535。當您建立防火牆規則以讓用戶端能夠與執行個體建立連線時,您需要指定將使用的通訊協定 (請參閱本指南前述章節),以及可透過哪些連接埠號碼建立連線。您也可以指定允許使用通訊協定和連接埠建立連線的 IP 地址;請參閱本指南下一節所述。

以下是與服務搭配使用的其中一些常用連接埠:

  • 透過檔案傳輸通訊協定 (FTP) 進行的資料傳輸使用連接埠 20。

  • 透過 FTP 進行的命令控制使用連接埠 21。

  • Secure Shell (SSH) 使用連接埠 22。

  • Telnet 遠端登入服務以及未加密文字簡訊使用連接埠 23。

  • 簡易郵件傳輸協定 (SMTP) 電子郵件路由使用連接埠 25。

    重要

    欲啟用執行個體的 SMTP,您也必須設定執行個體的反向 DNS。否則,電子郵件可能會限制為須透過 TCP 連接埠 25 傳送。如需詳細資訊,請參閱在 Amazon Lightsail 執行個體上為電子郵件伺服器設定反向 DNS

  • 網域名稱系統 (DNS) 服務使用連接埠 53。

  • Web 瀏覽器用來連線至網站的超文字傳輸通訊協定 (HTTP) 使用連接埠 80。

  • 電子郵件用戶端用來從伺服器擷取電子郵件的郵局通訊協定 (POP3) 使用連接埠 110。

  • 網路新聞傳輸通訊協定 (NNTP) 使用連接埠 119。

  • 網路時間通訊協定 (NTP) 使用連接埠 123。

  • 用來管理數位郵件的網際網路資訊存取通訊協定 (IMAP) 使用連接埠 143。

  • 簡單網路管理通訊協定 (SNMP) 使用連接埠 161。

  • Web 瀏覽器用來與網站建立加密連線的 HTTP Secure (HTTPS) HTTP over TLS/SSL 使用連接埠 443。

如需詳細資訊,請參閱 Internet Assigned Numbers Authority 網站上的服務名稱和傳輸通訊通訊協定連接埠號碼登錄檔

指定應用程式層級通訊協定類型

您可在建立防火牆規則時指定應用程式層通訊協定類型,這些是根據您要在執行個體上啟用的服務,為您指定規則的通訊協定和連接埠範圍的預設集。這樣您就不必搜尋要用於 SSH、RDP、HTTP 及其他服務的常用通訊協定和連接埠。您可以直接選擇應用程式層通訊協定類型,以及為您指定的通訊協定和連接埠。如果您偏好指定自己的通訊協定和連接埠,您可以選擇 Custom rule (自訂規則) 應用程式層通訊協定類型,這會讓您控制這些參數。

注意

您只能使用 Lightsail 主控台來指定應用程式層通訊協定類型。您無法使用 Lightsail API、 AWS Command Line Interface (AWS CLI) 或開發套件來指定應用程式層通訊協定類型。

Lightsail 主控台提供下列應用程式層通訊協定類型:

  • Custom (自訂) – 選擇此選項以指定您自己的通訊協定和連接埠。

  • All protocols (所有通訊協定) – 選擇此選項以指定所有通訊協定,以及指定您自己的連接埠。

  • All TCP (所有 TCP) – 選擇此選項以使用 TCP 通訊協定,但您不確定要開啟哪個連接埠。這會透過所有連接埠 (0-65535) 啟用 TCP。

  • All UDP (所有 UDP) – 選擇此選項以使用 UDP 通訊協定,但您不確定要開啟哪個連接埠。這會透過所有連接埠 (0-65535) 啟用 UDP。

  • All ICMP (所有 ICMP) – 選擇此選項以指定所有 ICMP 類型和程式碼。

  • Custom ICMP (自訂 ICMP) – 選擇此選項可使用 ICMP 通訊協定,並定義 ICMP 類型和程式碼。如需有關 ICMP 類型和程式碼的詳細資訊,請參閱 Wikipedia 上的控制訊息

  • DNS – 當您想要在執行個體上啟用 DNS 時,請選擇此選項。這會透過連接埠 53 啟用 TCP 和 UDP。

  • HTTP – 當您想要讓 Web 瀏覽器能夠連線至託管於執行個體上的網站時,請選擇此選項。這會透過連接埠 80 啟用 TCP。

  • HTTPS – 當您想要讓 Web 瀏覽器能夠與託管於執行個體上的網站建立加密連線時,請選擇此選項。這會透過連接埠 443 啟用 TCP。

  • MySQL/Aurora – 選擇此選項以讓用戶端能夠連線至託管於執行個體上的 MySQL 或 Aurora 資料庫。這會透過連接埠 3306 啟用 TCP。

  • Oracle-RDS – 選擇此選項以讓用戶端能夠連線至託管於執行個體上的 Oracle 或 RDS 資料庫。這會透過連接埠 1521 啟用 TCP。

  • Ping (ICMP) – 選擇此選項以讓執行個體能夠使用 Ping 公用程式來回應請求。在 IPv4 防火牆上,這會啟用 ICMP 類型 8 (回應) 和程式碼 -1 (所有程式碼)。在 IPv6 防火牆上,這會啟用 ICMP 類型 129 (回應回覆) 和程式碼 0。

  • RDP – 選擇此選項以讓 RDP 用戶端能夠連線至執行個體。這會透過連接埠 3389 啟用 TCP。

  • SSH – 選擇此選項以讓 SSH 用戶端能夠連線至執行個體。這會透過連接埠 22 啟用 TCP。

指定來源 IP 地址

根據預設,防火牆規則可讓所有 IP 地址透過指定的通訊協定和連接埠連線至執行個體。這非常適合用於經由 HTTP 和 HTTPS 的 Web 瀏覽器等流量。不過,這會對 SSH 和 RDP 等流量造成安全性風險,因為您不會想要讓所有 IP 地址都能使用這些應用程式連線至執行個體。基於該原因,您可以選擇將防火牆規則限制為某個 IPv4 或 IPv6 地址或 IP 地址範圍。

  • 對於 IPv4 防火牆 - 您可指定單一 IPv4 地址 (例如 203.0.113.1) 或 IPv4 地址範圍。在 Lightsail 主控台中,您可以使用破折號 (例如 192.0.0-192.0.2.255) 或 CIDR 區塊標記法 (例如,192.0.2.0/24) 來指定範圍。如需有關 CIDR 區塊標記法的詳細資訊,請參閱 Wikipedia 上的無類別網域間路由

  • 對於 IPv6 防火牆 - 您可以指定單一 IPv6 地址 (例如 2001:0db8:85a3:0000:0000:8a2e:0370:7334) 或 IPv6 地址範圍。在 Lightsail 主控台中,您只能使用 CIDR 區塊表示法指定 IPv6 範圍 (例如 2001:db8::/32)。如需有關 IPv6 CIDR 區塊表示法的詳細資訊,請參閱 Wikipedia 上的 IPv6 CIDR 區塊

預設 Lightsail 牆規則

當您建立新執行個體時,其 IPv4 和 IPv6 防火牆已透過下列這組允許執行個體基本存取的預設規則預先設定。根據您建立的執行個體類型,預設規則會有所不同。這些規則會以應用程式、通訊協定、連接埠和來源 IP 地址的形式列出 (例如應用程式 - 通訊協定 - 連接埠 - 來源 IP 地址)。

AlmaLinux, Amazon Linux 2, Amazon Linux 2023, CentOS, Debian, FreeBSD, openSUSE, 和 Ubuntu (基本操作系統)

SSH - TCP - 22 - 所有 IP 地址

HTTP - TCP - 80 - 所有 IP 地址

WordPress, 鬼, 是啊! , PrestaShop, 和 Drupal (CMS 應用程式)

SSH - TCP - 22 - 所有 IP 地址

HTTP - TCP - 80 - 所有 IP 地址

HTTPS - TCP - 443 - 所有 IP 地址

cPanel & WHM (CMS 應用程式)

SSH - TCP - 22 - 所有 IP 地址

DNS (UDP) - UDP - 53 - 所有 IP 地址

DNS (TCP) - TCP - 53 - 所有 IP 地址

HTTP - TCP - 80 - 所有 IP 地址

HTTPS - TCP - 443 - 所有 IP 地址

自訂 - TCP - 2078 - 所有 IP 地址

自訂 - TCP - 2083 - 所有 IP 地址

自訂 - TCP - 2087 - 所有 IP 地址

自訂 - TCP - 2089 - 所有 IP 地址

燈,傑戈,Node.js,平均值和尼金克斯(開發堆棧) GitLab

SSH - TCP - 22 - 所有 IP 地址

HTTP - TCP - 80 - 所有 IP 地址

HTTPS - TCP - 443 - 所有 IP 地址

Magento (電子商務應用程式)

SSH - TCP - 22 - 所有 IP 地址

HTTP - TCP - 80 - 所有 IP 地址

HTTPS - TCP - 443 - 所有 IP 地址

Redmine (專案管理應用程式)

SSH - TCP - 22 - 所有 IP 地址

HTTP - TCP - 80 - 所有 IP 地址

HTTPS - TCP - 443 - 所有 IP 地址

Plesk (託管堆疊)

SSH - TCP - 22 - 所有 IP 地址

HTTP - TCP - 80 - 所有 IP 地址

HTTPS - TCP - 443 - 所有 IP 地址

自訂 - TCP - 53 - 所有 IP 地址

自訂 - UDP - 53 - 所有 IP 地址

自訂 - TCP - 8443 - 所有 IP 地址

自訂 - TCP - 8447 - 所有 IP 地址

視窗伺服器 2022、視窗伺服器 2019 及視窗伺服器 2016

SSH - TCP - 22 - 所有 IP 地址

HTTP - TCP - 80 - 所有 IP 地址

RDP - TCP - 3389 - 所有 IP 地址

SQL 服務器快遞, SQL 服務器快遞 2019, 和 SQL 服務器快遞

SSH - TCP - 22 - 所有 IP 地址

HTTP - TCP - 80 - 所有 IP 地址

RDP - TCP - 3389 - 所有 IP 地址

有關防火牆的詳細資訊

以下是一些可協助您在 Lightsail 中管理防火牆的文章。