大家通常會認為暴力破解攻擊只是針對某一種FTP服務器發起的攻擊,能具有代表性嗎?
隨著Internet的發展出現了由于大量傻瓜化黑客工具,任何一種黑客攻擊手段的門檻都降低了很多,但是暴力破解法的工具制作都已經非常容易,大家通常會認為暴力破解攻擊只是針對某一種FTP服務器發起的攻擊,能具有代表性嗎?可以拓展到其他的網絡?或服務器上嗎?答案當然是肯定的。暴力破解這種軟件,使用起來沒有什么技術含量原理就是一個接一個的試,直到試驗出正確的密碼,也就是破解成功了。不過這種破解方式成功幾率不高,耗費時間多,技術成分低,不是迫不得已是不使用的。在網絡的實際情況中,很多FTP服務器雖說都是經過了層層的安全防護的,即便是經過防護的FTP服務器,同樣可以在攻擊者簡單地調整攻擊方式以后,運用暴力破解快速突破。本文談談各種攻擊技術對服務器的影響,僅供網絡管理人員在平時工作中,制定安全防范策略時參考使用。
一、網絡本身的負載能力與高速網絡
所有的網絡攻擊,都是基于網絡而發起的,這就決定了網絡是一切網絡攻擊、安全防護技術的根本。如果攻擊者處于一個網絡資源極度缺乏的環境之中,想要發起高級的網絡攻擊也是力不從心的。同時,如果防御者處于一個并非優秀的網絡中,網絡正常服務本身都很難為正常用戶提供,更不用說進行網絡安全防護了。
1. 網絡帶寬的束縛
從國內剛剛出現互聯網開始,到今天網絡的普及,網齡比較長的網民都經歷了使用調制解調器撥號上網的舉步維艱,也都經歷了1Mb/s、2Mb/s甚至10Mb/s的高速網絡,而網絡安全,同樣經歷了這樣的一個由慢到快、從低速到高速的過程,在這個過程之中,很多原本看起來根本不可能的攻擊技術,也已經可以很順暢地發起了。很多攻擊者在進行這樣的攻擊的時候,都會發現一個很奇特的現象:剛剛對目標發起了分布式的暴力破解攻擊,10分鐘后目標服務器因為帶寬擁堵,竟然癱瘓了……
對攻擊者來說,這是很讓人啼笑皆非的事情,因為攻擊者的目標原本是為了通過暴力破解獲得某些機密的、內部的FTP資料,但是無意間卻造成了目標服器的整體癱瘓,這顯然是攻擊者不愿意看到的結果。這也是攻擊者和網絡安全工程師因為網絡帶寬造成的困擾之一。
另一方面,暴力破解因為自身特性,所有的驗證過程都是通過向服務器據提交信息、獲得服務器返回信息并進行判斷而進行的。在這個過程中,不管是服務器的網絡帶寬質量,還是攻擊者使用的僵尸計算機本身的網絡帶寬速度,都在很大程度上決定了暴力破解整個完成時間的長短。就目前的網絡帶寬來說,要順暢、高速地發起FTP的暴力破解攻擊,還是有一定難度的。一般情況下攻擊者動用上百臺僵尸計算機進行攻擊就已經是暴力破解的極限,因為即使再增加僵尸計算機,網絡帶寬的限制也不允許更多的數據收發的進行。所以,第二個限制暴力破解攻擊整體效率提高的因素,就是僵尸計算機本身的網絡帶寬質量。
從現階段國內四處都在進行的轟轟烈烈的網絡速度提升來看,不難預見不久后的將來,整體網絡速度將有非常大的提高。就像今天國際公認的平均個人網速最快的國家韓國一樣,人均網速達到10Mb/s,20Mb/s甚至更多。
雖然網絡速度的提升正在飛速的發展著,但是對攻擊者來說,不可能恰好子就遇到擁有高速網絡的僵尸計算機或者目標服務器。于是就有讀者提問:現階段的攻擊者是如何解決網絡帶寬的問題的呢?以后如果出現網絡整體速度都得到很大提升的時候,攻擊者的暴力破解攻又將有怎么樣的發展呢?
2.內部高速網絡和分布式破解解決帶寬難題
先解決第一個問題:現階段的攻擊者是如何解決網絡帶寬的問題的呢?舉例來說,一個攻擊者妄圖獲得某會員制網站的FTP賬戶權限,因為里面有很多內部付費使用的資料。但是這個會員制網站服務器的網絡帶寬質量并不高,如果采用分布式的暴力破解攻擊,可能十幾臺僵尸計算機就足以讓這個服務器癱瘓了,攻擊者顯然是不愿意看到這樣情況的發生的。
在實際的網絡攻擊案例中,很多攻擊者都遇到了這樣的問題,他們的解決方法也很巧妙,也非常實用:利用內部網絡通信的高速來解決暴力破解的網絡帶寬難題。有一定網絡經驗的網民都知道,中國現在的服務器,一般都是托管在IDC或者機房的,而正常情況下IDC或者機房會進行很多的網絡帶寬限制,在機房的入口路由或者機柜的防火墻上限制帶寬,讓由外對內的網絡帶寬變得很窄-畢竟機房很多情況下都是通過帶寬來進行托管收費的。
現在的服務器配置一般都是千兆網卡,但是對外的網絡帶寬不可能做到千兆全開。一般中小站點能購買5~10Mb/s的獨立帶寬就很不錯了,也就是說這樣的服務器在提供對外的訪問的時候,即使網絡堵塞了,用戶打不開網站了,FTP無法提供正常服務了。實際上就服務器本身的硬件性能來說,還有極大的容余可以用來提供網絡服務,只是出入口網絡帶寬不足而已。就目前國內的整體網絡安全意識來看,對資深的攻擊者來說,在一個存放著幾百臺服務器的機房中找尋一臺"肉雞",并不是很難的技術問題。找到這樣的內部服務器有什么用呢?攻擊者當然可以選擇用來發起暴力破解攻擊。對一個千兆網卡來說,如果是在內部網絡中進行訪問,數據的中轉和網絡損耗本是可以忽視的。這就好比由一個1Mb/s的ADSL貓連接的兩個家用計算機,雖然從網絡上下載文件大概只有150Mb/s的速度,但是如果兩個計算機之間傳送文件的話,8Mb/s的內網速度還是很容易實現的。所以,現階段的攻擊者如果想要發起效率非常高的FTP暴力破解,在目標服務器的網絡帶寬存在束縛的時候,-機柜中的服務器,并利用內部網絡高速的特點發起超快的FTP暴力破解。
再說說另一個問題:以后如果出現網絡整體速度都得到很大提升的情況,攻擊者的暴力破解攻擊又將有怎么樣的發展呢? 其實同第一個問題相比,這個問題已經在大范圍內得到了解決,而且很多攻擊者現在就是這樣發起攻擊的,那就是:分布式暴力破解。在之所有有些攻擊者因為網絡帶寬的問題無法發起大范圍的分布式暴力破解攻擊,原因更多的還是目標服務器的網絡帶寬限制,而不是僵尸計算機本身的網絡帶寬。因為僵尸計算機的網絡帶寬就算不足,就算很慢,攻擊者完全可以使用數量代替質量的方式,利用很多網絡帶寬不好的僵尸計算機發起大規模的暴力破解,畢竟因為網絡安全意識低下,僵尸計算機還是很容易捕獲的。當目標服務器的帶寬在不久后的未來得到大力提升的時候,攻擊者完全可以利用成千上萬的僵尸計算機發起大規模的分布式暴力破解攻擊,只要目標計算機的網絡帶寬足以承受這樣的攻擊,那么攻擊者在極短的時間內就可以完成看似非常龐大的密碼集的暴力破解攻擊。
二、CPU運算、處理能力低下的解決方法
同幾年前的硬件性能相比,現在的計算機、服務器的運算處理能力已經得到了飛速的發展。正如計算機專家普遍認為的一樣,可以預見的是,硬件處理能力的提高將在很長一段時間內,持續而穩定地高速進步。
1. 運算處理能力的束縛
單就暴力破解來說,運算處理能力包括兩方面的束縛:一方面是目標服務器的處理能力,另一方面是發起攻擊的計算機的處理能力。目標服務器的處理能力決定了攻擊者可以運用多大量級的攻擊規模。
比如針對一個普通的小型FTP服務器,典型的配置是4GB左右的CPU速度,2~4GB的內存容量。針對這樣的小型FTP服務器,在不考慮網絡帶寬的理論狀態情況下,攻擊者使用每秒10000~20000次左右的暴力破解攻擊效率就基本達到了極限,就算攻擊者發起更高效率的暴力破解也無法獲得更快的結果。在實際情況中,攻擊者要發起這樣效率的攻擊是比較簡單的,甚至不用使用到大規模的僵尸計算機群就可以做到。
隨著計算機硬件的發展,如果服務器在處理包含了數個指令的FTP暴力破解信息的時候,能夠做到每秒理論上數十萬、數百萬次的請求和應答運算,那攻擊者完全就可以放開手腳進行暴力破解攻擊了。
現在的網絡中,有些攻擊者動用龐大的僵尸計算機群,發起每秒上十萬次的FTP暴力破解請求,因為FTP暴力破解的過程是通過連接服務器→獲得連接信息→發送賬戶→獲得需求密碼信息→發送可能的密碼→獲得反饋信息→再次發起服務器連接,這樣的過程循環進行的,所以看似快速的服務器處理能力并不能滿足不斷堆積的攻擊者計算機連接請求。這就導致了很多攻擊計算機發送的密碼驗證信息被丟棄,攻擊計算機無法獲得正常的服務器返回信息,最終導致暴力破解失敗。發起攻擊的計算機的處理能力決定了攻擊者是否需要動用分布式的暴力破解攻擊。同被攻擊目標服務器不同的是,被攻擊者控制的僵尸計算機的運算能力并不直接決定暴力破解的成敗,而是對暴力破解的整個時間和成功率有非常重要的影響。
在理論極限中,不考慮網絡帶寬,只考慮硬件處理能力的情況下,假使FTP服務器每次處理一個完整的FTP連接請求需要萬分之一秒,而同時能處理的請求數目是10000個。那么,最完美的暴力破解模型是使用10000個僵尸計算機,完成萬分之一秒內的暴力破解攻擊。也就是說,在最小的目標服務器的處理能力下,使用目標服務器最大的處理能力來進行暴力破解。這樣的暴力破解攻擊成功率理論是100%,而在保證了成功率的基礎上,時間是最短的。那么,現在的攻擊者是如何解決服務器和僵尸計算機運算處理能力的呢?
2. 分布式暴力破解提高成功率
分布式暴力破解在很多時候是提高成功率的保障。對攻擊者來說,目標服務器的處理能力是不可控的,攻擊者是無法提高目標服務器的處理能力的,所以必須適應目標服務器的處理能力,由此才采用了分布式的暴力破解技術。
采用分布式窮舉的好處是,在攻擊者不知道目標服務器的負載能力的時候,可以通過靈活的調整僵尸計算機的數量,來逐漸摸索目標服務器的負載能力,以便達到在目標服務器不丟包、不誤報的情況下,在保證最高成功率的前提下,盡量提升暴力破解的時間。舉例來說,如果目標服務器的負載能力是每秒處理1000次FTP連接、賬戶密碼驗證、信息發送,攻擊者如果使用每秒可以完成10次上述過程的僵尸計算機進行暴力破解,如果攻擊者使用了10000臺僵尸計算機,那目標服務器的運算能力顯然是跟不上的,也就可能出現誤報或者錯誤的情況,最佳的情況是使用100臺僵尸計算機,滿足目標服務器的運算處理能力最大化,并且也能夠在保證100%成功的基礎上最大化地縮小暴力破解時間。
總的來說,分布式暴力破解是對攻擊者的攻擊經驗的一種考驗。如果分布的僵尸計算機數量太多,結果可能是很快完成了暴力破解,但是因為誤報和丟棄的存在,而無法獲得正確的密碼:如果分布的僵尸計算機數量太少,雖然可以很穩妥地進行完全部的暴力破解攻擊,獲得想要的密碼,但是時間可能極長。
3.根據僵尸計算機的性能編寫高效率的暴力破解程序
另外一個能在保證成功率的前提下,同時大大縮短暴力破解的時間的方法是調整暴力破解程序的運行速度。一個適合僵尸計算機處理能力的暴力破解程序在攻擊過程中是非常重要的。
如果暴力破解程序在僵尸計算機上運行很吃力,已經超出了僵尸計算機的處理能力,結果可能是原本正確的密碼也得不到相應的正確結果,因為僵尸計算機已經無法完成各種信息的收發和處理了。
如果暴力破解程序在僵尸計算機上運行得很輕松,系統性能有很多的容余,這樣的情況下,整個暴力破解的時間將會很長。所以,要發起一個在保證成功率的前提下,還要盡量縮短暴力破解時間的攻擊,需要攻擊者根據自己的僵尸計算機的情況,選擇不同的暴力破解程序消耗,以盡量達到成功率和時間兩者的平衡。
三、 安全策略的突破
如果苛刻地說網絡帶寬和運算處理能力都是非技術因素,無法可控地進行優化的話,那么安全策略就是最直接也是最有效的防御措施了。對暴力破解來說,安全策略在很大程度上對暴力破解的成功率、時間甚至是否能發起攻擊都存在著很大的影響。不過之所以說暴力破解是一種放之四海而皆準的攻擊方式,就在于它可以經過攻擊者簡單的變化,而達到突破安全策略的目的。需要指出的是,本節的安全策略是單獨的和暴力破解相關的安全策略,并沒有涉及諸如密碼期限、密碼長度、通信加密等與暴力破解無關的安全策略。
1. 連接頻率限制及其突破
隨著網絡安全意識的逐漸提高,重視安全的管理員一般會限制FTP服務器的連接頻率。所謂的連接頻率是指管理員定義了在特定時間段內的同一用戶的連接次數,在這個次數限制之內可以任意連接,如果超出這個次數限制則拒絕連接。
網絡安全工程師或管理員通過對連接頻率的限制,一方面可以合理地分配FTP服務器的處理運算能力,避免出現某一個用戶因為使用了超快的連接而大量占用服務器資源的情況,另一方面可以對普通的基于賬戶密碼的暴力破解攻擊進生行之有效地限制。
大家注意實際網絡中也存在其他時間和連連接頻率限制的規則,不一定是5秒一次連接,也不一定是10秒后才允許下一次連接。如果是默認的高效率的FTP暴力破解,一般情況下都是一秒發起上百次連接嘗試,大大地超出了服務器允許的范圍,所以這樣的暴力破解顯然是不能成功的,會被服務器一直拒絕連接。針對這樣的情況,有經驗的攻擊者在發現目標服務器存在這樣的連接頻率限制以后,會適當地修改暴力破解程序的連接頻率,讓攻擊程序在滿足安全策略的前提下進行暴力破解。
比如,攻擊者完全可以定義攻擊程序每5.1秒進行一次FTP暴力破解嘗試,以達到躲開安全策略限制的目的。這樣的頻率限制策略看似在效率上大大地阻礙了暴力破解的進行, 但是如果只有這一種安全策略的話,是無法阻擋攻擊者發起高效的暴力破解的,實際上攻擊者可以通過其他攻擊策略的改變來變相提高整個暴力破解的效率。
2. 嘗試錯誤次數限制及其突破
同連接頻率相比,錯誤次數限制更常見一些,網絡上很多FTP服務器的管理員或者工程師都使用了這個安全策略。嘗試錯誤次數限制是指某FTP用戶的錯誤發生次數,當該用戶的密碼嘗試次數超過規定的次數以后,則短期拒絕該用戶的連接。舉例來說,網絡安全工程師可以設定這樣的安全策略:從某用戶嘗試登錄開始,連續5次輸入密碼錯誤,則返回錯誤信息,并在FTP系統中拒絕該用戶的下一次密碼驗證,直到超過設定的限制時間結束。
這樣做的好處可以在很大程度上限制普通暴力破解攻擊的發起,因為很多暴力破解攻擊都是在無數的錯誤中找尋一個正確的密碼。如果遇到這樣的策略,暴力破解就幾乎沒有成功率可言了。不過錯誤次數限制實際上也是可以突破的,而且突破的方法也并不難。
對有經驗的攻擊者來說,一旦發現目標系統存在錯誤次數限制,則會通過手工驗證的方式,徹底摸清究竟允許幾次密碼錯誤,后續的拒絕連接時間究竟是多少?一旦弄明白這兩點,攻擊者會很容易地調整暴力破解策略,突破次數限制。舉例來說,如果管理員限制了5次連續錯誤后30秒不允許連接,則攻擊者可以定義暴力破解程序以5次為一個循環,每發起5次攻擊就暫停30秒,然后再繼續嘗試。 另外一種方式是每5次嘗試一個新賬戶,在服務器開始拒絕當前賬戶連接的時候,使用新的賬戶進行暴力破解嘗試,直到所有的用戶名都嘗試過一遍再重頭開始。還有一個大多數攻擊者采用的方式就是利用分布式的攻擊來解決錯誤次數的限制,每個僵尸計算機都使用獨立秒,然后再進行后續的嘗試。
3. IP鎖定及其突破
同上面的兩種安全策略相比,IP鎖定比較難解決一些,不過只要目標FTP考慮讓正常用戶使用,那暴力破解就肯定可以發起。IP鎖定策略一般是和連接頻率、錯誤次數策略配合使用,也就是說當某賬戶進行連接以后,如果連接頻率過高,或者錯誤次數超過限制,則開始運用IP鎖定策略。
在實際網絡中,IP鎖定策略有兩個典型的應用方式,一種是當某賬戶出現異常以后,FTP服務器記錄這個賬戶的IP地址,然后加入自己的黑名單,從此以后均拒絕此IP的連接,除非該用戶聯系管理員解除黑名單限制;另一種方式是IP限制是暫時的,過一段時間會自動解除。針對自動解除限制的情況,攻擊者可以制一樣的方法,調整暴力破解的循環時間,在限制時間過后,繼續發起暴力破解攻擊。針對永久封鎖IP的情況,有四種方法可以突破:
(1).使用代理突破IP封鎖
單純地使用代理來進行FTP暴力破解是無法突破IP鎖定的,只有暴力破解程序可以自動讀取代理列表,然后在目標系統允許的情況下,發起幾次暴力破解,然后再更換代理繼續發起攻擊。這個方法實現起來雖然簡單,但是實際效果并不好,因為就算是網絡攻擊者也不能夠保證構建一個擁有足夠多代理,并且連接速度穩定、不產生意外數據接收錯誤的代理群,如何獲得更多的代理呢?我們可以去網頁上搜索,也可以自己用代理獵手來找代理,他最大的特點是搜索速度快,最快可以在十幾分鐘內搜完一個B類地址。如果單純的代理無法滿足需要的話我們還可以換用Muti Proxy實現IP動態自由切換功能,通過使用Sockscap+Sksockserver實現完美組合以達到組合代理的需求。如下圖1、2所示。
圖1
圖2
2) .使用ADSL類的動態IP機制突破IP封鎖
很多人都知道ADSL每次重新撥號以后都會分配一個新的IP,而且網絡中也已經存在很多不斷自動撥號的程序,如果攻擊者愿意,自己編寫一個類似的程序和暴力破解程序相配合,完全可以做到無差別的暴力破解。當然,使用網絡上己有的自動撥號程序也可以滿足要求。
這個方法總的來說是比較好的,但是對攻擊者的僵尸計算機有一定的要求。
3) .使用SteganosIntemet Anonym Pro和Hide Ip Easy之類的程序突破IP封鎖
圖3
Steganos Internet Anonym Pro是國外頂級黑客研究出的自動變化IP,的程序,是一套功能強大的網絡身份隱藏工具軟件,用戶可以通過該軟件很簡單地隱藏自已的IP、更換自己的IP。一般情況下,Steganos Internet Anonym Pro的IP變化是1秒鐘變一次,而IP地址的位置一會兒在英國,一會兒在加拿大,變換頻率非常快。從原理上講,Steganos Intemet Anonym Pro是通過代理方式實現IP地址不停變化目的的,因此在IP地址變換之前,需要先測試該程序內置代理服務器的工作是否正常,并根據測試結果篩選出工作性能最穩定的代理服務器,如圖4所示。使用Steganos Intemet Anonym Pro發起暴力破解攻擊的話,攻擊者如果適當地調整了暴力破解程序和循環間隔,以適應SteganosIntemet Anonym Pro的IP變換間隔,完全可以做到無視IP限制策略。
圖4
4). 計算機標識限制及其突破
最煩瑣的FTP安全策略就是使用用戶計算機的標識來進行限制了。所謂用戶計算機的標識是指在FTP服務器和用戶計算機的交互中,服務器通過某種途徑記錄了用戶計算機的某些標識,如MAC地址、Ccookies信息、硬件編號等。當管理員設置的連接頻率、錯誤次數限制達到的時候,FTP服務器就會根據計算機標識來識別用戶計算機,進而進行連接限制。
這樣的限制方法在網絡上出現的不多,不過國外的某些營利性組織經常使用這樣的方法來進行安全保障,比如投資公司、股票顧問、非法博彩等站點。從技術上說,這樣的策略是比較狠的,要對這樣策略下的FTP服務器進行暴力破解攻擊,比較難--但不是說毫無辦法。舉例來說,常見的這種限制是通過網卡的MAC地址識別來實現的,而MAC地址是可以更改的,攻擊者完全可以自己編寫程序,每次暴力破解發起的時候,都改變一次MAC地址。當然,網絡中到處都是MAC地址的改變程序,甚至很多硬件信息也是可以隨意生成的,如Mac MakeUp等,如圖5
圖5
如果目標FTP服務器是通過cookies等信息來輔助驗證的話,突破方法就更為簡單了。攻擊者可以自己編程實現每次暴力破解前都清空一次cookies,也可以使用SteganosIntemet Anonym Pro等工具實現cookies自動刪除、瀏覽記錄自動刪除等。
四、應對措施第三方軟件Fail2ban加固方法
魔高一尺道高一丈,總的來說,只要FTP服務器妄圖讓正常用戶使用,要徹底地杜絕FTP的暴力破解攻擊就非常困難,至少目前沒有辦法實現,下面我們用第三方軟件來進行加固,經過筆者長期對比發現Fail2ban對于解決暴力破解、非法掃描能起到比較好的效果,它是一個基于防火墻鏈添加新規則構成,并發送e-mail通知系統管理員。Fail2ban不僅可以使用自動識別可能的暴力入侵,而且可按照快速且簡易的用戶自定義規則去分析,因為fail2ban 的原理是調用iptables 實時阻擋外界的攻擊,按照你的要求在一段時間內找出符合條件的日志,然后動作,所以你的系統里必選裝有iptables,以及Python的支持。
1.下載安裝:
在基于debian系統下安裝fail2ban是非常暢快的。以root用戶執行下列命令
# apt-get install fail2ban在GNU/Linux 系統上源碼安裝,為了編譯Fail2ban,你需要下載最新的源碼( )。當獲取后,你可以該改變你的源碼目錄,并執行下列命令:
#tar xvjf fail2ban-x.x.x.tar.bz2你會在當前工作目錄下得到一個Fail2ban的解壓后的源碼目錄。你須CD到新的目錄中。現在以root用戶執行安裝:
#./setup.py installFail2ban 會安裝在 /usr/share/fail2ban/ 和 /usr/bin/目錄中,裝好后,稍微根據自己的情況改一下配置就可以使用了。
2.系統配置
一個典型的配置文件如下:
/etc/fail2ban/每個.conf文件都會被名為 .local的文件覆蓋。.conf首先被讀取,其次是.local。新的配置會覆蓋早先的。因此,.local 文件不必包含每個相應于.conf中的選項,只是填寫你想要覆蓋的設置。
首先編輯fail2ban.conf
#vi /etc/fail2ban.conf#以 daemon 方式啟動 fail2ban
background = true#允許嘗試次數
maxfailures = 3#觸發 maxfailures 之後的封鎖時間(秒); 設為 -1 表示永遠封鎖
bantime = 3600#以 findtime (秒) 時間內的錯誤記錄作為 maxfailures 的計數基準
findtime = 600#排除 IP 范圍, 以空白隔開
ignoreip = 127.0.0.1 192.168.0.0/24#不啟用 mail 通知
[MAIL]enabled = false#修改自 VSFTPD, 未提及的部份保持原設定
[PROFTPD]enabled = true
logfile = /var/log/proftpd/proftpd.log
failregex = no such user|Incorrect password #未提及的部份保持原設定
[SSH]enabled = true
logfile = /var/log/secureservice fail2ban
開始啟動這個服務啟動以后,每天都能在 /var/log/fail2ban.log 中看到有攻擊的肉雞被 ban 了。
下面一步就復制初始化腳本到系統的 /etc/init.d 目錄下,執行chkconfig 和update-rc.d或手工創建一個符號鏈接,設置權限
# chmod 755 /etc/init.d/fail2ban
#chkconfig -a fail2ban
#ln -s /etc/init.d/fail2ban /etc/rc2.d/S20fail2ban
最后,整合fail2ban到日志循環中
創建文件:"/etc/logrotate.d/fail2ban":
/var/log/fail2ban.log {
weekly
rotate 7
missingok
compress
postrotate
/usr/local/bin/fail2ban-client reload 1>/dev/null || true
endscript
最后是Iptables微調,只允許每組IP同時5個21端口轉發 ,類似功能大家可以去發揮。
#iptables -A FORWARD -p tcp --syn --dport 21 -m connlimit --connlimit-above 5 --connlimit-mask 24 -j DROP
好了,經過安裝、配置下面我們看看使用它的效果吧,先瀏覽一下iptables
#iptables -L -nv
pkts bytes targetprotopt inoutsourcedestination
301 12740 fail2ban-ftp tcp -- **0.0.0.0/00.0.0.0/0tcp dpt:21
3354 253K fail2ban-SSH tcp -- **0.0.0.0/00.0.0.0/0tcp dpt:22
438 33979 fail2ban-httpdtcp -- **0.0.0.0/00.0.0.0/0tcp dpt:80
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes targetprot opt inoutsourcedestination
Chain OUTPUT (policy ACCEPT 5703 packets, 829K bytes)
pkts bytes targetprot opt inoutsourcedestination
Chain fail2ban-SSH (1 references)
pkts bytes targetprot opt inoutsourcedestination
3354 253K RETURNall -- **0.0.0.0/00.0.0.0/0
Chain fail2ban-ftp (1 references)
pkts bytes targetprot opt inoutsourcedestination
301 12740 RETURNall -- **0.0.0.0/00.0.0.0/0
Chain fail2ban-httpd (1 references)
pkts bytes targetprot opt inoutsourcedestination
438 33979 RETURNall -- **0.0.0.0/00.0.0.0/0
查看fail2ban的日志
通過以下命令就能方便的查看到被記錄的非法暴力破解IP
# cat fail2ban.log | grep '] Ban '最后,我們要注意fail2ban是一個日志分析器,在寫入日志前不會做任何事情。大多數系統日志守護進程都會緩沖他們的輸出。這可能會和fail2ban性能有所沖突。因此,最好能禁止緩沖你的系統日志守護進程,以提高性能。目前來看,只要FTP服務器希望讓正常用戶使用,要完全杜絕FTP暴力破解攻擊就會很難,因此要從細微之處入手,盡量降低被暴力破解的概率。
新聞熱點
疑難解答