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

Linux安全基礎

一、系統簡介  Linux是一個真正意義上的免費的操作系統,起初是由Linus Torvalds出於個人愛好,在業余時間寫成的一個操作系統,後來放到了INTERNET上而逐步演變成今天的Linux。今天的Linux,吸引了全世界成千上萬的程序員,他們在不同的國家和地區來共同開發和完善這一免費的操作系統。 Linux繼承了UNIX系統的特點,它的發展凝聚了世界各地無數開發人員的大量心血,體現了一種信息世界的共建、共享和共榮的精神。    二、基本概念  1、用戶和用戶組  Linux有很強的用戶管理機制,它是通過用戶和用戶組這兩個概念來實現的。  用戶是指可以登錄到系統的帳號。Linux是一個多用戶的操作系統,它允許  多個用戶同時登錄到系統,Linux給每一個系統帳號一個用戶ID,來區別不同的  用戶。  同時Linux還通過用戶組來為同一個組的用戶分配權限,每一個組也有一個  組ID,來區別不同的組。  2、文件與目錄許可權限  文件和目錄的屬性決定了文件和目錄的被訪問權限,即誰能存取或執行該文件。  使用命令ls -l將顯示文件類型及文件許可權限等。  如:    文件類型  文件擁有者(u)許可權限  文件組擁有者(g) 許可權限    其他用戶(o)許可權限  - rwx rwx rwx 1 root root 437428 Sep 15 21:21 vi  (圖一)  (圖一)用三元組表示文件許可權限,第一個三元組是擁有文件的用戶(u),第二個三元組是擁有文件的組(g),第三個三元組是其他用戶(o)。  Linux就是通過這種方法來對文件的許可權限進行管理,系統根據每個文件的許可權限來判斷每個用戶對每個文件的操作權限。  在整個系統中有一個用戶不受限於這個限制,即root用戶,系統的超級用戶,它可以更改任何一個文件的許可權限。普通用戶也可以使用chmod來改變屬於他自己的文件和目錄的許可權限。  除了上面介紹的rwx三種許可權限外還有兩種特殊的權限:s和t。s位出現在組三元組或擁有者三元組的第三位,也就是x位,它表示此文件是可執行文件,並且在文件執行時,以文件所有者的ID可文件組ID運行,而不是用運行命令的用戶的ID來運行。可執行腳本被置s位,存在一種潛在的危險,特別是文件擁有者或組擁有者是root的文件。t這一符號在其他用戶三元組中的第三位置,通常,如果在目錄上的其他用戶三元組中指定了執行和可寫許可權限時,任何用戶無論所有權及許可權限都可刪除該目錄中任何文件,使用這種設置可防止用戶而不是擁有刪除或修改目錄中的文件。  三、系統認證  Linux系統目前采用一種全新的認證方式,即:可插式認證模塊(PAM: Pluggable Authentication Modules)。  PAM是由Sun提出的一種認證機制。它通過提供一些動態鏈接庫和一套統一的API,將系統提供的服務和該服務的認證方式分開,使得系統管理員可以靈活地根據需要給不同的服務配置不同的認證方式而無需更改服務程序,同時也便於向系統中添加新的認證手段。      系統管理員通過PAM配置文件來制定認證策略,即指定什麼服務該采用什麼樣的認證方法;應用程序開發者通過在服務程序中使用PAM API而實現對認證方法的調用;而PAM服務模塊(service module)的開發者則利用PAM SPI(Service Module API)來編寫認證模塊(主要是引出一些函數pam_sm_xxxx( )供libpam調用),將不同的認證機制(比如傳統的UNIX認證方法、Kerberos等)加入到系統中;PAM核心庫(libpam)則讀取配置文件,以此為根據將服務程序和相應的認證方法聯系起來。  通過使用PAM這種認證方式,可以使整個系統的認證有更大的靈活性,系統管理員可以根據需要來調整認證模塊,根據不同的安全級別來配置系統環境。  四、安全shell  在通常的系統管理中,系統管理員常常通過telnet登錄到系統,對系統進行配置管理。但這種方式下,系統的用戶名和口令在整個網絡中的傳輸是明文,很容易被竊取,SSH(secure shell)是一個客戶-服務器應用,它通過加密,通過基於RSA機制的主機認證以及用戶認證中的多種選項提供安全的通信。它提供rlogin,rsh和rcp的替代程序。它也提供加密的X窗口系統連接和加密的TCP會話連接。  下面的圖說明整個ssh在認證連接過過程中的流程:      通過使用ssh有效地保證了用戶數據在整個通信過程中的安全,保證了內容的私密性。  五、用ipchains過濾數據包  在通常的系統安裝中,系統對外開放所有服務端口,我們利用ipchains可以把系統配置成一個基於主機的防火牆,通過適當配置可以有效的限制、保護系統以及控制局域網范圍內的訪問。  防火牆是阻止非授權用戶進入、離開、穿過網絡的系統。Linux的ipchains命令可以建立規則,為進入、離開、穿過系統的數據流提供可選的限制,從而提供比較安全的防火牆功能。  Linux ipchains實現包過濾防火牆功能,網絡上的每一個包都根據規則過濾。使用ipchains的內核分析每一個包,查找指定的源、目標IP地址及端口,或指定的ICMP類型及代碼。  整個ipchains的包過濾流程如下圖所示:    ipchains在每一個數據包到來之前,都會根據規則檢查每一個IP包的包頭,進 行有效的過濾。同時它也對每一個從本機出去的包進行檢查,保證每一個出去 和進來的包,符合規則。  除了把ipchains配置成基於主機的防火牆外,還可以把ipchains配置成一個基於網絡的防火牆,用ipchains來保護一個網段。  六、系統日志  Linux使用日志來記錄用戶的動作和系統的一些錯誤信息。Linux下有兩個重要的日志守護程序:syslog和klogd。  syslog是以守護進程運行,在啟動時他從/etc/syslog.conf文件中讀取不同的選項,根據不同的應用程序把相關信息記錄到相應的日志文件中。  klogd是一個內核日志記錄程序,它記錄內核出現的任何錯誤和異常。  下圖是日志信息流的過程。  




 



Copyright © Linux教程網 All Rights Reserved