李紹龍
(云南電網(wǎng)有限責任公司信息中心 云南省昆明市 650011)
拒絕服務攻擊即是攻擊者通過破壞性的方法對目標主機造成麻煩,使目標主機或網(wǎng)絡資源被大量占用或消耗,從而導致目標主機停止服務或永久癱瘓,進而使Linux 受到較大沖擊而無法繼續(xù)提供正常的服務。例如,攻擊者通過偽造TCP 連接請求或利用多臺受控主機向目標主機發(fā)送大量連續(xù)的TCP 連接請求,消耗被攻擊主機的資源,進而使目標主機因CPU 資源耗盡而停機或癱瘓。通常多數(shù)拒絕服務攻擊的風險性較低,即使造成系統(tǒng)停機重啟的也僅是暫時的。其中,拒絕服務攻擊由于攻擊手段的多種多樣,如死亡之PING、SYN Flood、IP 欺騙性攻擊、UDP 洪水攻擊、LAND 攻擊等,以及暫時無法改變的協(xié)議層缺陷,使得拒絕服務攻擊成為當前最為常見也是最難以預防的攻擊方式。
口令破解攻擊即是通過對用戶的口令進行破解,來獲取目標主機或網(wǎng)絡的訪問控制權,進而獲取經(jīng)加密的任何信息資源,該攻擊方式是入侵系統(tǒng)較為常用的一種方式??诹畋Wo通過是用戶系統(tǒng)安全的首道保護線,然而在實際應用的過程中,用戶因忽略口令保護這一關鍵環(huán)節(jié),而使得系統(tǒng)安全得不到保障。而攻擊者通過詞典攻擊、強行攻擊、組合攻擊等多種攻擊方法以擊敗或破解口令(三種攻擊方式對比如表1)。例如,攻擊者借助一臺高速計算機,并結合字典庫對系統(tǒng)密碼進行各種組合的嘗試,以最終破解獲取口令。除此之外,還可以通過其他攻擊方式獲取口令,如通過口令蠕蟲、特洛伊木馬、網(wǎng)絡監(jiān)聽、偷窺等,獲取堅不可摧的口令。
緩沖區(qū)溢出攻擊即是攻擊者將一系列較長的字符串拷貝至有限容量空間的緩沖區(qū),從而使緩沖區(qū)存儲單元原有的數(shù)據(jù)被覆蓋,而理想情況下程序會對輸入數(shù)據(jù)長度進行檢查,并在輸入長度超出緩沖區(qū)字符的長度時予以禁止,但多數(shù)程序會假設數(shù)據(jù)長度與所分配的存儲容量空間相匹配,這也為緩沖區(qū)溢出漏洞埋下了較大隱患。這種隱患的存在可能會導致系統(tǒng)運行受阻,甚至出現(xiàn)系統(tǒng)死機或重啟。另外,攻擊者可以利用緩沖區(qū)溢出攻擊獲取root 權限,讓程序跳轉(zhuǎn)至攻擊者安排的地址空間繼續(xù)執(zhí)行,該漏洞的存在對系統(tǒng)的危害十分巨大。例如,如若緩沖區(qū)所設計的某一機器指令被覆蓋,則極有可能因緩沖區(qū)溢出而導致指令序列的返回地址被改變,并將其指向自己設計的指令序列,此時,機器的控制權被占用并遭受攻擊者的惡意攻擊。
網(wǎng)絡監(jiān)聽作為監(jiān)視網(wǎng)絡數(shù)據(jù)傳輸、網(wǎng)絡狀態(tài)以及數(shù)據(jù)流動情況的重要管理工具,其可以通過監(jiān)聽模式截獲、嗅探網(wǎng)絡上傳輸中的數(shù)據(jù)信息。因此,如若攻擊者得以登錄并獲得網(wǎng)絡主機的超級用戶權限,就能由此通過網(wǎng)絡監(jiān)聽進行敏感信息數(shù)據(jù)的截獲,并進一步控制網(wǎng)絡中其他的主機。

表1:三種攻擊方式對比

圖1:ARP 欺騙原理
欺騙用戶攻擊即是攻擊者偽裝成為對方信任的身份,并在身份認證通過后實施攻擊。當前,較為常見的欺騙用戶攻擊主要分為五種:ARP 欺騙、IP 欺騙、電子郵件欺騙、DNS 欺騙以及Web 欺騙等,其中,ARP 欺騙通過協(xié)議缺陷建立假網(wǎng)關接收來自被騙計算機的數(shù)據(jù)信息,此種攻擊方式能夠使整個局域網(wǎng)的計算機無法正常上網(wǎng)甚至癱瘓,威力十分驚人。整個過程中,主機B 作為攻擊者同時向網(wǎng)關C 與主機A 發(fā)送ARP 應答包。這樣,A 發(fā)給C 以及C 發(fā)給A 的數(shù)據(jù)就會被發(fā)送到B,B 就成了A 與C 的“中間人”來截獲數(shù)據(jù)信息(如圖1)。
端口掃描即是向所要掃描目標主機的指定或全部端口發(fā)送指定類別的TCP 及UDP 報文,使目標主機主動響應,攻擊者通過對響應報文進行分析來判斷目標主機的端口信息。利用此種攻擊能夠準確找出目標主機的系統(tǒng)漏洞,進而針對該系統(tǒng)漏洞發(fā)動攻擊。
2.1.1 確保用戶口令安全
對于網(wǎng)絡系統(tǒng)而言,口令是首道防線,也是極易出現(xiàn)問題的環(huán)節(jié)。因此,用戶口令的設置時,可適當延長口令長度(通常不低于8 個字符,其中密碼加一位攻擊難度會增加10 倍),并使用不規(guī)則的大小寫字母+數(shù)字+符號的形式提升口令的安全性。同時,為確??诹畎踩€要做好對/etc/passwd 與/etc/shadow 文件安全的保護,除系統(tǒng)管理員外的無關人員不得訪問這兩個文件,以有效避免攻擊者利用弱口令猜測工具John 等程序?qū)?etc/passwd 與/etc/shadow 文件進行字典攻擊。另外,安裝npasswd 口令過濾工具對口令的安全性進行檢查,對于檢查發(fā)現(xiàn)的安全性較低的口令應立即修改。
2.1.2 確保root 賬號安全
Linux 系統(tǒng)中root 賬號是具備管理員權限并享有特權的賬號,root 賬號的使用不會受到限制與制約,因此,必須防止因誤操作而導致的意外。同時,應盡量減少或避免使用root 賬號登錄,且系統(tǒng)管理員應盡量避免在他人的計算機上登錄自己的root 賬號,以有效避免賬號泄露而導致的安全風險。
2.2.1 確保對象訪問安全
對于文件目錄、目標進程等對象的訪問方式,Linux 系統(tǒng)多采取MAC(強制訪問控制)予以實現(xiàn),用戶不同所設置的對象訪問權限也有所不同,且相關用戶僅能根據(jù)自己的權限訪問與之相關或指定范圍的對象信息。另外,根據(jù)不同用戶給予其相應的授權權限,如本地或遠程關機、設備驅(qū)動程序安裝與卸載、域中添加或刪減工作站、文件目錄的讀寫或備份權限等應根據(jù)區(qū)分用戶的不同而授權。
2.2.2 確保系統(tǒng)配置安全
首先,嚴格按照需要進行BIOS 密碼的設置,并設置Linux 系統(tǒng)在啟動LILO 時就需要進行密碼驗證,以此有效規(guī)避攻擊者啟動系統(tǒng)。其次,對于Linux 系統(tǒng)自身的Ext2 文件系統(tǒng)的數(shù)據(jù)應分區(qū)予以存放,并對分區(qū)屬性、文件系統(tǒng)的只添加與不可變兩大屬性予以設置,以有效提升數(shù)據(jù)存儲的安全性。
數(shù)據(jù)傳輸?shù)倪^程中,隨時都會面臨被截獲、嗅探或監(jiān)聽的風險,且存儲中的數(shù)據(jù)也可能會被攻擊者攻擊而泄露。對此,為有效提升數(shù)據(jù)的安全性,可通過加密算法對傳輸及存儲中的數(shù)據(jù)予以加密處理,通常采取以下方式:首先,文件系統(tǒng)加密。采用TCFS 分布式文件協(xié)議系統(tǒng)或crypt 命令進行文件加密,其通過加密關鍵詞對信息編碼進行加密處理,并用同一關鍵詞進行恢復。需要注意的是,crypt 程序可能會被做成特洛伊木馬,因而須先用pack 或compress命令壓縮文件后再進行加密處理。其次,用戶密碼加密。對密碼文件password 予以加密,或要求用戶必須通過ssh 對用戶賬號及密碼的傳輸予以加密。此外,在較為敏感的網(wǎng)絡環(huán)境中進行數(shù)據(jù)傳輸時,要求用戶嚴禁使用ping 命令等明文傳輸。
2.4.1 正確設置防火墻
防火墻作為防范外部攻擊的首道防線,其能夠有效阻止非授權用戶進入、離開系統(tǒng)或網(wǎng)絡,并能盡量減少被保護網(wǎng)入口點的暴露時間,進而防止攻擊者的惡意攻擊及非授權訪問。同時,防火墻能夠有效彌補系統(tǒng)設置不當,或軟件漏洞而導致的網(wǎng)絡安全問題。通常,對于Linux 操作系統(tǒng)而言,多采用系統(tǒng)自身免費的Iptables 防火墻,然后按照拒絕接收所有數(shù)據(jù)包進行配置,并打開允許接收的數(shù)據(jù)包,由此加強對IP 地址欺騙、口令攻擊、特洛伊木馬、電子郵件欺騙等網(wǎng)絡安全的防范工作。
2.4.2 關閉無用端口
所有網(wǎng)絡的連接均需要開放的端口予以實現(xiàn),因此,減少端口開放或關閉無用端口,能夠有效降低攻擊者的成功概率。對此,可通過端口檢測程序或?qū)I(yè)入侵檢測系統(tǒng)對入侵行為實施檢測,并將無用的應用端口予以關閉處理。
2.4.3 關閉無用服務
Linux 系統(tǒng)默認運行了很多服務,而其中無用的服務極易成為網(wǎng)絡安全隱患,因此,為有效減少后門,降低安全隱患,可將無用服務全部關閉。
(1)關閉fingerd 服務。Linux 系統(tǒng)下的finger 命令能夠直接顯示指定用戶的用戶名、shell 以及聯(lián)系方式等詳細信息,此時,攻擊者通過情報收集到用戶信息實施入侵,因此,應盡量禁止啟動finger 服務。
(2)嚴禁設置默認路由。主機中嚴禁設置默認路由,而是應結合系統(tǒng)的運行情況,為每個子網(wǎng)段或網(wǎng)段單獨進行路由的設置,以有效避免其他機器通過某些途徑非法訪問該主機。
(3)關閉ping 命令的響應。攻擊者往往會利用TCP 協(xié)議的缺陷占用數(shù)據(jù)傳輸通道,而關閉系統(tǒng)對ping 命令的響應,能夠有效防止攻擊者利用漏洞發(fā)動攻擊,并能顯著降低系統(tǒng)的網(wǎng)絡安全風險。
2.4.4 定期測試檢查
Linux 操作系統(tǒng)的運行處于隨時變化的狀態(tài),因此,應根據(jù)系統(tǒng)的變化合理采取有效的安全管理策略,并在采取相應的安全防御措施后,應定期進行系統(tǒng)的安全檢查,并通過服務器安全攻擊測試,查找系統(tǒng)中仍然存在的安全漏洞,并采取合理措施防止遭受安全攻擊。
2.4.5 完善日志管理
日志文件是記錄和監(jiān)測系統(tǒng)運行情況的重要依據(jù),而攻擊者往往會在入侵后對日志文件進行修改,因此,對于/var/log/文件應設置限制訪問,對于一般權限的用戶應設置禁止查看。另外,使用日志服務器將日志信息實時傳送至日志服務器,有效避免了攻擊者修改或刪除日志而導致的日志丟失。此外,使用彩色日志過濾器,對日志中異常命令及root 位置予以標記,減少了日志分析時的人為遺漏,并且能夠通過定期自動檢查協(xié)助管理員分析系統(tǒng)運行的日常安全。
2.5.1 做好系統(tǒng)備份
為有效防止不可避免的系統(tǒng)故障、用戶操作不當或非法操作而導致的重要數(shù)據(jù)丟失,務須嚴格依照要求進行系統(tǒng)安全備份。其中,除每月按要求進行全系統(tǒng)的備份外,還要針對修改做好每周備份。同時,對于修改過的較為重要系統(tǒng)文件應分開在不同的服務器存放,以便系統(tǒng)崩潰時能夠立即修復系統(tǒng)。
2.5.2 及時處理入侵
檢查日志文件時如若發(fā)現(xiàn)未知用戶登錄系統(tǒng),為防止系統(tǒng)受到入侵而被破壞,應立即鎖定該賬號,若攻擊者已登錄系統(tǒng),則應立即斷開設備與網(wǎng)絡之間的物理連接。若條件允許還應對該用戶歷史記錄進行查看,并檢查攻擊者是否擁有根權限、是否假冒其他用戶,最后kill 該用戶所有進程并添加其主機IP 地址至hosts.deny 文件。
總而言之,為有效防范那些不法“黑客”的多方攻擊,相應系統(tǒng)維護管理人員務須對網(wǎng)絡安全時刻秉持正確認知,并大幅提升相應防范意識與防控能力,針對系統(tǒng)潛在的易攻破缺陷展開全力修復與加防,多措共舉,切實提升Linux 的網(wǎng)絡安全防御能力,進而成功抵御各類網(wǎng)絡攻擊保障Linux 操作系統(tǒng)的安全運作。