資訊中心
關于服務器被人攻擊的處理,除了學會服務器監測項,避免客戶信息泄露。要分兩種情況,如果是大規模DDos搶注攻擊的話,一般對付辦法不多,根本辦法是通過運營商做流量清洗,分布式部署系統分流。用一些基于公有云的防護手段(費錢,效果一般般),一些安全公司昂貴的設備(作用也不大,有錢就可以多買)。還有就是服務器被人攻擊,掛馬了,互聯網行業如何做好“服務器防御”?。
一般性防護手段
一般性防護手段,通過硬防或者軟防火墻比如iptables,主要要限制服務器端口訪問,除了必須的80,443以外其他端口一律不對外開放。
基本上就是在外面掃描你服務器ip,看都開了那些端口,對不該開放端口開放的話就封禁掉。主要對外開放的危險端口有 所有udp端口(比如最近大規模針對github的攻擊,就用對外開放的memcache udp 11211 udp端口進行的反射式攻擊),tcp重點關注端口: 21(ftp),22(ssh) 23(telnet),2181(zookeeper),3306(mysql),6379(redis),8161和61616(mq),11211(memcache),27017/27018(mongodb),9200(elasticsearch)還有其他的根據企業部署情況來增加。
服務器被DDOS或CC攻擊時如何封禁攻擊者IP?這樣跟你說吧,也許容易理解點。你可以封ip,但是沒任何意義,封ip,通過本機防火墻或者下載安全狗等工具就可以設置策略。
為什么封ip是沒意義的呢?
網絡可以簡單理解為雙向車道,正常情況下上行與下行可以理解為雙向行車。ddos這些攻擊就相當于把你的車道塞滿,本來你單次可以通行兩輛車,滿足你的車輛正常行駛,后面的車輛排隊跟上就行了。此時,突然出現了大規模車輛,占用了你的道路,比如突然出現了1000輛車,都在排隊過收費站,這1000量車你可以理解為走錯路的車,但是他們想下高速,也必須得過收費站,收費站每次只能過2輛,正常的車輛以前是正好可以正常通過,不用等多久就能依次通過收費站了,現在這1000個走錯路的車子現在排著隊也要過收費站。
同理服務器為了處理這1000IP,花了10分鐘,那么意味著你正常的流量也要拖10分鐘才能訪問網站。比如,咱們按照網絡傳輸的協議再加個規則,如果訪客5分鐘過不了收費站就會被罰款,(比如那個高速有個超時費用),這個對網絡傳輸來說就意味著404了,連接不到服務器了,拋出404,這樣的話,你本來正常的訪客因為一些走錯路的訪客而被罰款了。你封他ip,其實就相當于在收費站的時候告訴走錯路的車子,你走錯路了,以后不給你過了,再過我就要罰你錢了。
封了IP后,第二天,這1000個車子又走錯路了,又經過這個收費站,收費員看到這個錯路的車子,直接罰了100塊。分析:走錯路的車子,不管你罰款不罰款,他都要過收費站你才知道他是不是走錯路被你標記的車子,也就是說,他的存在,還是要影響你后面正常的車子的通行。
結論:本機封ip,意義不大。辦法:通過堡壘機硬抗,就是高仿服務器來抗,最重要的其實就一點,通過對寬帶的擴展來實現對ddos的包容,不管你多大流量,只要我帶寬夠,我都能處理。
常見異常情況:異常的流量、異常tcp鏈接(來源端口,往外發的端口)、異常的訪問日志(大量的ip頻繁的訪問個別文件)。
如果部署了監控系統的話(強烈建議部署zabbix,并增加對系統添加專門安全items),可以方便通過zabbix監控圖和趨勢對比了解這些信息:
1、利用last,lastb發現異常的用戶登錄情況,ip來源。利用lastlog,/var/log/message,/var/log/secure,日志等,是否權限已經被攻陷。
2、用history 發現shell執行情況信息。
3、用top,ps,pstree等發現異常進程和服務器負載等情況。
4、用netstat -natlp發現異常進程情況。用w命令發現當前系統登錄用戶的情況。
如果發現異常用戶,立即修改用戶密碼,pkill -kill -t tty 剔除異常用戶。然后進行進一步處理。發現異常進程,立即禁止,凍結禁止。發現一個惡意進程后通過 ls -al /proc/Pid (Pid為具體的進程號),發現進程的啟動路徑,啟動的文件所在目錄等信息。
如果發現異常連接數,通過iptables封禁相關端口或者ip,對清理移動木馬,殺掉進程,首先清理掉木馬創建的cron 計劃項和啟動項。ls -al /etc/proc/Pid/ 找的惡意木馬文件。惡意進程的執行目錄和文件,最后用一條命令 kill -9 所有的進程ID && rm -rf 所有涉及的文件和目錄。