大家都知道,IP地址用于標識網絡中的計算機。TCP/IP協議把一個IP地址和另一個IP地址連接起來,形成了網絡。一臺計算機上通常運行著很多服務。例如,允許客戶訪問網頁的Web服務,允許管理員配置服務器的SSH服務,或者用于傳輸文件的FTP服務等。那么,怎么區分同一臺計算機上的不同服務呢?
為此,人們設計了端口的概念。端口由數字指定,即端口號。計算機上每種類型的服務都要提供一個端口,等待通信對端從動態端口發來的數據包。例如,Web服務常用的端口號是80(用于HTTP)或443(用于HTTPS)。當您瀏覽網頁時,您的瀏覽器隨機選擇一個端口,向Web服務器的80端口或者443端口發送數據包。一臺計算機通過端口發送數據包,另一臺計算機通過端口接收數據包。通信雙方的端口是數據包發送和接收的終點。
快遞員投遞包裹時,首先根據街道地址找到小區,然后在這個小區中根據門牌號找到收件人,把包裹送達。街道地址和門牌號構成了完整的投遞地址。在計算機的世界,如果我們把IP地址類比為街道地址,把服務類比為快遞員,那么端口就是門牌號。IP地址和端口構成了完整的通信地址,用于識別數據包的目的地。
開放端口(Open ports)是指主動接收數據包的端口。相應地,拒絕所有數據包的端口是關閉的端口(Closed ports)。如前所述,當計算機需要對外提供服務時,需要開放特定的端口。畢竟,你要接收包裹,就得給快遞員開門。
在特定端口上啟用了某個服務以后,該端口將僅供此服務使用,不能再用于其他目的(服務)。端口號分為三類。
端口號與服務的分配關系,可參考IANA網站。
嚴格意義上講,開放端口并不一定存在風險,任何一個特定的端口也并不一定比其他端口更安全或者更危險。
端口本身是中立的。開放端口是否存在風險,由使用端口的服務、管理服務的人來決定。當使用端口的服務存在漏洞、沒有及時打補丁,或者服務配置錯誤、安全策略不合理時,開放端口是危險的。
網絡攻擊通常從端口掃描開始。攻擊者將從開放端口的服務中尋找安全漏洞,并通過成功的漏洞利用非法訪問未授權的資源。例如:SMB協議用于組織內部共享文件夾、打印機和串行端口。由于協議本身設計存在缺陷,SMB協議被稱為永恒之藍的零日漏洞利用,導致WannaCry勒索病毒大爆發。在互聯網上公開此類服務,必將存在安全風險。除了查找漏洞,攻擊者還經常采用暴力破解。例如,針對RDP的暴力破解經常被用于勒索軟件攻擊,是最常見的入侵手法之一。
如果說開放端口有風險的話,那么這個風險就是,開放端口容易受到攻擊。開放任何端口都會增加攻擊面,并增加由于漏洞、配置錯誤和管理不足而受到威脅的可能性。
端口是為通信而存在的。組織應實施必要的審核程序,以確定是否開放端口。如果有運行某個服務的需求,開放相應的端口是有意義的。這時,應從合法渠道獲取應用軟件、及時檢查安全漏洞并實施安全加固措施,然后再正式開放端口。
如前所述,開放任何端口都會增加攻擊面,并增加受到威脅的可能性。如果沒有合理的通信需求,不要開放端口。
組織內部網絡中有大量計算機,每臺計算機上都可能開放了非必要的端口。你可以逐個計算機去關閉端口,也可以把這項工作交給防火墻。防火墻通常部署在網絡的出口,在防火墻上可以阻斷此類端口與外部網絡的通信。想象你有一個四合院(網絡),你可以關閉每個房間(計算機)的門窗(端口),你也可以依賴院墻,然后守好四合院的大門。
根據風險等級,端口可以簡單分類如下,風險等級依次降低。
常見的高危端口主要有以下五類,表1-1提供了常見高危端口的不完全列表,供參考。
表1-1 常見高危端口(不完全列表)
端口 | 協議 | 服務 | 建議處理動作 |
遠程管理服務 | |||
20、21 | TCP | FTP(文件傳輸協議) | 始終封禁,使用SSHv2替代,或者部署運維審計系統 |
22 | TCP | SSH(安全外殼協議) | 建議封禁,如必須使用,請務必使用SSHv2版本并采用強認證 |
23 | TCP | Telnet(遠程終端協議) | 始終封禁,使用SSHv2替代,或者部署運維審計系統 |
69 | TCP | TFTP(簡單文件傳送協議) | 始終封禁,使用SSHv2替代,或者部署運維審計系統 |
3389 | TCP | RDP(遠程桌面協議) | 始終封禁,如需遠程運維,請部署運維審計系統 |
5900-5902 | TCP | VNC(虛擬網絡控制臺) | 始終封禁,如需遠程運維,請部署運維審計系統 |
512-514 | TCP | Linux rexec(遠程登錄) | 始終封禁,如需遠程運維,請部署運維審計系統 |
873 | TCP | Rsync(數據鏡像備份工具) | 始終封禁,如需遠程運維,請部署運維審計系統 |
局域網服務 | |||
53 | TCP、UDP | DNS(域名系統) | 始終封禁 |
111、2049 | TCP | NFS(網絡文件系統) | 始終封禁 |
135 | TCP、UDP | RPC(遠程過程調用) | 始終封禁 |
137 | TCP、UDP | NBNS(NetBIOS名字服務) | 始終封禁 |
138 | TCP、UDP | NBDS(NetBIOS數據報文服務) | 始終封禁 |
139 | TCP、UDP | NBSS(NetBIOS會話服務) | 始終封禁 |
445 | TCP、UDP | SMB(網絡文件共享協議) | 始終封禁 |
161 | TCP、UDP | SNMP(簡單網絡管理協議) | 始終封禁 |
389 | TCP、UDP | LDAP(輕量目錄訪問協議) | 始終封禁 |
互聯網服務 | |||
25 | TCP | SMTP(簡單郵件傳輸協議) | 始終封禁,使用SMTPS替代 |
110 | TCP | POP3(郵局協議版本3) | 始終封禁,使用POP3S替代 |
143 | TCP | IMAP(郵件訪問協議) | 始終封禁,使用IMAPS替代 |
80、8000、8080、8888 | TCP | HTTP(超文本傳輸協議) | 建議封禁,使用HTTPS替代 |
數據庫 | |||
1433 | TCP | SQL Server(數據庫管理系統) | 始終封禁 |
1521 | TCP | Oracle(甲骨文數據庫) | 始終封禁 |
3306 | TCP | MySQL(數據庫) | 始終封禁 |
5000 | TCP | Sybase/DB2(數據庫) | 始終封禁 |
5432 | TCP | PostgreSQL(數據庫) | 始終封禁 |
6379 | TCP | Redis(數據庫) | 始終封禁 |
27017-27018 | TCP | MongoDB(數據庫) | 始終封禁 |
在封禁端口之前,請務必確認端口上未承載正常運行的服務。如有業務需要,請為該業務設置例外策略,并嚴格限制可訪問的源IP地址和源用戶。
下面以封禁135、137、138、139、445、3389為例,介紹安全策略的配置方法。
任何連接互聯網的服務都需要打開特定的端口才能正常工作。這些端口都可能成為攻擊者的目標。那么,如何保護這些風險端口?您可以從以下幾個方面來實施安全加固措施。
非加密協議使用明文傳輸數據包,攻擊者可以使用Wireshark等工具輕松捕獲網絡流量,查看明文傳輸的密碼等敏感信息。因此,請使用加密協議替代非加密協議,例如,使用SSH替代Telnet、FTP/TFTP,使用SSL加密HTTP、郵件協議,使用VPN保護通信等等。
使用最新的協議和軟件版本。很多協議的早期版本存在安全隱患。例如,SSHv1采用了不安全的密鑰交換算法,應將SSH服務配置為僅接受SSHv2連接。類似的,所有的服務和應用程序都應采用官方發布的正式版本,并保證及時更新。過時的版本、已經停止維護的版本,都可能存在公開的已知漏洞,且得不到及時的修復。
很多入侵是從破解用戶密碼開始的。采用強密碼策略可以防止弱密碼,避免密碼泄露,幫助組織更安全地抵御暴力破解。不同應用軟件支持的密碼策略各不相同,通常包括以下方面。
強認證(strong authentication)是融合了兩種以上不同類型的身份驗證因素的認證策略,可以提高身份驗證的安全性。最常見的強認證策略就是雙因子認證,用戶在登錄時不僅要提供用戶名/密碼,還需要提供與之綁定的物品(比如網上銀行普遍采用USB Key),或者動態口令(比如互聯網應用普遍采用短信驗證碼)。
把網絡劃分為不同等級的安全區域,并部署安全設備來檢查區域之間的通信。例如:
*******************************************************************************************************
防火墻通過協議和端口來定義服務,所以,如果想禁止訪問指定端口,只需在安全策略中配置預定義或自定義服務匹配條件,動作指定為禁止即可。
防火墻通過WEB配置策略限制端口訪問的方法如下:
1. 在防火墻的WEB界面中單擊“策略>安全策略”,然后單擊“新建”,新建安全策略。
2. 選擇“服務”匹配條件。既可以選擇預定義服務,也可以自定義服務然后在安全策略中引用。
3. 根據需要配置其他匹配條件,動作配置為“禁止”。
可通過CLI配置策略限制自定義端口訪問的示例如下:
# 禁止訪問tcp 2000 端口。
system-view
[sysname] ip service-set set1 type object
[sysname-object-service-set-set1] service protocol tcp destination-port 2000 //創建自定義服務
[sysname-object-service-set-set1] quit
[sysname] security-policy
[sysname] rule name policy_sec
[sysname-policy-security-rule-policy_sec] service set1 //安全策略中引用自定義服務
[sysname-policy-security-rule-policy_sec] action deny
手把手教你
如何設置電腦更安全
你的電腦設密碼了么?
password?還是123456?
這些弱口令破解起來,0.01秒都不到!
聽說過勒索病毒么?
不要以為它們離你很遠
也許你的電腦開了“后門”給黑客
你自己都不知道!
如果不想你的電腦
被黑客遠程操控
那就跟著我們一起學
手把手教你如何設置
才能讓我們的電腦更加安全
(以windows操作系統為例)
↓ ↓ ↓
設置一個屬于你的本地個人賬戶,登錄密碼必須為強密碼(至少包含8位,包括數字、大小寫字母和特殊符號,不包含姓名、生日、手機號碼等個人信息),密碼建議每隔30天進行更換。
1
點擊【控制面板】選擇【用戶賬戶】,選擇【更改賬戶類型】,選擇【更改賬戶名稱】,就可以修改本地你的個人登錄賬號。
2
在電腦【設置】中選擇【賬戶】,進入賬戶設置頁面后,可以看到【登錄選項】提供了多種登錄設置方式,可以點擊【密碼】,在【密碼】中設置復雜密碼確保賬號安全。
3
電腦的操作系統一般是支持多用戶的,不同的家庭成員使用同一臺電腦,可以通過設置不同的賬號來保留各自對操作系統的環境設置。在【賬戶】的【家庭和其他賬戶】中可以設置其他用戶的賬號和密碼信息。如果想創建的是本地賬戶,可以選擇“添加一個沒有Microsoft賬戶的用戶”。
設置屏幕自動保護的等待時間為5分鐘-10分鐘,且在恢復使用時使用密碼保護。
1
進入電腦【設置】,選擇【個性化】。
2
找到【鎖屏界面】,點擊【屏幕保護程序設置】。
3
設置等待時間為5-10分鐘,不宜過長,并且勾選【在恢復時顯示登錄屏幕】。這樣當你離開或者沒有操作電腦時,5-10分鐘之后會進入屏幕保護,如果要重新使用電腦,就必須再次輸入登錄密碼。
關閉電腦的遠程連接,也不要安裝任何第三方遠控軟件。
1
點擊【設置】,選擇【系統】,找到【遠程桌面】選項。
2
在遠程桌面選項卡下,選擇關閉“遠程桌面”。
關閉135、137、138、139、445和3389等高危端口。
1
在【控制面板】中選擇【系統和安全】,找到【Windows Denfender 防火墻】。
2
選擇【高級設置】,進入高級設置頁面,點擊左邊的【入站規則】,再點擊右邊的【新建規則】,選擇【端口】,進入下一步。其中高危端口135、139、445、3389屬于TCP端口,137、138屬于UDP端口。將對應的高危端口添加到規則中。
3
點擊【阻止連接】,進入下一步。選擇默認的全選應用范圍,進入下一步。再根據需要自定義規則名稱,例如“關閉高危TCP端口”。完成后,在【入站規則】中會看到添加的“關閉高危TCP端口”的規則。
除了上述幾點
使用電腦時
還有哪些需要注意的呢?
電腦安全不僅僅關系到
電腦本身的使用效果
與我們個人的數據安全
更是息息相關
提高網絡安全意識
做個生活中的有心人
多多了解網絡安全防護知識和技巧
為自己的電腦上一把“安心鎖”
微信公眾號 | 上海網警
編輯 | 曉蘇
監制 | 左潔
審核 | 則文