網(wǎng)絡(luò)攻擊肆虐-給你的網(wǎng)絡(luò)設(shè)備來套防彈衣吧!
網(wǎng)絡(luò)攻擊 無處不在
2018年1月,大家仍像往常一樣忙忙碌碌,IT設(shè)備機房內(nèi)設(shè)備轟隆隆的風(fēng)扇聲嘈雜而響亮,一切看似那么正常。
可是,如果換個視角看看設(shè)備里面的數(shù)字世界,風(fēng)景完全不同。數(shù)據(jù)包暗流涌動,爭先恐后搶著到達世界的盡頭。
俗話說,有人的地方就有江湖。而被人操控的網(wǎng)絡(luò)世界,免不了殺機四伏。
看看上面這張圖,這可不是我個人PS上去的煙花圖。它是實實在在的世界級的網(wǎng)絡(luò)攻擊流量圖。各式各樣的攻擊流量跨越國界影響著每一臺互聯(lián)網(wǎng)設(shè)備。
在個人電腦難逃網(wǎng)絡(luò)攻擊魔爪的情況下,網(wǎng)絡(luò)設(shè)備怎能獨善其身??
根本不可能,網(wǎng)絡(luò)設(shè)備也是攻擊者的目標(biāo)之一,而且是重要目標(biāo),除非你把電源線拔了。
這就好比打蛇打七寸,攻擊者如果想制造大范圍的互聯(lián)網(wǎng)故障,拿下網(wǎng)絡(luò)設(shè)備相比嘗試攻克各個終端目標(biāo)劃算得多。
老板,給我的網(wǎng)絡(luò)設(shè)備來套防彈衣!
怎么避免被攻擊者攻陷,做安全加固啊!有本事咱就給它套上一個金鐘罩鐵布衫,刀槍不入。
網(wǎng)絡(luò)設(shè)備安全加固怎么做?
常見的做法:
我相信很多朋友腦海里面首先浮現(xiàn)的是采用類似ACL訪問控制列表的方法,只允許信任的管理員訪問管理設(shè)備,限制特定的協(xié)議等。
- 路由器或交換機接口配置ACL允許特定流量。
- 限制特定網(wǎng)段使用SSH、HTTPS等訪問設(shè)備。
這就夠了么?
1.如何限制網(wǎng)絡(luò)設(shè)備的帶內(nèi)帶外安全?
2.如何只允許特定源地址連接設(shè)備協(xié)議,如BGP等?
3.是否關(guān)閉了不必要的網(wǎng)絡(luò)服務(wù)?
4.是否正確配置了設(shè)備日志記錄,記錄設(shè)備登陸記錄以及其他網(wǎng)絡(luò)管理痕跡?
5.配置是否定期保存,以免意外故障發(fā)生?
我是土豪,找第三方安全公司做安全掃描。
或者,如果你是土財主,可以直接找第三方安全公司做安全掃描,并根據(jù)評估報告進行整頓。但是會花費一筆不小的費用。
我是動手族,自己干,一把梭!
其實,除了花錢,我們還可以選擇自己動手解決問題,一方面節(jié)約了公司成本,也鍛煉了個人技能。這么好的事情,何樂而不為呢?
故此,為了滿足部分葛朗臺土豪的需求,認真貫徹自己動手,豐衣足食的精神。本文特地總結(jié)了一套網(wǎng)絡(luò)設(shè)備安全加固的思維方法,供大家參考。
拋磚引玉,以Juniper為例一步步教你網(wǎng)絡(luò)設(shè)備安全加固。
既然要討論網(wǎng)絡(luò)設(shè)備加固,我們需要以一個特定的產(chǎn)品來作為展示對象, 因為本人長期使用Juniper設(shè)備,就以其產(chǎn)品為例給大家講述。
同時,需要說明的是,以下內(nèi)容并不僅是局限在Juniper設(shè)備,大家除了了解Juniper的加固方式以外,最重要的是理解這一套思維方法,并應(yīng)用到你身邊對應(yīng)的廠商設(shè)備。
基本功:確保設(shè)備軟件沒有重大bug并安裝廠商建議的OS操作系統(tǒng)
實時關(guān)注系統(tǒng)bug
這一步尤其重要,但是又極其容易被忽略。
蒼蠅不叮無縫蛋,網(wǎng)絡(luò)攻擊亦然。如果攻擊者只是盯著大家都會去關(guān)注的網(wǎng)絡(luò)安全,例如嘗試碰運氣telnet登錄設(shè)備等。那這個攻擊者水平就值得懷疑了。
所以真正的攻擊者,是攻擊那些他知道而你不知道的系統(tǒng)Bug漏洞。很顯然,實時掌握系統(tǒng)bug漏洞非常有必要,就拿我自己來說。我隔一小段時間就要去看看當(dāng)前Juniper設(shè)備運行的JUNOS軟件是否爆出重大bug,然后提出修補建議。(領(lǐng)導(dǎo)會覺得你很高瞻遠矚,漲工資哦!)
如何查看JUNOS系統(tǒng)漏洞
方法一:查看Juniper網(wǎng)站bug庫: https://kb.juniper.net/InfoCenter/index?page=content&channel=SECURITY_ADVISORIES
方法二:查閱Juniper網(wǎng)站Problem Search 軟件bug庫:https://prsearch.juniper.net
通過定期查閱你所使用的JUNOS系統(tǒng)Bug信息并根據(jù)Juniper建議采取相關(guān)措施,從而大大避免因為系統(tǒng)bug從而導(dǎo)致網(wǎng)絡(luò)癱瘓的問題。
安裝廠商建議的OS操作系統(tǒng)
這一步非常好理解,一般情況網(wǎng)絡(luò)設(shè)備廠商會建議你使用某個版本的OS系統(tǒng)。它是根據(jù)廠商統(tǒng)計以及客戶反饋匯總后,廠商認為此版本系統(tǒng)相對較穩(wěn)定,bug相對較少。
Juniper廠商建議OS系統(tǒng)匯總
https://kb.juniper.net/InfoCenter/index?page=content&id=KB21476&actp=METADATA
肉身都保不住了,還談什么靈魂:設(shè)備物理安全
什么是物理設(shè)備安全,物理設(shè)備安全包含但不僅限于如下:
- 設(shè)備物理環(huán)境安全。
- 設(shè)備實際端口、接口安全。
- 設(shè)備顯示屏安全。
設(shè)備物理環(huán)境安全
網(wǎng)絡(luò)設(shè)備一般都安裝于機房特定機架上。但是如果機房安全環(huán)境較差,隨時可以有人員進入機房挪動已經(jīng)在網(wǎng)的網(wǎng)絡(luò)設(shè)備,或者實施斷電,插拔線纜等操作。那其他的一切安全問題都是浮云。
正如戀愛中的女孩總是給男孩說:“如果連基本的安全感你都給不了我,還談個屁的愛情啊!”
所以,工程師們,給你們的網(wǎng)絡(luò)設(shè)備買套好點的“房子”,給他們點安全感吧。例如我之前OOB文章《構(gòu)建帶外OOB網(wǎng)絡(luò)》中提到的,采用機架門鎖+感應(yīng)器的方式保障設(shè)備安全。
設(shè)備端口安全
Console 接口安全
Console接口作為設(shè)備的管理接口。論重要性,沒有任何其他帶內(nèi)帶外管理方式能夠與之相提并論。
日常運維中,總免不了需要去現(xiàn)場通過console調(diào)試設(shè)備。當(dāng)工程師用console登陸設(shè)備以后,往往忘了logout登出系統(tǒng)。而是直接拔出console線。其危害是,其他人員可以隨后插線通過console登陸設(shè)備無需任何驗證,直接使用前一位用戶的權(quán)限通過console對網(wǎng)絡(luò)設(shè)備執(zhí)行各種操作。
換而言之,假如前一位工程師使用root賬戶登陸,那隨后的攻擊者同樣也處于root模式下,可以隨時對設(shè)備進行離線,重啟,關(guān)機等重大操作。
安全設(shè)置建議
1.開啟logout-on-disconnect功能,拔除console線以后直接登出當(dāng)前用戶。
[edit system ports]
GingerBeer@Juniper# set console log-out-on-disconnect2.禁止console接口上使用root賬戶登陸。
[edit system ports]
GingerBeer@Juniper# set console insecure
3.使狠招:關(guān)閉console接口。在某些特定情況,例如在無法保證設(shè)備的物理環(huán)境安全的情況下,為了避免有人惡意使用console猜測密碼或者執(zhí)行其他任務(wù),可以直接關(guān)閉console接口。
[edit system ports]
GingerBeer@Juniper# set console disable
輔助接口以及設(shè)備板卡診斷接口安全
Auxiliary Port 輔助接口
輔助接口,一般情況下沒幾個人用。它主要有兩個功能。第一是可以連接一個外界modem,通過modem撥號后連接遠端場所,遠端可以通過此modem管理設(shè)備。輔助接口有時候可以作為第二個console使用。
既然大家平時都不用,所以最好把它關(guān)閉。以Junos為例,Junos默認情況下是關(guān)閉了Auxiliary接口,雖然配置里面看不出來。但是從安全角度出發(fā),可以顯式配置關(guān)閉Auxiliary輔助接口。
顯式關(guān)閉輔助接口
[edit system ports]
GingerBeer@Juniper# set auxiliary disable
板卡診斷接口
對于高端路由器或者交換機而言,一般會存在兩個Routing Engine路由引擎卡,兩個交換矩陣板卡,多個業(yè)務(wù)板卡。
而就在交換矩陣板卡上,會存在一個類似于路由引擎的console接口的東西。其意義為若有一些故障需要從板卡層面診斷的話,可以通過連接交換板卡的診斷口來收集信息。
從安全角度而言,診斷接口一般沒有密碼。對你沒看錯,沒-有-密-碼。
以Juniper為例,某些SCB,SSB,SFM,F(xiàn)EB卡會存在此診斷接口。從安全角度,我們應(yīng)該給他設(shè)置密碼驗證。
診斷接口設(shè)置密碼驗證
設(shè)置方法如下:
[edit system]
GingerBeer@Juniper# set diag-port-authentication plain-text-password
New password: <password>
Retype new password: <password>
[edit system]
或
GingerBeer@Juniper# set pic-console-authentication plain-text-password
New password: <password>
Retype new password: <password>
[edit system]
GingerBeer@Juniper#
USB接口安全
USB提供了便捷的文件傳輸和存儲擴展,基于你的安全需求,你可以考慮關(guān)閉它。
[edit chassis]
GingerBeer@Juniper# show
usb {
storage {
disable;
}
}
[edit chassis]
GingerBeer@Juniper#
設(shè)備顯示屏安全
這一點很有趣,在某些交換機上,會有一個小小的LCD的單色屏幕,旁邊一般會有幾個小小的按鈕。可別小看了這個LCD顯示屏。通過這個屏幕可以執(zhí)行一些基本的系統(tǒng)維護和控制功能,例如離線板卡,重置系統(tǒng)配置等。所以若不常用其功能,我們可以選擇關(guān)閉LCD屏幕的操作功能。
鎖掉LCD屏幕操作功能,只許看,不許摸!
[edit]
GingerBeer@Juniper# set chassis craft-lockout
讓系統(tǒng)變得簡單,關(guān)閉不必要的服務(wù)
總的來說,類似于路由器,交換機甚至防火墻等設(shè)備。其安全性要高于服務(wù)器,原因在于網(wǎng)絡(luò)設(shè)備一般默認開啟的服務(wù)遠遠少于服務(wù)器。
既然做安全加固,就需要一種雞蛋里面挑骨頭的精神,讓我們來看看在網(wǎng)絡(luò)設(shè)備上還能關(guān)閉什么不必要的服務(wù)。
關(guān)閉自動安裝配置服務(wù)
很多Juniper設(shè)備初始環(huán)境下,為了迎合自動化需求,例如大批量配置設(shè)備。默認是開啟了自動安裝配置功能。從安全角度來說,如果你不需要此功能,可以選擇關(guān)閉它。
關(guān)閉自動安裝
[edit]
GingerBeer@Juniper# delete system autoinstallation僅限Juniper SRX,關(guān)閉從USB自動安裝
[edit]
GingerBeer@Juniper# set system autoinstallation usb disable
關(guān)閉ICMP重定向
ICMP重定向是路由器向IP數(shù)據(jù)包的發(fā)送者發(fā)送的通知,以通知他們到達特定目標(biāo)主機或網(wǎng)絡(luò)的更好方式。 收到重定向后,源設(shè)備應(yīng)修改其路由的方式,然后通過路由器建議的下一跳發(fā)送后續(xù)數(shù)據(jù)包。
攻擊者可以利用ICMP重定向的特性,向路由器發(fā)送大量的非最優(yōu)路由的數(shù)據(jù)包,促使路由器返回成千上萬的ICMP重定向,從而實現(xiàn)DDOS攻擊。
可是,在一個設(shè)計良好的網(wǎng)絡(luò)環(huán)境里面,是不需要也不應(yīng)該出現(xiàn)ICMP重定向的信息,為此我們可以關(guān)閉它。
同其他廠商類似,Juniper的Junos默認是開啟ICMP重定向的。
關(guān)閉ICMP重定向
[edit]
GingerBeer@Juniper# set system no-redirects
禁止TCP惡意flag以及TCP 探測
TCP惡意flag
先說說TCP惡意flag,大家知道正常TCP協(xié)商流程會用到SYN或FIN flag標(biāo)記,SYN用于TCP建立,而FIN用于TCP會話拆除。
但是沒有哪一個正常數(shù)據(jù)包會同時把SYN和FIN放到標(biāo)記flag里面,因為邏輯是矛盾沖突的。
可是,有人就會故意人為制造此數(shù)據(jù)包,并通過發(fā)送大量的無效數(shù)據(jù)包來制造DOS攻擊,并獲悉目標(biāo)設(shè)備的操作系統(tǒng)信息等。
我們可以配置JUNOS丟棄同時含有SYN和FIN字段的無效數(shù)據(jù),不做回應(yīng)。
配置如下:
{master:0}[edit]
GingerBeer@Juniper# set system internet-options tcp-drop-synfin-set
TCP探測
攻擊者為了探測目標(biāo)網(wǎng)絡(luò)設(shè)備的端口打開范圍和狀態(tài),可以發(fā)送大量的TCP-SYN連接請求,通過查看網(wǎng)絡(luò)設(shè)備的回復(fù)信息來知曉端口打開情況。
在高強度掃描的情況下,網(wǎng)絡(luò)設(shè)備的負載會增加,并造成DOS攻擊。
**配置JUNOS對未開啟的端口不回復(fù)TCP-RST,從而讓攻擊者無法知曉此端口是否開啟。
{master:0}[edit]
GingerBeer@Juniper# set system internet-options tcp-drop-synfin-set
合理使用LLDP鄰居發(fā)現(xiàn)
LLDP,類似于Cisco的CDP。不過是被IEEE標(biāo)準(zhǔn)化了的鄰居發(fā)現(xiàn)協(xié)議而已。既然是鄰居發(fā)現(xiàn),自然會完全暴露網(wǎng)絡(luò)設(shè)備本身的詳細信息。所以僅僅在需要的端口上開啟LLDP,是網(wǎng)絡(luò)安全的首選項。
案例如下:
如下案例,默認在所有接口關(guān)閉LLDP,除了需要的ge-0/0/0 & ge-0/0/3接口。
[edit]
GingerBeer@Juniper# edit protocols lldp
[edit protocols lldp]
GingerBeer@Juniper# set interface all disable
[edit protocols lldp]
GingerBeer@Juniper# set interface ge-0/0/0.0
[edit protocols lldp]
GingerBeer@Juniper# set interface ge-0/0/3.0
踏雪無痕?門都沒有 - 開啟Syslog日志監(jiān)控用戶活動記錄。
對于運維人員而言,我們希望能夠看到用戶登錄網(wǎng)絡(luò)設(shè)備以后的一舉一動,例如哪個賬號登陸的,登錄以后他都執(zhí)行了哪些命令。
擁有這樣的功能以后,就好似在網(wǎng)絡(luò)設(shè)備上安裝了一個無形的攝像頭,監(jiān)控登錄用戶的一舉一動。同時也起到了震懾作用。
Juniper的Junos在日志這方面做得非常好,它能夠根據(jù)用戶需求,從所有日志記錄中挑出你需要的信息,并存放到特定文件或者syslog服務(wù)器上。
配置如下:
set system syslog file interactive-commands interactive-commands any
set system syslog file authorization authorization info
查看用戶登陸記錄:
show log authorization
效果如下:
Jan 20 01:17:08 GingerBeer-RTR01 sshd[11590]: (pam_sm_acct_mgmt): DEBUG: PAM_USER: ro
Jan 20 01:17:08 GingerBeer-RTR01 sshd[11590]: (pam_sm_acct_mgmt): DEBUG: PAM_ACTUAL_USER: Gingerbeer
Jan 20 01:17:08 GingerBeer-RTR01 sshd[11590]: Accepted password for Gingerbeer from 1.2.3.4 port 12345 ssh2
Jan 20 01:21:10 GingerBeer-RTR01 sshd[11777]: (pam_sm_acct_mgmt): DEBUG: PAM_USER: ro
Jan 20 01:21:10 GingerBeer-RTR01 sshd[11777]: (pam_sm_acct_mgmt): DEBUG: PAM_ACTUAL_USER: Gingerbeer
Jan 20 01:21:10 GingerBeer-RTR01 sshd[11775]: Accepted keyboard-interactive/pam for Gingerbeer from 12345 port 12345 ssh2
Jan 20 01:21:10 GingerBeer-RTR01 sshd[11775]: Received disconnect from 1.2.3.4: 11: PECL/ssh2 (http://pecl.php.net/packages/ssh2)
Jan 20 01:21:10 GingerBeer-RTR01 sshd[11775]: Disconnected from 1.2.3.4
查看用戶執(zhí)行命令記錄:
show log interactive-commands | last
效果如下:
Jan 20 07:52:30 GingerBeer-RTR01 mgd[30631]: UI_CMDLINE_READ_LINE: User 'Gingerbeer', command 'show interfaces terse '
Jan 20 07:53:03 GingerBeer-RTR01 mgd[30631]: UI_CMDLINE_READ_LINE: User 'Gingerbeer', command 'show route '
Jan 20 07:53:37 GingerBeer-RTR01 mgd[30631]: UI_CMDLINE_READ_LINE: User 'Gingerbeer', command 'show configuration | display set | no-more '
Jan 20 07:53:56 GingerBeer-RTR01 mgd[30631]: UI_CMDLINE_READ_LINE: User 'Gingerbeer', command 'show log interactive-commands | last
自動備份設(shè)備配置
網(wǎng)絡(luò)設(shè)備配置,毋庸置疑,最寶貴的資料莫過于它了。我見過很多工程師朋友在網(wǎng)絡(luò)設(shè)備down掉后急的火燒眉毛,就是因為沒有定期備份配置。想找設(shè)備頂替都沒辦法。
而在Juniper的Junos中,自動備份配置是一件非常簡單的事情。
設(shè)置如下:
[edit system archival configuration]
GingerBeer@Juniper# show
transfer-interval 1440;
archive-sites {
"scp://Gingerbeer@1.2.3.4:/Configs" password "$9$EGCyMCVb1JGnev2aajPf359AO1"; ## SECRET-DATA
}
簡單解讀上述設(shè)置,每隔24小時此路由器會就通過SCP給1.2.3.4的服務(wù)器發(fā)送當(dāng)前配置。
關(guān)閉不安全的系統(tǒng)服務(wù)
所謂的不安全系統(tǒng)服務(wù),是指那些在傳輸過程中是以明文傳輸。因此極其容易被中間人截獲從而獲取系統(tǒng)登錄權(quán)限等。
例如如下服務(wù):
1.關(guān)閉 Berkeley “r”
[edit system services]
GingerBeer@Juniper# delete rsh
[edit system services]
GingerBeer@Juniper# delete rlogin
2.關(guān)閉 FTP:
[edit system services]
GingerBeer@Juniper# delete ftp
3.關(guān)閉 Finger:
[edit system services]
GingerBeer@Juniper# delete finger
4.關(guān)閉 Telnet:
[edit system services]
GingerBeer@Juniper# delete telnet
5.關(guān)閉 通過HTTP登錄的J-web:
[edit system services]
GingerBeer@Juniper# delete web-management http
6.關(guān)閉 Reverse Telnet:
[edit system services]
GingerBeer@Juniper# delete reverse telnet
7.關(guān)閉 clear-text Junoscript access:
[edit system services]
GingerBeer@Juniper# delete xnm-clear-text
8.關(guān)閉 TFTP server:
[edit system services]
GingerBeer@Juniper# delete tftp-server
設(shè)定用戶登錄參數(shù)。
這一步算是一個加分項,一般情況系統(tǒng)都會有默認值。而大家可以根據(jù)自身網(wǎng)絡(luò)的需求修改為特定值。
用戶登陸參數(shù)設(shè)置案例
{master:0}[edit system login retry-options]
GingerBeer@Juniper# show
tries-before-disconnect 3; ##在斷開連接之前最多嘗試3次
backoff-threshold 1; #如果用戶因為密碼登錄失敗一次以后,就會啟動用戶登錄等待時間。
backoff-factor 6; #此處定義了用戶登錄等待時長。
minimum-time 30; #等待用戶30秒鍵入密碼
maximum-time 60; #當(dāng)用戶ssh或者其他方式登錄設(shè)備時,在用戶未鍵入用戶名和密碼之前,等待60秒。超時后tcp連接終止。
lockout-period 10; #當(dāng)用戶登陸失敗超出上文限定次數(shù)以后,鎖定用戶名10分鐘。
壓軸大戲,路由引擎保護設(shè)計邏輯
以上各項設(shè)置,僅僅起到了保護部分功能的效果,但是若要全盤保護整個路由器。還是得靠一個復(fù)雜而全面的路由引擎保護機制。
別搞些名詞來忽悠人了,還壓軸大戲,說白了不就是套個ACL訪問列表限制訪問路由引擎的流量么。
哥別急,ACL也有它的高級套路,否則怎么好意思稱之為“設(shè)計”呢。
設(shè)計思路解析
首先,我們需要把到達路由器的流量分為兩大類:
1.管理類流量
2.協(xié)議類流量
其次,分別列出以上兩類流量的所有協(xié)議。
舉例說明:
管理流量,一般為SSH,SNMP,NTP,Radius,ICMP以及traceroute。
由于ACL是非狀態(tài)化的。換而言之,對于路由器發(fā)往外界的流量,也需要有一個條目來允許其返回流量。例如Radius請求回復(fù)。(很重要)
協(xié)議類流量,一般為OSPF,RIP,BGP。或者MPLS類的LDP,RSVP等。
根據(jù)協(xié)議端口特性,在條目中寫出開放的源和目標(biāo)端口。
分析完畢以后,讓我們來看個編寫案例,看案例最實在了。
Juniper Firewall Policy 編寫案例與解析。
條目注釋:第一條為防止TCP SYN 洪泛攻擊,首先匹配所有BGP鄰居地址,以及管理地址。然后匹配TCP字段是SYN 或者Fin 或者RST,但是不包含SYN ACK的TCP包,最后用QOS的Policer限制突發(fā)最多100k。
set firewall family inet filter protect-re term synflood-protect from source-prefix-list bgp-neighbors
set firewall family inet filter protect-re term synflood-protect from source-prefix-list mgmt-nets
set firewall family inet filter protect-re term synflood-protect from protocol tcp
set firewall family inet filter protect-re term synflood-protect from tcp-flags "(syn & !ack) | fin| rst"
set firewall family inet filter protect-re term synflood-protect then policer limit-100k
set firewall family inet filter protect-re term synflood-protect then accept
附加配置:
set policy-options prefix-list bgp-neighbors apply-path "protocols bgp group <> neighbor <>"
此命令用于自動匹配所有全局下BGP鄰居的IP地址,媽媽再也不用擔(dān)心我需要一個個配地址啦!
set policy-options prefix-list ipv4-interfaces apply-path "interfaces <> unit <> family inet address <*>"
此命令用于自動匹配路由器設(shè)備上配置的所有IPv4地址。
PS,可能有些朋友對于Junos的這些好玩而高效的特性不太理解,那請移步我之前寫的另外一篇Juniper JUNOS技術(shù)文:回車恐懼癥?13個 JUNOS 技巧助你輕松無憂配置網(wǎng)絡(luò)
條目注釋:第二條為允許隔壁鄰居老王主動發(fā)起B(yǎng)GP到此路由器,目標(biāo)地址范圍為所有本地路由器的IP地址。請注意有一條是“destination-port”,目標(biāo)端口179。因為這個Firewall Policy最終是應(yīng)用于路由引擎的入方向,所以目標(biāo)端口179是朝向路由器本身。
set firewall family inet filter protect-re term allow-bgp from source-prefix-list bgp-neighbors
set firewall family inet filter protect-re term allow-bgp from destination-prefix-list ipv4-interfaces
set firewall family inet filter protect-re term allow-bgp from protocol tcp
set firewall family inet filter protect-re term allow-bgp from destination-port bgp
set firewall family inet filter protect-re term allow-bgp then accept
條目注釋:第三條為允許OSPF協(xié)議
set firewall family inet filter protect-re term allow-ospf from source-prefix-list ipv4-interfaces
set firewall family inet filter protect-re term allow-ospf from destination-prefix-list ospf-allrouters
set firewall family inet filter protect-re term allow-ospf from destination-prefix-list ipv4-interfaces
set firewall family inet filter protect-re term allow-ospf from protocol ospf
set firewall family inet filter protect-re term allow-ospf then accept
條目注釋:第四條為允許SSH協(xié)議,而且通過Policer限速最高10Mbps的SSH流量,正常ssh管理流量一般都不會超過此數(shù)值
set firewall family inet filter protect-re term allow-ssh from source-prefix-list mgmt-nets
set firewall family inet filter protect-re term allow-ssh from protocol tcp
set firewall family inet filter protect-re term allow-ssh from destination-port ssh
set firewall family inet filter protect-re term allow-ssh then policer limit-10m
set firewall family inet filter protect-re term allow-ssh then accept
條目注釋:第五條為允許SNMP協(xié)議,限速1Mbps
set firewall family inet filter protect-re term allow-snmp from source-prefix-list snmp-servers
set firewall family inet filter protect-re term allow-snmp from protocol udp
set firewall family inet filter protect-re term allow-snmp from destination-port snmp
set firewall family inet filter protect-re term allow-snmp then policer limit-1m
set firewall family inet filter protect-re term allow-snmp then accept
條目注釋:第六條為允許NTP協(xié)議,限速32kbps
set firewall family inet filter protect-re term allow-ntp from source-prefix-list ntp-servers
set firewall family inet filter protect-re term allow-ntp from source-prefix-list localhost
set firewall family inet filter protect-re term allow-ntp from protocol udp
set firewall family inet filter protect-re term allow-ntp from destination-port ntp
set firewall family inet filter protect-re term allow-ntp then policer limit-32k
set firewall family inet filter protect-re term allow-ntp then accept
條目注釋:第七條為允許Radius協(xié)議,限速32kbps
set firewall family inet filter protect-re term allow-radius from source-prefix-list radiusservers
set firewall family inet filter protect-re term allow-radius from protocol udp
set firewall family inet filter protect-re term allow-radius from source-port radius
set firewall family inet filter protect-re term allow-radius then policer limit-32k
set firewall family inet filter protect-re term allow-radius then accept
條目注釋:第八條為限制ICMP分片包
set firewall family inet filter protect-re term icmp-frags from is-fragment
set firewall family inet filter protect-re term icmp-frags from protocol icmp
set firewall family inet filter protect-re term icmp-frags then syslog
set firewall family inet filter protect-re term icmp-frags then discard
條目注釋:第九條為允許常見ICMP消息,并限速1Mbps
set firewall family inet filter protect-re term allow-icmp from protocol icmp
set firewall family inet filter protect-re term allow-icmp from icmp-type echo-request
set firewall family inet filter protect-re term allow-icmp from icmp-type echo-reply
set firewall family inet filter protect-re term allow-icmp from icmp-type unreachable
set firewall family inet filter protect-re term allow-icmp from icmp-type time-exceeded
set firewall family inet filter protect-re term allow-icmp then policer limit-1m
set firewall family inet filter protect-re term allow-icmp then accept
條目注釋:第十條為允許常見Traceroute消息,并限速1Mbps
set firewall family inet filter protect-re term allow-traceroute from protocol udp
set firewall family inet filter protect-re term allow-traceroute from destination-port 33434-33523
set firewall family inet filter protect-re term allow-traceroute then policer limit-1m
set firewall family inet filter protect-re term allow-traceroute then accept
條目注釋:第十一條為允許路由器發(fā)起的SSH,BGP能夠被允許返回路由器,正如之前所說,Juniper的Firewall policy就是Cisco 的ACL,是沒有session狀態(tài)化,所以返回路由器的流量還需要明確指定。并限速10Mbps
set firewall family inet filter protect-re term tcp-established from protocol tcp
set firewall family inet filter protect-re term tcp-established from source-port ssh
set firewall family inet filter protect-re term tcp-established from source-port bgp
set firewall family inet filter protect-re term tcp-established from tcp-established
set firewall family inet filter protect-re term tcp-established then policer limit-10m
set firewall family inet filter protect-re term tcp-established then accept
條目注釋:第十二條就很容易理解了,除了以上所有指定的流量,其他流量全部丟棄。不回應(yīng)ICMP unreachable消息。
set firewall family inet filter protect-re term default-deny then log
set firewall family inet filter protect-re term default-deny then syslog
set firewall family inet filter protect-re term default-deny then discard
應(yīng)用策略
在Juniper設(shè)備上,lo0接口設(shè)計比較巧妙,他除了大家知道例如router-id,或者永不down的接口等常用功能以外。更重要的是,它是通往路由引擎的特殊通道。如果你想限制到達路由引擎的流量,相比Cisco使用control-plane policy,你只需要在Juniper的lo0上綁定一個Firewall policy即可。
完成firewall policy的配置以后,讓我們把策略應(yīng)用到還回lo0接口,從而限制了到達路由引擎的流量。
set interfaces lo0 unit 0 family inet filter input protect-re
其他加固內(nèi)容
除了以上描述的安全加固以外,大家日常工作中應(yīng)該針對路由器上的二層冗余網(wǎng)關(guān)協(xié)議,三層路由協(xié)議以及其他協(xié)議通過md5等密碼加固:
1.設(shè)定VRRP認證密碼。
2.設(shè)定OSPF,RIP,BGP認證密碼。
3.設(shè)定ldp,rsvp等MPLS協(xié)議認證密碼。
總結(jié):
這篇文章,我們一起討論了如何在網(wǎng)絡(luò)攻擊日益猖獗的今天,針對網(wǎng)絡(luò)設(shè)備進行安全加固的經(jīng)驗分享和案例分析。
當(dāng)然,每一個設(shè)備廠家對于自身設(shè)備都有相關(guān)的安全加固方法,Juniper的加固方式并不完全適用于Cisco和華為。
但是,我們做網(wǎng)工的,重要的在于思路兩字。配置是不一樣的,但是思路都是相通的。
我話多,還密密麻麻的放了一堆命令行。能看到這里的朋友們耐心可不是一般的好啊,日后必成大器!
責(zé)任編輯:售電衡衡
-
碳中和戰(zhàn)略|趙英民副部長致辭全文
2020-10-19碳中和,碳排放,趙英民 -
兩部門:推廣不停電作業(yè)技術(shù) 減少停電時間和停電次數(shù)
2020-09-28獲得電力,供電可靠性,供電企業(yè) -
國家發(fā)改委、國家能源局:推廣不停電作業(yè)技術(shù) 減少停電時間和停電次數(shù)
2020-09-28獲得電力,供電可靠性,供電企業(yè)
-
碳中和戰(zhàn)略|趙英民副部長致辭全文
2020-10-19碳中和,碳排放,趙英民 -
深度報告 | 基于分類監(jiān)管與當(dāng)量協(xié)同的碳市場框架設(shè)計方案
2020-07-21碳市場,碳排放,碳交易 -
碳市場讓重慶能源轉(zhuǎn)型與經(jīng)濟發(fā)展并進
2020-07-21碳市場,碳排放,重慶
-
兩部門:推廣不停電作業(yè)技術(shù) 減少停電時間和停電次數(shù)
2020-09-28獲得電力,供電可靠性,供電企業(yè) -
國家發(fā)改委、國家能源局:推廣不停電作業(yè)技術(shù) 減少停電時間和停電次數(shù)
2020-09-28獲得電力,供電可靠性,供電企業(yè) -
2020年二季度福建省統(tǒng)調(diào)燃煤電廠節(jié)能減排信息披露
2020-07-21火電環(huán)保,燃煤電廠,超低排放
-
四川“專線供電”身陷違法困境
2019-12-16專線供電 -
我國能源替代規(guī)范法律問題研究(上)
2019-10-31能源替代規(guī)范法律 -
區(qū)域鏈結(jié)構(gòu)對于數(shù)據(jù)中心有什么影響?這個影響是好是壞呢!