本文主要介紹通過私網或本地公網訪問ECS執行個體上相關業務時,整個鏈路中可能引發訪問異常的關聯因素及可能導致的癥狀、訪問異常時的相關排查方案等內容。
背景資訊
在通過私網或本地公網訪問ECS執行個體時可能會引發訪問異常,本文介紹出現問題的關聯因素及可能導致的癥狀、排查方案和對異常問題進行測試並記錄測試結果的方法,具體內容如下:
本文暫不考慮阿里雲CDN或第三方CDN網路相關因素的影響。
ECS訪問異常關聯因素及可能導致的癥狀
從用戶端到服務端的整個鏈路上,可能引發訪問異常的關聯因素示意圖如下:
關聯因素可能導致的癥狀如下:
ECS執行個體訪問異常關聯因素說明
通過私網訪問異常時關聯因素說明
如果用戶端是通過私網訪問ECS執行個體,則其鏈路相對簡單。可能引發訪問異常的因素及導致的用戶端癥狀如下:
原始伺服器內部配置
關聯因素說明:
原始伺服器內部防火牆、安全軟體等安全性原則,或系統中毒等作業系統內部問題導致訪問異常。
可能癥狀及原因如下 :
ping丟包:原始伺服器中毒等作業系統內部問題導致網路異常。
ping不通:原始伺服器系統內安全軟體等安全性原則禁止ping。
所有連接埠telnet都不通:原始伺服器中毒等作業系統內部問題導致網路異常。
只有部分連接埠telnet不通:原始伺服器系統內安全軟體等安全性原則禁止了對部分連接埠的訪問。
原始伺服器安全性群組配置
關聯因素說明:
原始伺服器歸屬安全性群組規則阻斷了對目標伺服器的訪問。
可能癥狀及原因如下:
ping不通:原始伺服器出方向配置了禁止ping的規則。
所有連接埠telnet都不通:原始伺服器出方向為所有連接埠配置了drop規則。
只有部分連接埠telnet不通:原始伺服器出方向為指定連接埠配置了drop規則。
負載平衡白名單
關聯因素說明:
如果目標伺服器是負載平衡,則相應監聽連接埠開啟白名單後,只有指定的IP地址或IP位址區段地址才能對其訪問。
可能癥狀及原因如下:
只有部分連接埠telnet不通,即原始伺服器IP地址不在白名單之內,導致無法訪問相應監聽連接埠。
目標伺服器安全性群組配置
關聯因素說明:
目標伺服器歸屬安全性群組規則阻斷了原始伺服器的訪問。
可能癥狀及原因如下 :
ping不通:目標伺服器入方向配置了禁止ping的規則。
所有連接埠telnet都不通:目標伺服器入方向為指定連接埠配置了drop規則。
只有部分連接埠telnet不通:目標伺服器入方向為所有連接埠配置了drop規則。
目標伺服器內部配置
關聯因素說明:
目標伺服器內部防火牆、安全軟體等安全性原則,或系統中毒等作業系統內部問題導致訪問異常。
可能癥狀及原因如下:
ping丟包:目標伺服器中毒等作業系統內部問題導致訪問異常。
ping不通:目標伺服器系統內安全軟體等安全性原則禁止ping。
所有連接埠telnet都不通:目標伺服器中毒等作業系統內部問題導致訪問異常。
只有部分連接埠telnet不通:目標伺服器系統內安全軟體等安全性原則禁止了對部分連接埠的訪問。
通過公網訪問異常時關聯因素說明
如果用戶端通過公網訪問ECS執行個體,則涉及的關聯因素較多,主要關聯因素如下:
用戶端網路環境
對於用戶端網路環境,可能引發訪問異常的因素及導致的用戶端癥狀如下:
使用者本網
關聯因素說明:
如果使用者本網存在異常,可能會導致部分IP地址或所有IP地址無法正常訪問。
可能癥狀及原因如下:
目標伺服器無法訪問,其它非阿里雲的IP地址也無法訪問。
本地DNS劫持
關聯因素說明:
使用者本網或當地電訊廠商有DNS劫持行為,導致訪問目標伺服器關聯業務時,出現非正常跳轉或者被插入廣告。
可能癥狀及原因如下:
非正常跳轉:DNS劫持導致訪問目標伺服器關聯業務時,跳轉到了其它無關連網站。
被插入廣告:DNS劫持導致訪問目標伺服器關聯業務時,頁面被插入廣告。
電訊廠商網路環境
對於電訊廠商網路環境,可能引發訪問異常的因素及導致的用戶端癥狀如下:
電訊廠商網路原則
關聯因素說明:
電訊廠商根據其策略,可能會進行DNS劫持,或阻斷某些IP、網域名稱或連接埠的訪問。
可能癥狀及原因如下:
被插入廣告:DNS劫持導致訪問目標伺服器關聯業務時,頁面被插入廣告。
網域名稱無法訪問但IP地址訪問正常:電訊廠商對某些違規網域名稱的訪問做了阻斷。
所有連接埠telnet都不通:電訊廠商對某些違規IP地址的訪問做了阻斷。
只有部分連接埠telnet不通:電訊廠商對某些高危連接埠的訪問做了阻斷。
備案
關聯因素說明:
對於境內伺服器,根據行政管控要求,需要進行備案。
可能癥狀及原因如下:
非正常跳轉:目標伺服器關聯網域名稱未備案,導致訪問關聯業務時,跳轉到了備案提示頁面。
網域名稱無法訪問但IP地址訪問正常:目標伺服器關聯網域名稱未備案,導致訪問時,跳轉到了備案提示頁面,但通過IP地址訪問無影響。
阿里雲網路環境
對於阿里雲網路環境,可能引發訪問異常的因素及導致的用戶端癥狀如下:
Security Center-肉雞關停
關聯因素說明:
目標伺服器因肉雞、中毒等問題,持續對外攻擊,被Security Center關停。
可能癥狀及原因如下:
ping不通:伺服器被關停導致無法ping通。
所有連接埠telnet都不通:伺服器被關停導致所有連接埠都不通。
Security Center-訪問攔截
關聯因素說明:
原始伺服器因持續掃描探測、攻擊等行為,被Security Center阻斷。
說明如果原始伺服器本網是通過NAT共用方式訪問公網的,則攻擊源不一定是客戶自身伺服器,而可能是同網路內其它伺服器。由於共用相同的公網IP,導致Security Center阻斷相應IP後,原始伺服器的訪問也受到了波及和影響。
可能癥狀及原因如下:
ping不通:原始伺服器IP被Security Center攔截,導致禁止ping。
所有連接埠telnet都不通:原始伺服器IP被Security Center攔截,導致所有連接埠都無法訪問。
綠網-違規屏蔽
關聯因素說明:
目標伺服器相關URL存在違規內容,訪問被阻斷。
可能癥狀及原因如下:
非正常跳轉:原始伺服器業務異常,導致相關訪問跳轉到了DDoS高防或Web Application Firewall來源站點異常提示頁面。
部分URL無法訪問:被Web Application Firewall規則命中的相應URL,用戶端無法正常訪問,會跳轉到了相應的阻斷提示頁面。
DDoS高防和Web Application Firewall
關聯因素說明:
目標伺服器業務異常,或者原始伺服器相關訪問行為被DDoS高防或Web Application Firewall攔截規則命中,導致訪問異常。
可能癥狀及原因如下:
ping不通:伺服器被關停導致無法ping通。
所有連接埠telnet都不通:伺服器被關停導致所有連接埠都不通。
負載平衡白名單
關聯因素說明:
如果目標伺服器是負載平衡,則相應監聽連接埠開啟白名單後,只有指定的IP或IP段地址才能對其訪問。
可能癥狀及原因:
只有部分連接埠telnet不通,即原始伺服器IP不在白名單之內,導致無法訪問相應監聽連接埠。
目標伺服器安全性群組配置
關聯因素說明:
目標伺服器歸屬安全性群組規則阻斷了原始伺服器的訪問。
可能癥狀及原因如下:
ping不通:目標伺服器入方向配置了禁止ping規則。
所有連接埠telnet都不通:目標伺服器入方向為指定連接埠配置了drop規則。
只有部分連接埠telnet不通:目標伺服器入方向為所有連接埠配置了drop規則。
目標ECS伺服器內部環境
對於目標ECS伺服器的相關環境,可能引發訪問異常的因素及導致的用戶端癥狀如下:
目標伺服器欠費停機
關聯因素說明:
目標伺服器欠費停機導致無法訪問。
可能癥狀及原因如下:
ping不通:目標伺服器欠費停機導致無法ping通。
所有連接埠telnet都不通:目標伺服器欠費停機導致所有連接埠無法訪問。
目標伺服器內部配置
關聯因素說明:
目標伺服器內部防火牆、安全軟體等安全性原則,或系統中毒等作業系統內部問題導致訪問異常。
可能癥狀及原因如下:
ping丟包:目標伺服器中毒等作業系統內部問題導致訪問異常。
ping不通:目標伺服器系統內安全軟體等安全性原則禁止ping。
所有連接埠telnet都不通:目標伺服器中毒等作業系統內部問題導致訪問異常。
只有部分連接埠telnet不通:目標伺服器系統內安全軟體等安全性原則禁止了對部分連接埠的訪問。
軟體源地址存取控制
關聯因素說明:
目標伺服器內部業務軟體對源 IP 做了存取控制,導致原始伺服器無法訪問。
可能癥狀及原因如下:
只有部分連接埠telnet不通,即相應連接埠對應業務軟體對源IP做了存取控制,阻斷了原始伺服器的訪問。
ECS雲端服務器訪問異常問題排查流程圖
對於ECS訪問異常問題,基本排查思路如下ECS伺服器訪問異常問題排查流程圖所示。
ECS訪問異常問題排查思路及處理辦法
對於ECS訪問異常問題,排查思路分為如下兩個方面:
通過私網訪問異常時排查思路
如果用戶端通過私網訪問,則訪問異常時,可通過如下步驟進行判斷、排查分析和處理。即從其它不同伺服器同時訪問目標伺服器做對比測試,查看所有伺服器訪問目標伺服器是否存在異常。
所有伺服器訪問目標伺服器均存在異常
如果所有伺服器訪問目標伺服器均存在異常, 則推斷是目標伺服器歸屬安全性群組或伺服器內部自身存在異常所致,需要做進一步排查分析查看伺服器內部訪問是否正常,即通過使用管理終端串連Linux執行個體登入伺服器,然後在伺服器內部使用127.0.0.1做對比訪問測試,查看伺服器內部是否正常。
目標伺服器內部訪問存在異常
如果目標伺服器內部訪問也存在異常,則需要聯絡業務供應商或者業務營運人員,檢查代碼配置、軟體運行狀態。
目標伺服器內部訪問正常
如果伺服器內部訪問是正常的,則需要檢查目標伺服器歸屬安全性群組和作業系統內相關安全軟體的安全配置,排查是否對原始伺服器做了阻斷。安全性群組的常見使用問題,請參見安全性群組FAQ。
如果排查分析安全性群組和作業系統內安全軟體配置後,均未見明顯異常,則請參見網路異常時抓包操作說明,在出現異常時,從用戶端和服務端同時並發抓包,然後提交工單聯絡阿里雲支援人員,提交抓包結果。
只有原始伺服器訪問目標伺服器存在異常。
如果只有原始伺服器訪問存在異常,則推斷是原始伺服器歸屬安全性群組、伺服器內部自身存在異常或原始伺服器到目標伺服器之間的網路存在異常所致。需要做進一步排查分析查看telnet連接埠測試是否正常,即從原始伺服器訪問目標伺服器是否只是ping不通而連接埠訪問正常。
原始伺服器ping不通目標伺服器,但telnet連接埠測試正常
如果只是ping不通,但連接埠訪問正常,則需要檢查目標伺服器歸屬安全性群組和作業系統內相關安全軟體的安全配置,是否對原始伺服器做了禁止ping。安全性群組的常見使用問題,請參見安全性群組FAQ。
原始伺服器到目標伺服器的telnet及ping測試均異常
如果telnet連接埠及ping測試均有異常,則需要進一步排查。從原始伺服器內部ping自身網關,查看是否正常。
原始伺服器ping自身網關異常。
如果原始伺服器ping自身網關也存在異常,例如ping不通或ping丟包,則需要通過系統日誌等檢查原始伺服器自身運行狀態,比如伺服器負載、網路設定等。
原始伺服器ping自身網關正常。
如果原始伺服器ping自身網關正常,則需要進一步排查。從原始伺服器內部ping目標伺服器網關,查看看是否正常。
原始伺服器ping目標網關正常。
如果原始伺服器ping自身網關和目標伺服器網關都正常,則需要通過系統日誌等檢查目標伺服器自身運行狀態,比如伺服器負載、網路設定等。
原始伺服器ping目標網關也不正常。
如果原始伺服器ping自身網關正常,但ping目標伺服器網關存在異常,即ping不通或丟包,則判斷可能是中間網路異常所致。則請參見網路異常時抓包操作說明,在出現異常時,從用戶端和服務端同時並發抓包,然後提交工單聯絡阿里雲支援人員,提交抓包結果。
通過公網訪問異常時排查思路
如果用戶端通過公網訪問,則訪問異常時,可通過如下步驟進行判斷、排查分析和處理。
URL訪問問題判斷:當用戶端訪問目標伺服器業務時,是否出現了頁面被插入廣告的情況。
頁面被插入廣告
如果是頁面被插入廣告情況,則需要檢查系統內部訪問是否正常,即通過使用管理終端串連Linux執行個體登入伺服器,在伺服器內部使用127.0.0.1做對比訪問測試,查看是否正常。
目標伺服器系統內部訪問也存在異常。
如果目標伺服器內部訪問也存在異常,則需要聯絡業務供應商或者業務營運人員,檢查代碼配置、軟體運行狀態。
目標伺服器系統內部訪問正常。
如果目標伺服器內部訪問正常,則判斷是由於本網異常或者本地電訊廠商劫持所致。使用者可以嘗試修改本地DNS伺服器位址,查看問題能否解決。如果還有問題,建議聯絡本網部門排查分析,或向當地電訊廠商進行問題反饋。
頁面沒有被插入廣告
如果不是頁面被植入廣告問題,則需要查看用戶端訪問目標伺服器業務時,相關URL是否出現了非正常跳轉。
頁面出現了非正常跳轉。
如果是頁面出現了非正常跳轉,則通過使用管理終端串連Linux執行個體,然後在伺服器內部使用127.0.0.1做對比訪問測試,查看是否正常。
目標伺服器系統內部訪問也存在異常。
如果目標伺服器內部訪問也存在異常,則需要聯絡業務供應商或者業務營運人員,檢查代碼配置、軟體運行狀態。
目標伺服器系統內部訪問正常。
如果目標伺服器內部訪問正常,則可以根據跳轉到的頁面做進一步處理:
未備案提醒頁面處理:網站備案後還是提示未備案,請參見網域名稱或網站無法訪問如何排查?。
DDoS高防異常頁面:Security CenterDDoS高防出現502報錯,請參見配置高防後業務訪問報502錯誤。Security CenterDDoS高防出現504報錯,請參見配置高防後訪問網站提示504錯誤。
綠網阻斷頁面:頁面如何解除屏蔽,請參見互連網有害資訊。
Web Application Firewall阻斷頁面:Security CenterWeb Application Firewall返回405錯誤時,請參見遇到405報錯怎麼解決。
頁面沒有出現非正常跳轉
如果不是頁面非正常跳轉問題,則參見後續步驟進一步排查分析。
問題範圍判斷:如果不是URL訪問異常問題,則需要通過對比分析確定問題範圍。即通過第三方撥測平台,從全國各地做對比訪問測試,判斷是否所有網路訪問目標伺服器都存在同樣異常。
所有網路訪問均存在異常
如果經過測試,所有外部網路訪問均存在異常,則通過使用管理終端串連Linux執行個體,在伺服器內部使用127.0.0.1做對比訪問測試,查看是否正常。
目標伺服器系統內部訪問也存在異常。
如果目標伺服器內部訪問也存在異常,則需要聯絡業務供應商或者業務營運人員,檢查代碼配置、軟體運行狀態。
目標伺服器系統內部訪問正常
如果目標伺服器內部訪問正常,則需要檢查目標伺服器安全性群組及系統內安全配置,是否對原始伺服器的訪問做了限制。安全性群組的常見使用問題,請參見安全性群組FAQ。
只有原始伺服器訪問目標伺服器存在異常
如果只有原始伺服器訪問存在異常,則參見後續步驟進一步排查分析。
問題現象判斷:如果只有原始伺服器訪問存在異常,則需要通過ping或telnet等測試做進一步排查分析。即在用戶端ping目標伺服器IP地址,查看是否正常。
能ping通目標伺服器
如果用戶端ping目標伺服器丟包或不通,則可能是中間鏈路或對端伺服器存在異常所致,則需要通過MTR鏈路測試做進一步排查分析。鏈路測試操作說明,請參見ping丟包或不通時鏈路測試說明。
能ping通目標伺服器,但是連接埠訪問不通
如果ping目標伺服器正常,但是連接埠訪問不通,則查看目標伺服器歸屬安全性群組或系統內部安全設定,確認是否有策略阻斷了用戶端對相應連接埠的訪問。
目標伺服器阻斷了用戶端對某些連接埠的訪問。
如果確認有對原始伺服器的阻斷策略,則需要進行相應調整。安全性群組的常見使用問題,請參見安全性群組FAQ。
目標伺服器沒有阻斷策略。
如果目標伺服器沒有針對原始伺服器的阻斷策略,則可能是被電訊廠商攔截所致,則需要通過tracetcp等工具對連接埠阻斷情況做進一步跟蹤分析。連接埠可用性探測說明,請參見能ping通但連接埠不通時連接埠可用性探測說明。
ECS訪問異常問題工單提交須知
如果您在上述排查操作中,需要進行相關的測試並記錄測試結果,則您可以參考如下操作:
用戶端通過私網進行訪問
如果用戶端是通過私網進行訪問的,則請參見如下步驟依次進行測試並記錄測試結果:
通過不同伺服器向目標伺服器做相同的訪問測試,查看是否有同樣的異常癥狀。
ping目標伺服器IP,查看是否正常。
telnet目標伺服器相應連接埠,查看是否正常。
原始伺服器ping自身網關,查看是否正常。
目標伺服器ping自身網關,查看是否正常。
原始伺服器ping目標伺服器網關,查看是否正常。
目標伺服器ping原始伺服器網關,查看是否正常。
根據實際情況確認是否要進行抓包,當需要抓包時,請參見網路異常時抓包操作說明,在出現異常時從原始伺服器和目標伺服器抓包。
用戶端通過公網進行訪問
如果用戶端是通過公網進行訪問的,則請參見如下步驟依次進行測試並記錄測試結果:
從不同地區不同網路環境,向目標伺服器做同樣的訪問測試,查看是否存在同樣的異常癥狀。
查看異常情況是否是頁面被插入廣告。
查看異常情況是否是頁面出現了異常跳轉。
在用戶端ping目標伺服器,查看是否正常。
如果ping存在異常,例如丟包或中斷,則參見ping丟包或不通時鏈路測試說明進行測試,並記錄測試資料。
在用戶端telnet目標伺服器相應業務連接埠,查看是否正常。
如果ping正常,但連接埠無法訪問,則參見能ping通但連接埠不通時連接埠可用性探測說明進行測試,記錄測試資料。
根據實際情況確認是否要進行抓包,當需要抓包時,請參見網路異常時抓包操作說明,在出現異常時從原始伺服器和目標伺服器抓包。