如何在EC2實例上允許或封鎖特定IP?
要管理對您的EC2實例的網絡訪問,亞馬遜網絡服務(AWS)提供了多種機制來允許或封鎖特定IP地址。以下是一個關於如何控制對您的EC2實例訪問的逐步指南:
了解安全組和網絡ACL
在深入了解具體操作之前,重要的是要理解AWS的兩個關鍵組件:安全組和網絡訪問控制列表(ACL)。
- 安全組:它們充當您的EC2實例的虛擬防火牆,控制著實例級別的進出流量。
- 網絡ACL:它們在子網級別提供了一層安全保障,控制著一個或多個子網的進出流量。
什麼是入站和出站規則?
- 入站:這些規則控制著流向您EC2實例的入站網絡流量。入站規則定義了哪些流量可以進入實例。例如,如果您在EC2實例上運行一個網頁服務器,您會設定一個入站規則來允許80端口(HTTP)和443端口(HTTPS)的流量,以便用戶可以訪問您的網站。
- 出站:這些規則控制著從您的EC2實例發出的出站網絡流量。出站規則指定了可以離開實例的流量。例如,如果您的應用程序需要訪問外部數據庫或API,您將設定一個出站規則以允許流量前往特定的IP地址或主機上的數據庫或API的端口。
透過安全組允許或封鎖IP的逐步指南
1.登入您的AWS控制台,導航至EC2服務。從那裡點擊“實例”以查看可用的實例。
2.從那裡選擇您想允許IP的實例。導航至“安全”標籤。
3.在這裡您將看到哪些“安全組”被附加到您的EC2實例上。並且還能看到所有的入站和出站規則。現在點擊“安全組”名稱。這將帶您進入安全組。
4.從那裡選擇您需要的入站/出站規則。本例將展示如何封鎖所有IP訪問您的EC2 SSH(入站),僅為您自己外。現在,選擇入站規則並點擊“編輯入站規則”。
5.SSH將被默認創建,在“來源”中點擊下拉菜單並選擇“我的IP”。
6.點擊,“保存規則”。這將僅允許您訪問SSH。要封鎖特定IP,請確保您不在允許的規則中包含它們。由於AWS安全組是有狀態的,並且基於白名單模型運作,意味著它們除了您明確允許的流量外,拒絕所有流量。要封鎖特定IP,請確保您不在允許的規則中包含它們。
透過網絡ACL允許或封鎖IP的逐步指南
1.登入您的AWS控制台,導航至EC2服務。從那裡點擊“實例”以查看可用的實例。
2.從那裡選擇您想要允許/封鎖IP的實例。從詳細信息部分點擊“子網ID”。
3.從那裡選擇子網,導航至“網絡ACL”標籤,並點擊“網絡ACL”名稱。
4.現在再次選擇“網絡ACL ID”。導航至“入站規則”標籤。並點擊“編輯入站規則”按鈕。在這裡,我們將拒絕來自特定IP CIDR的所有流量。
5.現在,點擊“新增規則”按鈕。給它一個“規則號碼”(規則號碼是規則執行的順序,優先級從最低號碼到最高)。因為我們已經有一個號碼為100的規則,所以為了拒絕一個IP,我們需要選擇一個較低的號碼讓它首先執行。現在在“來源”中給出IP CIDR,並在“允許/拒絕”中選擇“拒絕”。完成後點擊“保存更改”。
這項更改將立即生效。網絡ACL是無狀態的,並且默認情況下,網絡ACL規則允許兩個方向的所有流量。
通過有效使用安全組和網絡ACL,您可以精確控制誰可以訪問您的EC2實例。始終記得在安全性和功能性之間保持平衡,確保您的配置不會無意中阻止合法流量或將您的實例暴露於不必要的風險中。