歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux綜合 >> Linux資訊 >> 更多Linux

Linux安全小談(3)

  在本文中,我獎為大家介紹Linxu的安全機制(只是簡單介紹下,本人太菜,很深的的東東我也寫不出,呵呵)  1 PAM機制   PAM是一套共享庫,它提供了一個框架和一套編程接口,把認證工作從程序員那裡轉到ADMIN那裡。PAM允許ADMIN在多種認證方式之間進行選擇,能夠改變本地的認證方法而不需要重新編譯有關認證的應用程序。   PAM包括如下功能:   **加密口令   **允許隨意Shandow口令   **對用戶進行資源限制以防止DOS攻擊   **限制用戶在特定時間內從特定地點登陸   **引入概念“client plug-in agents”,使PAM支持C/S應用中的機器――機器認證成為可能。   PAM機制為一些更高級的認證方法提供了便利的基礎,在此基礎上很容易開發出例如智能卡,指紋識別認證等高技術認證方法。  2 入侵檢測系統(IDS)   這是一種比較新的技術,現在的服務器很少有安裝IDS系統的,Linux也只有最近發布的新版本才陪上這種工具。管入侵檢測系統的歷史很短,但發展卻很快,目前比較流行的入侵檢測系統有Snort、Portsentry、 Lids等。 (以後我會為大家專門介紹入侵檢測系統)   利用LINUX本身配備的工具和從INTERNET上DOWN下的工具,可以使LINUX系統具備高級的入侵檢測能力,這些能力包括:   **記錄入侵企圖,當攻擊發生時及時通知管理員;   **在規定情況的攻擊發生時,采取事先規定的措施;    **發送一些錯誤信息,比如偽裝成其他*作系統,這樣攻擊者會認為他們正在攻擊一個Windows NT 或Solaris系統。(我們可不可以說這是一種網絡欺騙技術呢?)  3 加密文件系統   加密文件系統就是將加密服務引入文件系統,從而提高計算機系統的安全性。有太多的理由需要加密文件系統,比如防止硬盤被偷竊、防止未經授權的訪問等。目前開發的LINUX中已經有多種加密文件系統,例如 CFS、TCFS、CRYPTFS等,其中比較有代表性的是TCFS,  它通過將加密服務和文件系統緊密集成,使用戶感覺不到文件的加密過程。TCFS不修改文件系統的數據結構,備份與修復以及用戶訪問保密文件的語義也不變。TCFS可以作到讓以下用戶不可讀加密文件:   **合法擁有者以外的用戶;    **用戶和遠程文件系統通信線路上的偷聽者;    **文件系統服務器的超級用戶。   對於合法用戶,訪問保密文件與訪問普通文件幾乎沒有區別。   4 安全審計   即使系統管理員十分精明地采取了各種安全措施,但是新漏洞是層出不窮的,攻擊者在漏洞被修補之前會迅速抓住機會攻破盡可能多的機器。雖然LINUX不能預測何時主機會受到攻擊,但是它可以記錄攻擊者的行蹤。LINUX系統也可以進行檢測、記錄時間信息和網絡連接情況。這些信息將被重定向到日志中備查。日志是Linux安全結構中的一項非常重要的內容,它是提供攻擊發生的唯一真實的證據(入侵者往往刪除或者偽造日志也就是這個原因)。因為現在的攻擊方法多種多樣,所以Linux提供網絡、主機和用戶級的日志信息。LINUX可以記錄以下內容:   **記錄所有系統和內核信息;    **記錄遠程用戶申請訪問哪些文件;    **記錄用戶可以控制哪些進程;    **記錄具體用戶使用的每條命令;   **記錄每一次網絡連接和它們的源IP地址、長度,有時還包括攻擊者的用戶名和使用的*作系統。  5 強制訪問控制    強制訪問控制(MAC,這個MAC可不是以台技術裡的MAC,大家一定要分清楚),是一種由系統管理員從全系統的角度定義和實施的訪問控制,它通過標記系統中的主客體,強制性地限制信息的共享和流動,使不同的用戶只能訪問到與其有關的、指定范圍的信息,從根本上防止信息的失洩密和訪問混亂的現象。    傳統的MAC實現都是基於TCSEC中定義的MLS策略,但因MLS本身存在著不少缺點(不靈活、兼容性差、難於管理等),研究人員已經提出了多種MAC策略,如DTE、RBAC等。由於LINUX是一種自由*作系統,目前在其上實現強制訪問控制的就有好幾家,其中比較典型的包括SElinux、RSBAC、MAC等,采用的策略也各不相同。   NSA推出的SELinux安全體系結構稱為 Flask,在這一結構中,安全性策略的邏輯和通用接口一起封裝在與*作系統獨立的組件中,這個單獨的組件稱為安全服務器。SELinux的安全服務器定義了一種混合的安全性策略,由類型實施 (TE)、基於角色的訪問控制 (RBAC) 和多級安全(MLS) 組成。通過替換安全服務器,可以支持不同的安全策略。SELinux使用策略配置語言定義安全策略,然後通過checkpolicy 編譯成二進制形式,存儲在文件 /ss_policy中,在內核引導時讀到內核空間。這意味著安全性策略在每次系統引導時都會有所不同。策略甚至可以通過使用 security_load_policy 接口在系統*作期間更改(只要將策略配置成允許這樣的更改)。    RSBAC的全稱是Rule Set Based Access Control(基於規則集的訪問控制),它是根據Abrams和LaPadula提出的Generalized Framework for Access Control(GFAC)模型開發的,可以基於多個模塊提供靈活的訪問控制。所有與安全相關的系統調用都擴展了安全實施代碼,這些代碼調用中央決策部件,該部件隨後調用所有激活的決策模塊,形成一個綜合的決定,然後由系統調用擴展來實施這個決定。RSBAC目前包含的模塊主要有MAC、RBAC、ACL等。   6 防火牆   防火牆是在被保護網絡和因特網之間,或者在其他網絡之間限制訪問的一種部件或一系列部件。 LINUX的防火牆有以下功能:   **訪問控制,可以執行基於地址,時間和用戶的訪問控制策略,從而可以杜絕非授權的訪問,同時保護內部用戶的合法訪問不受影響。    **審計,對通過它的網絡訪問進行記錄,建立完備的日志、審計和追蹤網絡訪問記錄,並可以根據需要產生報表。    **抗攻擊,防火牆系統直接暴露在非信任網絡中,對外界來說,受到防火牆保護的內部網絡如同一個點,所有的攻擊都是直接針對它的,該點稱為堡壘機,因此要求堡壘機具有高度的安全性和抵御各種攻擊的能力。    **其他附屬功能,如與審計相關的報警和入侵檢測,與訪問控制相關的身份驗證、加密和認證,甚至VPN等  ########################################################################  ########################################################################    補上一篇作為對PAM機制的深入了解:   使用PAM進行統一身份的認證    發布日期:2000-8-8     來源:Bricks Team ; 作者:bricks     PAM是 PLUGGABLE AUTHENTICATION MODULES 的縮寫.可插入的認證模塊(並不是Linux指的模塊)用於實現應用程序的認證機制,是程序員或管理員不需要重新編寫或編譯程序就可以改變認證機制.     在linux它已經被廣泛的應用了, 例如: /etc/securitty /etc/onlogin/etc/FTPusers 實際上都是給它用的.你在登陸的時候的輸入密碼和你修改密碼時也都用的是它./etc/pam.conf和/etc/pam/* 都是它的配置文件.     它最大的優點是它的彈性和可擴充性. 你可以隨意修改認證機制, 按你的實際需要來定制系統.你了解後就會非常清楚了.     DESIGN GOALS(設計目標)     (a) 管理員可以選擇認證方式, 從簡單的密碼到智能卡系統.     (b) 可以為不同的程序配置不同的認證機制.如 使telnet使用 S/Key認證.     而本機的 login 缺使用一般的 UNIX passWord.     (c) 支持程序的顯示方式的需求. 如login 需要基於終端的顯示, 而dtlogin     需要 X 顯示, 而`ftp' 和 `telnet'需要透過網絡來認證.   (d) 支持為一個程序配置同時使用多種認證機制.   (e) 可是用戶在使用多種認證機制時,不必為同一個密碼敲入多次.   (f) 可是用戶在認真時需要輸入多個密碼.   (g) 當底層的認證機制改變時上層軟件不需要修改.   (h) 結構為system authentication提供一個 _pluggable_ model.   (i) 必須能滿足現有的服務需要.     4. OVERVIEW OF THE PAM FRAMEWORK (縱覽PAM的框架)其核心實際上是一些庫函數. 你寫的應用程序要調用它們.PAM為你提供了一套入口(the front end). 而這套函數互調用 特定認證機制所定義的模塊   (the back end).     簡單的說是這樣的: 你調用一個函數僅僅告訴它你要認正,這就足夠了.至於用那一種機制來認證是由配置文件規定的. 你只需要看一看返回值就知道認證是否成功了. 對於開發應用程序的人來說只需要記住幾個函數.   ftp telnet login (Applications)         +--------+--------+    +-----+-----+   PAM API



Copyright © Linux教程網 All Rights Reserved