Linux伺服器攻防技術介紹

lonelycloud發表於2006-01-03

Linux伺服器攻防技術介紹

  隨著Linux企業應用的擴充套件,有大量的網路伺服器使用Linux作業系統。Linux伺服器的安全效能受到越來越多的關注,這裡根據Linux伺服器受到攻擊的深度以級別形式列出,並提出不同的解決方案。

  對Linux伺服器攻擊的定義是:攻擊是一種旨在妨礙、損害、削弱、破壞Linux伺服器安全的未授權行為。攻擊的範圍可以從服務拒絕直至完全危害和破壞Linux伺服器。對Linux伺服器攻擊有許多種類,本文從攻擊深度的角度說明,我們把攻擊分為四級。

  攻擊級別一:服務拒絕攻擊(DoS)

  由於DoS攻擊工具的泛濫,及所針對的協議層的缺陷短時無法改變的事實,DoS也就成為了流傳最廣、最難防範的攻擊方式。

  服務拒絕攻擊包括分散式拒絕服務攻擊、反射式分佈拒絕服務攻擊、DNS分佈拒絕服務攻擊、FTP攻擊等。大多數服務拒絕攻擊導致相對低階的危險,即便是那些可能導致系統重啟的攻擊也僅僅是暫時性的問題。這類攻擊在很大程度上不同於那些想獲取網路控制的攻擊,一般不會對資料安全有影響,但是服務拒絕攻擊會持續很長一段時間,非常難纏。

  到目前為止,沒有一個絕對的方法可以制止這類攻擊。但這並不表明我們就應束手就擒,除了強調個人主機加強保護不被利用的重要性外,加強對伺服器的管理是非常重要的一環。一定要安裝驗證軟體和過濾功能,檢驗該報文的源地址的真實地址。另外對於幾種服務拒絕可以採用以下措施:關閉不必要的服務、限制同時開啟的Syn半連線數目、縮短Syn半連線的time out 時間、及時更新系統補丁。

  攻擊級別二:本地使用者獲取了他們非授權的檔案的讀寫許可權


  本地使用者是指在本地網路的任一臺機器上有口令、因而在某一驅動器上有一個目錄的使用者。本地使用者獲取到了他們非授權的檔案的讀寫許可權的問題是否構成危險很大程度上要看被訪問檔案的關鍵性。任何本地使用者隨意訪問臨時檔案目錄(/tmp)都具有危險性,它能夠潛在地鋪設一條通向下一級別攻擊的路徑。

  級別二的主要攻擊方法是:黑客誘騙合法使用者告知其機密資訊或執行任務,有時黑客會假裝網路管理人員向使用者傳送郵件,要求使用者給他系統升級的密碼。

  由本地使用者啟動的攻擊幾乎都是從遠端登入開始。對於Linux伺服器,最好的辦法是將所有shell賬號放置於一個單獨的機器上,也就是說,只在一臺或多臺分配有shell訪問的伺服器上接受註冊。這可以使日誌管理、訪問控制管理、釋放協議和其他潛在的安全問題管理更容易些。還應該將存放使用者CGI的系統區分出來。這些機器應該隔離在特定的網路區段,也就是說,根據網路的配置情況,它們應該被路由器或網路交換機包圍。其拓撲結構應該確保硬體地址欺騙也不能超出這個區段。

  攻擊級別三:遠端使用者獲得特權檔案的讀寫許可權

  第三級別的攻擊能做到的不只是核實特定檔案是否存在,而且還能讀寫這些檔案。造成這種情況的原因是:Linux伺服器配置中出現這樣一些弱點:即遠端使用者無需有效賬號就可以在伺服器上執行有限數量的命令。

  密碼攻擊法是第三級別中的主要攻擊法,損壞密碼是最常見的攻擊方法。密碼破解是用以描述在使用或不使用工具的情況下滲透網路、系統或資源以解鎖用密碼保護的資源的一個術語。使用者常常忽略他們的密碼,密碼政策很難得到實施。黑客有多種工具可以擊敗技術和社會所保護的密碼。主要包括:字典攻擊(Dictionary attack)、混合攻擊(Hybrid attack)、蠻力攻擊(Brute force attack)。一旦黑客擁有了使用者的密碼,他就有很多使用者的特權。密碼猜想是指手工進入普通密碼或通過編好程式的正本取得密碼。一些使用者選擇簡單的密碼—如生日、紀念日和配偶名字,卻並不遵循應使用字母、數字混合使用的規則。對黑客來說要猜出一串8個字生日資料不用花多長時間。

  防範第三級別的攻擊的最好的防衛方法便是嚴格控制進入特權,即使用有效的密碼。

  ◆ 主要包括密碼應當遵循字母、數字、大小寫(因為Linux對大小寫是有區分)混合使用的規則。

  ◆ 使用象“#”或“%”或“$”這樣的特殊字元也會新增複雜性。例如採用"countbak"一詞,在它後面新增“#$”(countbak#$),這樣您就擁有了一個相當有效的密碼。
  攻擊級別四:遠端使用者獲得根許可權

  第四攻擊級別是指那些決不應該發生的事發生了,這是致命的攻擊。表示攻擊者擁有Linux伺服器的根、超級使用者或管理員許可權,可以讀、寫並執行所有檔案。換句話說,攻擊者具有對Linux伺服器的全部控制權,可以在任何時刻都能夠完全關閉甚至毀滅此網路。

  攻擊級別四主要攻擊形式是TCP/IP連續偷竊,被動通道聽取和資訊包攔截。TCP/IP連續偷竊,被動通道聽取和資訊包攔截,是為進入網路收集重要資訊的方法,不像拒絕服務攻擊,這些方法有更多類似偷竊的性質,比較隱蔽不易被發現。一次成功的TCP/IP攻擊能讓黑客阻攔兩個團體之間的交易,提供中間人襲擊的良好機會,然後黑客會在不被受害者注意的情況下控制一方或雙方的交易。通過被動竊聽,黑客會操縱和登記資訊,把檔案送達,也會從目標系統上所有可通過的通道找到可通過的致命要害。黑客會尋找聯機和密碼的結合點,認出申請合法的通道。資訊包攔截是指在目標系統約束一個活躍的聽者程式以攔截和更改所有的或特別的資訊的地址。資訊可被改送到非法系統閱讀,然後不加改變地送回給黑客。

  TCP/IP連續偷竊實際就是網路嗅探,注意如果您確信有人接了嗅探器到自己的網路上,可以去找一些進行驗證的工具。這種工具稱為時域反射計量器(Time Domain Reflectometer,TDR)。TDR對電磁波的傳播和變化進行測量。將一個TDR連線到網路上,能夠檢測到未授權的獲取網路資料的裝置。不過很多中小公司沒有這種價格昂貴的工具。對於防範嗅探器的攻擊最好的方法是:

  1、安全的拓撲結構。嗅探器只能在當前網路段上進行資料捕獲。這就意味著,將網路分段工作進行得越細,嗅探器能夠收集的資訊就越少。

  2、會話加密。不用特別地擔心資料被嗅探,而是要想辦法使得嗅探器不認識嗅探到的資料。這種方法的優點是明顯的:即使攻擊者嗅探到了資料,這些資料對他也是沒有用的。

  特別提示:應對攻擊的反擊措施

  對於超過第二級別的攻擊您就要特別注意了。因為它們可以不斷的提升攻擊級別,以滲透Linux伺服器。此時,我們可以採取的反擊措施有:

  ◆ 首先備份重要的企業關鍵資料。

  ◆ 改變系統中所有口令,通知使用者找系統管理員得到新口令。

  ◆ 隔離該網路網段使攻擊行為僅出現在一個小範圍內。

  ◆ 允許行為繼續進行。如有可能,不要急於把攻擊者趕出系統,為下一步作準備。

  ◆ 記錄所有行為,收集證據。這些證據包括:系統登入檔案、應用登入檔案、AAA(Authentication、Authorization、 Accounting,認證、授權、計費)登入檔案,RADIUS(Remote Authentication Dial-In User Service) 登入,網路單元登入(Network Element Logs)、防火牆登入、HIDS(Host-base IDS,基於主機的入侵檢測系統) 事件、NIDS(網路入侵檢測系統)事件、磁碟驅動器、隱含檔案等。收集證據時要注意:在移動或拆卸任何裝置之前都要拍照;在調查中要遵循兩人法則,在資訊收集中要至少有兩個人,以防止篡改資訊;應記錄所採取的所有步驟以及對配置設定的任何改變,要把這些記錄儲存在安全的地方。檢查系統所有目錄的存取許可,檢測Permslist是否被修改過。

  ◆ 進行各種嘗試(使用網路的不同部分)以識別出攻擊源。

  ◆ 為了使用法律武器打擊犯罪行為,必須保留證據,而形成證據需要時間。為了做到這一點,必須忍受攻擊的衝擊(雖然可以制定一些安全措施來確保攻擊不損害網路)。對此情形,我們不但要採取一些法律手段,而且還要至少請一家有權威的安全公司協助阻止這種犯罪。這類操作的最重要特點就是取得犯罪的證據、並查詢犯罪者的地址,提供所擁有的日誌。對於所蒐集到的證據,應進行有效地儲存。在開始時製作兩份,一個用於評估證據,另一個用於法律驗證。

  ◆ 找到系統漏洞後設法堵住漏洞,並進行自我攻擊測試。

  網路安全已經不僅僅是技術問題,而是一個社會問題。企業應當提高對網路安全重視,如果一味地只依靠技術工具,那就會越來越被動;只有發揮社會和法律方面打擊網路犯罪,才能更加有效。我國對於打擊網路犯罪已經有了明確的司法解釋,遺憾的是大多數企業只重視技術環節的作用而忽略法律、社會因素,這也是本文的寫作目的。

  拒絕服務攻擊(DoS)

  DoS即Denial Of Service,拒絕服務的縮寫,可不能認為是微軟的DOS作業系統!DoS攻擊即讓目標機器停止提供服務或資源訪問,通常是以消耗伺服器端資源為目標,通過偽造超過伺服器處理能力的請求資料造成伺服器響應阻塞,使正常的使用者請求得不到應答,以實現攻擊目的。

相關文章