■ 西安 高鵬 解寶琦
編者按: 在整個(gè)網(wǎng)絡(luò)安全架構(gòu)建設(shè)中,邊緣系統(tǒng)安全防護(hù)也是必不可少的,本文整理了一系列邊緣系統(tǒng)安全加固的方法,希望能為讀者提供幫助。
隨著網(wǎng)絡(luò)網(wǎng)絡(luò)安全的薄弱環(huán)節(jié)已經(jīng)從攻擊網(wǎng)絡(luò)核心設(shè)備以及對(duì)服務(wù)器的直接攻擊逐步發(fā)展為應(yīng)用層滲透和通過(guò)以邊緣系統(tǒng)為跳板進(jìn)行的跳板和僵尸主機(jī)攻擊。這種攻擊方式常使早期的以保護(hù)核心區(qū)網(wǎng)絡(luò)安全架構(gòu)處于“千里之堤,毀于蟻穴”的尷尬之中,邊緣系統(tǒng)的安全是否達(dá)標(biāo)直接影響著網(wǎng)絡(luò)本身的安全。
邊緣系統(tǒng)的防護(hù)也應(yīng)該受到足夠的重視,為此邊緣系統(tǒng)的安全加固應(yīng)該成為網(wǎng)絡(luò)安全基礎(chǔ)工作的重要方面,以下是邊緣系統(tǒng)加固的方法初探,希望饕餮讀者。
(1)主機(jī)按照相應(yīng)密碼強(qiáng)度規(guī)則設(shè)置用戶(hù)名口令,并按照最小權(quán)限進(jìn)行用戶(hù)授權(quán)。
(2)主機(jī)安裝防病毒軟件并及時(shí)進(jìn)行病毒特征庫(kù)代碼升級(jí)。
(3)修改遠(yuǎn)程桌面登錄端口。
修改服務(wù)器端的端口設(shè)置,注冊(cè)表有以下2個(gè)地方需要修改:
“[HKEY_LOCAL_MACH INESYSTEMCurrentContr olSetControlTerminal ServerWdsrdpwdTdstcp]”
其中PortNumber值默認(rèn)是3389(十進(jìn)制方式查看),修改為自定義端口。
“[HKEY_LOCAL_MACH INESYSTEMCurrentContr olSetControlTerminal ServerWinStationsRDPTcp]”
其中PortNumber值默認(rèn)是3389(十進(jìn)制方式查看),修改為同上端口。
重啟遠(yuǎn)程桌面服務(wù)或者重啟系統(tǒng)。
連接時(shí)在使用Windows遠(yuǎn)程連接工具輸入“IP:端口”即可。
由于微軟已經(jīng)不再支持Windows XP系統(tǒng),針對(duì)該系統(tǒng)已經(jīng)不再有補(bǔ)丁升級(jí),需要使用如下步逐和方法進(jìn)行端口及服務(wù)關(guān)閉,確保系統(tǒng)安全,具體步逐如下:
(1)確認(rèn)本機(jī)是否啟用和開(kāi)放了 137、139、445、3389端口,在系統(tǒng)終端命令窗口中依次使用如下命令:
“n e t s t a t -a n |findstr 137
netstat -an | findstr 139
netstat -an | findstr 445”
netstat -an | findstr 3389系統(tǒng)依次返回如下信息說(shuō)明該端口處于開(kāi)放狀態(tài):
“UDP 10.106.61.73:137 *:*
TCP 10.106.61.73:1390.0.0.0:0 LISTENING
T C P 0.0.0.0:4 4 5 0.0.0.0:0 LSTENING
T C P [::]:4 4 5[::]:0 LISTENING
TCP 0.0.0.0:33890.0.0.0:0 LISTENING
(2)禁 止Windows共享,卸載如圖1兩個(gè)組件(此操作的目的是禁止445端口),點(diǎn)擊網(wǎng)絡(luò)連接,在此連接使用下列項(xiàng)目中直接卸載掉“Microsoft網(wǎng)絡(luò)客戶(hù)端”、“Micosoft網(wǎng)絡(luò)的文件和打印機(jī)共享”兩項(xiàng)協(xié)議,(實(shí)施完畢后,需要重啟系統(tǒng)生效)。
如果使用命令“netstat–an | findstr 445” 發(fā)現(xiàn)依然有返回信息,需要打開(kāi)注冊(cè)表編輯器,找到“HKEY-LOCAL-MACHINESYSTEM Current ControlServices NetBTParameters”分支,新建名為“SMBDeviceEnabled”的雙字節(jié)值(DWORD),將其數(shù)值設(shè)置為“0”。(實(shí)施完畢后,需要重啟系統(tǒng)生效)。
(3)禁 止 netbios(目的是禁止137,139端口),點(diǎn)擊“網(wǎng)絡(luò)連接→Internet協(xié)議版本4(TCP/IP)→高級(jí)→WINS”,點(diǎn)選“禁用TCP/IP上的NetBIOS(S)”選項(xiàng)。
圖1 直接卸載該兩項(xiàng)組件
圖2 檢查驗(yàn)證
(4)關(guān)閉遠(yuǎn)程智能卡(目的是關(guān)閉Windows智卡功能,避免RDP服務(wù)被攻擊利用),命令終端中輸入“gpedit.msc”,打開(kāi)組策略編輯器窗口,選擇“計(jì)算機(jī)配置→管理模塊→Windows組件→智能卡”,依次修改“啟用智能卡中的證書(shū)傳播”、“啟用智能卡中的橫證書(shū)傳播”、“強(qiáng)制從智能卡讀取所有證書(shū)”、“打開(kāi)智能卡即插即用服務(wù)”,將服務(wù)修改為“禁用”。
(5)檢查驗(yàn)證,通過(guò)執(zhí)行如圖2命令,無(wú)返回信息,說(shuō)明端口及服務(wù)已經(jīng)關(guān)閉。
安 裝KB4012212、KB40122215等系統(tǒng)漏洞補(bǔ)丁,可通過(guò)下載相應(yīng)版本的Windows 7系統(tǒng)補(bǔ)丁進(jìn)行補(bǔ)丁修補(bǔ)工作,完成后即可。
Windows Server系統(tǒng)因多數(shù)部署應(yīng)用系統(tǒng),補(bǔ)丁修補(bǔ)需進(jìn)行測(cè)試以及針對(duì)應(yīng)用系統(tǒng)的充分實(shí)驗(yàn),建議用戶(hù)可以先通過(guò)如下方法進(jìn)行135/139/445等端口關(guān)閉工作,待測(cè)試結(jié)束后按照相應(yīng)補(bǔ)丁應(yīng)用測(cè)試結(jié)果進(jìn)行系統(tǒng)補(bǔ)丁修補(bǔ)工作,關(guān)閉端口可以通過(guò)Windows Server防火墻配置策略并開(kāi)啟防火墻組件。
(1)本機(jī)Iptables防火墻安全加固。
修改/etc/sysconfig/iptables配置文件,添加如下內(nèi)容,系統(tǒng)即可只放行定義中的應(yīng)用端口,其他端口系統(tǒng)將對(duì)數(shù)據(jù)包進(jìn)行丟棄處理,規(guī)則如圖3所示。
以上規(guī)則已經(jīng)包含放行FTP、ssh、vnc、weblogic 以及阻斷138、139等端口規(guī)則。用戶(hù)可根據(jù)業(yè)務(wù)實(shí)際修改和補(bǔ)充規(guī)則列表。
(2)網(wǎng)絡(luò)參數(shù)優(yōu)化,防止TCP close_wait狀態(tài)擁塞。
編輯內(nèi)核參數(shù)文件/etc/sysctl.conf添加一下內(nèi)容:
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time =1800
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.ip_local_port_range =1024 65000
net.ipv4.tcp_max_syn_backlog =8192
net.ipv4.tcp_max_tw_buckets =5000
執(zhí)行命令生效 /sbin/sysctl -p
(3)修改SSH開(kāi)放端口及禁止ROOT用戶(hù)ssh登錄。
修 改/etc/ssh/sshd_config配置文件文件,以此修改如下行內(nèi)容:
“Port 3371
Protocol 2
PermitRootLogin no(默認(rèn)為yes)”
圖3 配置文件只放行定義中的應(yīng)用端口
Port為SSH開(kāi)放服務(wù)端口號(hào),默認(rèn)22,用戶(hù)可以根據(jù)自己業(yè)務(wù)以及管理規(guī)則進(jìn)行自定義修改。Protocol為SSH服務(wù)版本,建議修改為“2”以增加安全性。PermitRootLogin為SSH限制root用戶(hù)選項(xiàng),建議修改為“yes”以禁止root用戶(hù)進(jìn)行直接SSH登錄帶來(lái)的安全隱患。
在邊緣接入交換機(jī)上通過(guò)ACL訪(fǎng)問(wèn)控制列表禁用高危端口,防止高危端口產(chǎn)生的大流量對(duì)核心區(qū)交換機(jī)造成的流量沖擊,以及因此引發(fā)的交換機(jī)HANG死等問(wèn)題。具體方法如下:
(1)H3C路由器或交換機(jī)配置。
登錄相關(guān)網(wǎng)絡(luò)邊緣設(shè)備后加入如下訪(fǎng)問(wèn)規(guī)則并引用至相應(yīng)端口,具體方法如圖4所示(用戶(hù)可根據(jù)自己的端口實(shí)際情況進(jìn)行配置)。
(2)Cisco路由器或交換機(jī)配置。
Cisco網(wǎng)絡(luò)邊緣設(shè)備訪(fǎng)問(wèn)規(guī)則及引用具體方法如下(用戶(hù)可根據(jù)自己的端口實(shí)際情況進(jìn)行配置):
access-list 115 deny udp any any eq netbios-ns
access-list 115 deny udp any any eq netbios-dgm
access-list 115 deny udp any any eq netbios-ss
access-list 115 deny tcp any any eq 593
access-list 115 deny tcp any any eq 4444
access-list 115 deny udp any any eq 1433
access-list 115 deny udp any any eq 1434
access-list 115 deny udp any any eq 445
access-list 115 deny tcp any any eq 445
access-list 115 deny tcp any any eq 3389
access-list 115 deny udp any any eq 3389
a c c e s s-l i s t 1 1 5 permit ip any any //到這里為過(guò)濾規(guī)則
interface Vlan103
ip address *.*.*.*255.255.255.0
ip access-group 115 in //應(yīng)用規(guī)則到入方向
圖4 加入訪(fǎng)問(wèn)規(guī)則并引用至相應(yīng)端口
ip access-group 115 out //應(yīng)用規(guī)則到出方向
當(dāng)被設(shè)置為邊緣端口收到來(lái)自用戶(hù)的BPDU報(bào)文,則該邊緣端口會(huì)被關(guān)閉,僅有管理員能重新打開(kāi)。默認(rèn)情況下,交換機(jī)所有以太網(wǎng)端口均被配置為非邊緣端口,很容易因?yàn)樗浇咏粨Q機(jī)等行為出現(xiàn)二層環(huán)路,產(chǎn)生全網(wǎng)廣播風(fēng)暴,網(wǎng)絡(luò)抖動(dòng)或網(wǎng)絡(luò)擁塞等。這些端口設(shè)置為邊緣端口可以最大限度的保護(hù)STP的穩(wěn)定已經(jīng)很好的防止二層環(huán)路,配置如下。
(1)H3C交換機(jī)配置如下:
[switch]stp bpduprotection
[switch-Ethernet1/0/1]stp edged-port enable
“s t p b p d uprotection”命令為全局視圖下配置BPDU保護(hù)功 能,“stp edged-port enable”命令在具體端口去用BPDU保護(hù),用戶(hù)可根據(jù)實(shí)際進(jìn)行調(diào)整。
(2)Cisco交換機(jī)配置如下:
switch(config)#interface range f0/1 – 5
switch(config-ifrange)#spanning-tree portfast
switch(config-ifrange)#spanning-tree bpduguard enable
“interface range f0/1– 5” 命令選定 1-5號(hào)交換機(jī)端口,“spanning-tree portfast”命令設(shè)置端口為portfast模 式,“spanningtree bpduguard enable”命令設(shè)置端口進(jìn)行BPDU保護(hù),當(dāng)收到BPDU報(bào)文端將自動(dòng)關(guān)閉,從而防止了二層環(huán)路帶來(lái)的網(wǎng)絡(luò)抖動(dòng)。