安全FAQ
本文匯總了云服務器ECS安全方面的常見問題,涵蓋了安全組配置、安全組規則設定、主機處罰與解禁流程、資源限額管理等問題。
安全組問題
安全組規則問題
主機處罰與解禁問題
限額問題
什么是安全組?
安全組是一種虛擬防火墻。用于設置單臺或多臺云服務器的網絡訪問控制,它是重要的網絡安全隔離手段,您可以在云端劃分安全域。
每臺ECS實例至少屬于一個安全組,在創建實例時必須指定安全組。安全組類型分為普通安全組和企業安全組,更多信息,請參見安全組概述。
為什么要在創建ECS實例時選擇安全組?
在創建ECS實例之前,必須選擇安全組來劃分應用環境的安全域,授權安全組規則進行合理的網絡安全隔離。
如果您在創建ECS實例時不選擇安全組,創建的ECS實例會分配到一個固定的安全組(即默認安全組),建議您將實例移出默認安全組并加入新的安全組,以實現網絡安全隔離。
創建ECS實例前,未創建安全組怎么辦?
如果您在創建ECS實例之前未創建安全組,您可以選擇默認安全組。默認的安全組放行了常用端口,如TCP 22端口、3389端口等。
為什么ECS實例加入安全組時提示規則數量超限?
作用于一臺ECS實例(主網卡)的安全組規則數量上限 = 該實例允許加入的安全組數量 * 每個安全組的最大規則數量。
如果提示加入安全組失敗,作用在該實例上的安全組規則數量已達上限,表示當前ECS實例上的規則總數已經超過數量上限。建議您重新選擇其他安全組。
專有網絡VPC類型ECS實例的安全組數量上限調整后,只對調整日期后新增的安全組生效嗎?
不是。該上限調整對調整日期之前和之后創建的所有專有網絡VPC類型的ECS實例的安全組都生效。
安全組在什么情況下會使用默認安全組規則?
在以下情況中會使用默認安全組規則:
通過ECS管理控制臺在一個地域首次創建ECS實例時,如果您尚未創建安全組,可以選擇系統自動創建的默認安全組,類型為普通安全組。默認安全組采用默認安全規則。入方向放行ICMP協議、SSH 22端口、RDP 3389端口,授權對象為全網段(0.0.0.0/0),優先級為100,您還可以勾選放行HTTP 80端口和HTTPS 443端口。出方向允許所有訪問。
您在ECS管理控制臺上創建安全組時默認的安全組規則,入方向放行ICMP協議、SSH 22端口、RDP 3389端口、HTTP 80端口和HTTPS 443端口,授權對象為全網段(0.0.0.0/0)。
不同安全組的ECS實例如何實現內網互通?
同一賬號或者不同賬號下兩個安全組之間的實例默認內網都是隔離的。不同安全組之間實現內網互通的應用案例,請參見實現不同安全組的實例內網互通和不同安全組的經典網絡實例內網互通。
同一安全組的ECS實例如何實現內網隔離?
加入同一個普通安全組內的實例之間默認允許所有協議、端口互相訪問,您可以修改普通安全組內的網絡連通策略,實現組內隔離。具體操作,請參見普通安全組內網絡隔離。
同一個ECS實例中的兩塊彈性網卡如何進行流量隔離?
ECS實例綁定了兩塊彈性網卡,如果您嘗試使用安全組將這兩塊網卡進行流量隔離,會發現無法使用安全組實現同一個ECS實例中兩塊網卡的流量隔離。原因是,安全組作用于ECS實例操作系統之外的虛擬網絡設備上,默認情況下,同一ECS實例兩塊網卡的流量會在操作系統內部進行路由和轉發,兩塊彈性網卡間的網絡流量不會經過安全組,因此無法使用安全組進行流量隔離。
您可以使用操作系統的命名空間(namespace)機制,將ECS實例的兩塊網卡加入到不同的namespace,使得兩塊網卡之間的網絡流量發往操作系統之外,這樣網絡流量才會經過安全組,才能夠使用安全組進行流量隔離。
為什么我配置安全組后還是無法訪問服務?
控制臺安全組放行某個端口,只能說明安全組沒有限制這個端口的訪問,不能說明這個端口已經開啟。如需外網訪問ECS服務器的端口,需要滿足以下三個必要條件:
安全組規則放行該端口。
對應端口的程序軟件是啟動運行狀態,并且監聽地址為0.0.0.0(您可通過執行netstat -ano |findstr 端口號命令來檢測端口是否處于監聽狀態)。
已關閉ECS實例內部防火墻,或者防火墻已放行該端口。
設置安全組規則后如果發現業務無法訪問,您需要排查業務服務是否啟動、服務端口和安全組規則是否一致等問題。更多信息,請參見安全組常見問題處理。
彈性網卡如何加入到安全組?
您可以通過變更ECS實例所在的安全組來更新彈性網卡主網卡的安全組,也可以修改輔助彈性網卡的屬性來修改彈性網卡所屬的安全組。具體操作,請參見修改彈性網卡屬性。
普通安全組和企業級安全組是否支持相互轉換?
不支持,普通安全組和企業級安全組無法相互轉換。如需更換安全組類型,您可通過新建安全組并克隆安全組規則以更改安全組類型。具體操作,請參見創建安全組、導出和導入安全組規則、安全組與ECS實例關聯的管理和安全組與彈性網卡關聯的管理。
什么場景下我需要添加安全組規則?
在以下場景中,您需要添加安全組規則,以確保ECS實例能夠被正常訪問:
ECS實例所在的安全組沒有添加過安全組規則,也沒有默認安全組規則。當ECS實例需要訪問公網,或訪問當前地域下其他安全組中的ECS實例時,您需要添加安全組規則。
搭建的應用沒有使用默認端口,而是自定義了一個端口或端口范圍。此時,您必須在測試應用連通前放行自定義的端口或端口范圍。例如,您在ECS實例上搭建Nginx服務時,通信端口選擇監聽在TCP 8000,但您的安全組只放行了80端口,則您需要添加安全規則,保證Nginx服務能被訪問。
其他場景,請參見安全組應用案例。
安全組規則中協議和端口之間是什么關系?
添加安全組規則時,您必須指定通信端口或端口范圍,然后安全組根據允許或拒絕策略決定是否轉發數據到ECS實例。
安全組規則中協議和端口信息如下表所示。更多端口信息,請參見常用端口。
協議類型 | 端口顯示范圍 | 應用場景 |
全部 | -1/-1,表示不限制端口。不支持設置。 | 可用于完全互相信任的應用場景。 |
全部 ICMP(IPv4) | -1/-1,表示不限制端口。不支持設置。 | 使用 |
全部 ICMP(IPv6) | -1/-1,表示不限制端口。不支持設置。 | 使用 |
全部 GRE | -1/-1,表示不限制端口。不支持設置。 | 用于VPN服務。 |
自定義 TCP | 自定義端口范圍,有效的端口值是1 ~ 65535。 必須采用<開始端口>/<結束端口>的格式。例如80/80表示端口80,1/22表示1到22端口。 | 可用于允許或拒絕一個或幾個連續的端口。 |
自定義 UDP | 自定義端口范圍,有效的端口值是1 ~ 65535。 必須采用<開始端口>/<結束端口>的格式。例如80/80表示端口80,1/22表示1到22端口。 | 可用于允許或拒絕一個或幾個連續的端口。 |
其中,TCP協議類型端口的常用應用場景如下表所示。
應用場景 | 協議類型 | 端口顯示范圍 | 說明 |
連接服務器 | SSH | 22/22 | 用于SSH遠程連接到Linux實例。連接ECS實例后您可以修改端口號,具體操作,請參見修改服務器默認遠程端口。 |
TELNET | 23/23 | 用于Telnet遠程登錄ECS實例。 | |
RDP | 3389/3389 | 用于通過遠程桌面協議連接到Windows實例。連接ECS實例后您可以修改端口號,具體操作,請參見修改服務器默認遠程端口。 | |
網站服務 | HTTP | 80/80 | ECS實例作為網站或Web應用服務器。 |
HTTPS | 443/443 | ECS實例作為支持HTTPS協議的網站或Web應用服務器。 | |
數據庫 | MS SQL | 1433/1433 | ECS實例作為MS SQL服務器。 |
Oracle | 1521/1521 | ECS實例作為Oracle SQL服務器。 | |
MySQL | 3306/3306 | ECS實例作為MySQL服務器。 | |
PostgreSQL | 5432/5432 | ECS實例作為PostgreSQL服務器。 | |
Redis | 6379/6379 | ECS實例作為Redis服務器。 |
安全組規則授權對象中的IP地址和CIDR地址塊是什么關系?
IP地址是單一的IP地址,例如192.168.0.100、2408:4321:180:1701:94c7:bc38:3bfa:。CIDR地址塊是IP地址段,例如192.168.0.0/24、2408:4321:180:1701:94c7:bc38:3bfa:***/128。
CIDR(Classless Inter-Domain Routing)是互聯網中一種新的尋址方式,與傳統的A類、B類和C類尋址模式相比,CIDR在IP地址分配方面更為高效。CIDR采用斜線記法,表示為:IP地址/網絡ID的位數。
示例一:CIDR格式換算為IP地址網段
例如10.0.0.0/8,換算為32位二進制地址:00001010.00000000.00000000.00000000。其中/8表示8位網絡ID,即32位二進制地址中前8位是固定不變的,對應網段為:00001010.00000000.00000000.00000000~00001010.11111111.11111111.11111111。則換算為十進制后,10.0.0.0/8表示:子網掩碼為255.0.0.0,對應網段為10.0.0.0~10.255.255.255。
示例二:IP地址網段換算為CIDR格式
例如192.168.0.0~192.168.31.255,后兩段IP換算為二進制地址:00000000.00000000~00011111.11111111,可以得出前19位(8*2+3)是固定不變的,則換算為CIDR格式后,表示為:192.168.0.0/19。
為什么無法訪問TCP 25端口?
TCP 25端口是默認的郵箱服務端口。基于安全考慮,云服務器ECS的25端口默認受限,建議您使用465端口發送郵件。具體操作,請參見使用SSL加密465端口發送郵件。更多應用,請參見安全組應用案例。
為什么無法訪問80端口?
如何排查80端口故障,請參見檢查TCP 80端口是否正常工作。
為什么安全組里自動添加了很多內網相關的安全組規則?
以下兩種情況可能導致您的安全組里自動添加了很多規則:
如果您訪問過DMS,安全組中就會自動添加相關的規則,請參見添加DMS IP地址。
如果您近期通過阿里云數據傳輸DTS功能遷移過數據,安全組中會自動添加DTS的服務IP地址相關的規則。
安全組規則配置錯誤會造成什么影響?
安全組配置錯誤會導致ECS實例在私網或公網與其他設備之間的訪問失敗,例如:
無法從本地遠程連接(SSH)Linux實例或者遠程桌面連接Windows實例。
無法遠程
ping
ECS實例的公網IP。無法通過HTTP或HTTPS協議訪問ECS實例提供的Web服務。
無法通過內網訪問其他ECS實例。
安全組的入方向規則和出方向規則區分計數嗎?
不區分。每個安全組的入方向規則與出方向規則的總數不能超過200。更多信息,請參見使用限制。
是否可以調整安全組規則的數量上限?
不可以,每個安全組最多可以包含200條安全組規則。一臺ECS實例中的每個彈性網卡默認最多可以加入5個安全組,所以一臺ECS實例的每個彈性網卡最多可以包含1000條安全組規則,能夠滿足絕大多數場景的需求。
如果當前數量上限無法滿足您的使用需求,建議您按照以下步驟操作:
檢查是否存在冗余規則。您也可以提交工單,阿里云技術支持將提供檢查服務。
如果存在冗余規則,請清除冗余規則。如果不存在冗余規則,您可以創建多個安全組。
如果您已開通了云防火墻服務,也可以通過云防火墻創建VPC邊界訪問控制策略(管控兩個VPC間的流量),減少ECS安全組規則的數量。有關VPC邊界防火墻的詳細內容,請參見VPC邊界。
我配置的安全組規則,各規則的優先級排序是怎么樣的?
優先級的取值范圍為1~100,數值越小,代表優先級越高。
同類型安全組規則間的依賴優先級決定最終執行的規則。當ECS實例加入了多個安全組時,多個安全組會從高到低依次匹配規則。最終生效的安全組規則如下:
如果兩條安全組規則只有授權策略不同:拒絕策略的規則生效,允許策略的規則不生效。
如果兩條安全組規則只有優先級不同:優先級高的規則生效。
如何對安全組規則的不合規變更進行審計和預警?
您可以在配置審計(Config)中創建審計規則,對安全組規則的合規性進行審計,并將審計結果投遞到日志服務SLS中。當賬號下的安全組規則有不符合審計規則的變更時,您能夠通過日志服務SLS收到告警通知。更多信息,請參見對安全組規則的合規性進行審計和預警。
如何禁止RAM用戶(子賬號)配置安全組規則?
如果您需要禁止RAM用戶(子賬號)配置安全組規則,可以參考如下RAM配置,來禁用配置安全組規則的API接口。
{
"Version": "1",
"Statement": [
{
"Effect": "Deny",
"Action": [
"ecs:AuthorizeSecurityGroup",
"ecs:AuthorizeSecurityGroupEgress",
"ecs:RevokeSecurityGroup",
"ecs:RevokeSecurityGroupEgress",
"ecs:ModifySecurityGroupRule",
"ecs:ModifySecurityGroupEgressRule",
"ecs:ModifySecurityGroupPolicy",
"ecs:ModifySecurityGroupAttribute",
"ecs:ConfigureSecurityGroupPermissions"
],
"Resource": "*"
}
]
}
收到違法阻斷網站整改通知,怎么辦?
在互聯網有害信息記錄中,您可以查看存在有害信息的域名或URL、處罰動作、處罰原因及處罰時間。您在確認該域名或URL中的有害信息已經移除或不存在時,可以申請解除訪問封禁。更多信息,請參見互聯網有害信息。
收到對外攻擊需要整改的通知,怎么辦?
在處罰記錄中,您可以查看詳細的處罰結果、處罰原因及處罰時段。如果您不認同處罰結果,可以反饋申訴。收到您的處罰記錄反饋后,阿里云將再次核驗,確認處罰的正確性和有效性,并判斷是否繼續維持處罰或立即結束處罰。更多信息,請參見處罰列表。
如何查看資源的限額?
查看資源的使用限制和限額,請參見使用限制。