版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
項(xiàng)目9系統(tǒng)安全管理《Linux網(wǎng)絡(luò)操作系統(tǒng)項(xiàng)目化教程(openEuler)》學(xué)習(xí)目標(biāo)/Target了解Linux操作系統(tǒng)安全機(jī)制,能夠說出Linux常見的安全機(jī)制了解Linux操作系統(tǒng)不安全因素,能夠說出Linux常見的不安全因素了解防火墻,能夠說出防火墻概念、作用及特點(diǎn)了解防火墻策略與規(guī)則,能夠說出防火墻的防御原理了解SELinux安全系統(tǒng),能夠說出SELinux概念、工作模式,以及什么是安全上下文、默認(rèn)安全上下文的修改與安全策略知識目標(biāo)學(xué)習(xí)目標(biāo)/Target能夠使用ss命令監(jiān)控系統(tǒng)網(wǎng)絡(luò)運(yùn)行情況能夠使用ps命令、top命令監(jiān)控系統(tǒng)進(jìn)程運(yùn)行狀態(tài)能夠使用who命令、w命令查看用戶相關(guān)信息能夠使用joumalctl命令查看系統(tǒng)各種日志信息能夠使用lsof命令查看系統(tǒng)打開了哪些文件能夠使用firewalld命令完成特定場景的防火墻配置技能目標(biāo)學(xué)習(xí)目標(biāo)/Target通過Linux操作系統(tǒng)安全機(jī)制的學(xué)習(xí),培養(yǎng)全面審視系統(tǒng)安全性的能力通過Linux操作系統(tǒng)不安全因素識別的學(xué)習(xí),培養(yǎng)敏銳的風(fēng)險(xiǎn)感知與預(yù)防意識通過監(jiān)控進(jìn)程與查看日志的訓(xùn)練,培養(yǎng)基于數(shù)據(jù)的邏輯推理能力與系統(tǒng)化排查思維通過學(xué)習(xí)防火墻的配置與管理,激發(fā)對網(wǎng)絡(luò)安全防護(hù)的興趣,培養(yǎng)構(gòu)建安全網(wǎng)絡(luò)環(huán)境的責(zé)任感和使命感通過學(xué)習(xí)SELinux安全系統(tǒng)的應(yīng)用與實(shí)踐,培養(yǎng)高級安全配置能力,激發(fā)在復(fù)雜安全環(huán)境下的創(chuàng)新思維素養(yǎng)目標(biāo)目錄/Contents9.19.2Linux操作系統(tǒng)安全概述系統(tǒng)運(yùn)行情況檢查和監(jiān)督9.3防火墻9.4SELinux安全系統(tǒng)項(xiàng)目導(dǎo)入01項(xiàng)目導(dǎo)入隨著業(yè)務(wù)不斷拓展,公司的數(shù)據(jù)量與日俱增,網(wǎng)絡(luò)環(huán)境也愈發(fā)復(fù)雜,為了提高公司整體網(wǎng)絡(luò)安全防護(hù)能力,上級領(lǐng)導(dǎo)決定對公司網(wǎng)絡(luò)環(huán)境進(jìn)行全面升級,此次升級涵蓋網(wǎng)絡(luò)監(jiān)控、進(jìn)程監(jiān)控、日志監(jiān)控及防火墻配置等多個(gè)方面,旨在全方位保障公司數(shù)據(jù)安全,防止未經(jīng)授權(quán)的訪問和抵御潛在的網(wǎng)絡(luò)攻擊。防火墻作為網(wǎng)絡(luò)安全防護(hù)的第一道防線,有著至關(guān)重要的作用,細(xì)分下來包含多個(gè)具體任務(wù)。上級領(lǐng)導(dǎo)將其中最為基礎(chǔ)又關(guān)鍵的部分交給小智來完成,這既是對他能力的信任,也是對他的一次重要考驗(yàn),幫助他進(jìn)一步深化對Linux系統(tǒng)安全管理的理解與實(shí)踐。知識準(zhǔn)備02了解Linux操作系統(tǒng)安全機(jī)制,能夠說出Linux常見的安全機(jī)制。學(xué)習(xí)目標(biāo)9.1.1Linux操作系統(tǒng)安全機(jī)制Linux操作系統(tǒng)從誕生以來就很注重系統(tǒng)安全問題,例如,Linux雖然是一個(gè)多用戶操作系統(tǒng),但它有著嚴(yán)格的權(quán)限管理,每個(gè)用戶(除了root用戶)只能行使被分配的權(quán)力,不能越權(quán)行事。此外,Linux操作系統(tǒng)是一個(gè)開源操作系統(tǒng),系統(tǒng)的安全漏洞能很快地被發(fā)現(xiàn)并被修復(fù)。經(jīng)過不斷的發(fā)展,Linux操作系統(tǒng)安全機(jī)制不斷完善,其安全性越來越高。9.1.1Linux操作系統(tǒng)安全機(jī)制下面針對Linux操作系統(tǒng)基本的安全機(jī)制進(jìn)行介紹??诹畎踩阑饓ψ钚?quán)限日志文件安全機(jī)制9.1.1Linux操作系統(tǒng)安全機(jī)制口令安全就是為用戶設(shè)置賬號、密碼,賬號、密碼不匹配的用戶不允許登錄Linux操作系統(tǒng)??诹畎踩荓inux操作系統(tǒng)最基本的安全機(jī)制。Linux操作系統(tǒng)保證口令安全的常用措施有以下幾種。1.口令安全9.1.1Linux操作系統(tǒng)安全機(jī)制設(shè)置密碼有效期A清除未設(shè)置密碼的賬號B清除長期未登錄的賬號CPASS_WARN_AGE 7為了保證口令安全,可以每隔一段時(shí)間修改密碼。Linux操作系統(tǒng)默認(rèn)密碼有效期為7天,用戶可以手動更改密碼有效期。密碼有效期可以在/etc/login.defs文件中設(shè)置,在該文件中,有如下選項(xiàng)。設(shè)置密碼有效期9.1.1Linux操作系統(tǒng)安全機(jī)制1.口令安全更改該選項(xiàng)的值即可修改密碼有效期。未設(shè)置密碼的賬號對Linux操作系統(tǒng)來說是極度危險(xiǎn)的,攻擊者可以輕易地利用該賬號登錄系統(tǒng)。為了保證系統(tǒng)安全,可以通過/etc/passwd文件查看并清除未設(shè)置密碼的賬號。清除未設(shè)置密碼的賬號9.1.1Linux操作系統(tǒng)安全機(jī)制1.口令安全在Linux操作系統(tǒng)中,有些賬號可能登錄幾次后就不再使用,它們的存在對系統(tǒng)來說是一種安全威脅,因此要定期清理這些賬號。清除長期未登錄的賬號9.1.1Linux操作系統(tǒng)安全機(jī)制1.口令安全Linux操作系統(tǒng)中的最小權(quán)限是指通過設(shè)置文件或目錄的權(quán)限來防止違規(guī)操作。在Linux操作系統(tǒng)中,每一個(gè)文件或目錄都有不同的權(quán)限屬性,這些權(quán)限包括讀、寫、執(zhí)行、SUID、SGID等,為這些文件分配用戶權(quán)限時(shí),應(yīng)當(dāng)以最小權(quán)限為原則,防止用戶越權(quán)行事,給系統(tǒng)安全帶來威脅。9.1.1Linux操作系統(tǒng)安全機(jī)制2.最小權(quán)限防火墻技術(shù)是計(jì)算機(jī)最基本的防御措施,它通過定義一組規(guī)則來過濾不合法的流量。此外,防火墻還可以跟蹤、監(jiān)控已經(jīng)放行的流量,對流量的流向進(jìn)行記錄,一旦發(fā)現(xiàn)問題就會報(bào)警,把它們對網(wǎng)絡(luò)和主機(jī)的危害降到最低。如果因?yàn)橐?guī)則定義不當(dāng)?shù)瘸霈F(xiàn)了安全問題,防火墻軟件的記錄文件還可以提供佐證,便于追蹤線索。9.1.1Linux操作系統(tǒng)安全機(jī)制3.防火墻Linux操作系統(tǒng)提供了豐富的日志文件來記錄系統(tǒng)的運(yùn)行情況,這些日志記錄了系統(tǒng)中幾乎所有的操作,通過認(rèn)真讀取日志文件可以查找、解決日常遇到的各種問題。Linux操作系統(tǒng)日志文件的默認(rèn)位置是/var/log,有些第三方軟件的日志文件也會保存在自己獨(dú)有的目錄。進(jìn)入/var/log目錄,查看openEuler的日志文件,查看命令及運(yùn)行結(jié)果如下所示。9.1.1Linux操作系統(tǒng)安全機(jī)制4.日志文件點(diǎn)擊查看了解Linux操作系統(tǒng)不安全因素,能夠說出Linux常見的不安全因素。學(xué)習(xí)目標(biāo)9.1.2Linux操作系統(tǒng)不安全因素Linux操作系統(tǒng)從誕生以來就很注重系統(tǒng)安全問題,例如,Linux雖然是一個(gè)多用戶操作系統(tǒng),但它有著嚴(yán)格的權(quán)限管理,每個(gè)用戶(除了root用戶)只能行使被分配的權(quán)力,不能越權(quán)行事。此外,Linux操作系統(tǒng)是一個(gè)開源操作系統(tǒng),系統(tǒng)的安全漏洞能很快地被發(fā)現(xiàn)并被修復(fù)。經(jīng)過不斷的發(fā)展,Linux操作系統(tǒng)安全機(jī)制不斷完善,其安全性越來越高。9.1.2Linux操作系統(tǒng)不安全因素任何可能對Linux操作系統(tǒng)造成潛在破壞的人、對象或事件等都稱為Linux操作系統(tǒng)不安全因素。從這個(gè)角度來說,Linux操作系統(tǒng)不安全因素既包括環(huán)境和災(zāi)害因素,又包括人為因素和系統(tǒng)自身的因素??傮w來說,Linux操作系統(tǒng)不安全因素大致可分為以下3種。物理因素A人為因素B系統(tǒng)自身因素C9.1.2Linux操作系統(tǒng)不安全因素物理因素是指在物理介質(zhì)上危害Linux操作系統(tǒng)的安全,主要受Linux操作系統(tǒng)設(shè)備所處的環(huán)境影響,包括溫度、濕度、靜電、灰塵、強(qiáng)電磁場、電磁脈沖,以及自然災(zāi)害中的火災(zāi)、水災(zāi)、地震等。目前,針對這些非人為的環(huán)境和災(zāi)害因素已有較好的應(yīng)對策略。1.物理因素2.人為因素人為因素是指由于人員的疏忽或黑客的主動攻擊造成的系統(tǒng)安全事件,這些攻擊可能是有意的,也可能是無意的。有意的系統(tǒng)破壞行為是指人為主動的惡意攻擊、違紀(jì)、違法和犯罪等。無意的系統(tǒng)破壞行為是指由于操作疏忽而發(fā)生失誤,對系統(tǒng)造成不良影響。Linux操作系統(tǒng)安全防護(hù)技術(shù)主要就是針對系統(tǒng)安全威脅進(jìn)行防護(hù)。9.1.2Linux操作系統(tǒng)不安全因素系統(tǒng)自身因素是指網(wǎng)絡(luò)中的計(jì)算機(jī)系統(tǒng)或網(wǎng)絡(luò)設(shè)備由于自身的原因引發(fā)的系統(tǒng)安全風(fēng)險(xiǎn)。威脅系統(tǒng)安全的系統(tǒng)自身因素主要包括以下3種。3.系統(tǒng)自身因素計(jì)算機(jī)硬件系統(tǒng)的故障;1各類計(jì)算機(jī)軟件的故障或安全缺陷,包括系統(tǒng)軟件(如操作系統(tǒng))、應(yīng)用軟件的故障或缺陷;2網(wǎng)絡(luò)和通信協(xié)議自身的缺陷。39.1.2Linux操作系統(tǒng)不安全因素雖然Linux操作系統(tǒng)有基本的安全機(jī)制,系統(tǒng)日志也會記錄系統(tǒng)運(yùn)行情況,但作為Linux操作系統(tǒng)使用者,我們還需要經(jīng)常檢查系統(tǒng)運(yùn)行情況,以了解系統(tǒng)的運(yùn)行狀態(tài),確保沒有安全隱患。本節(jié)將針對常見的系統(tǒng)運(yùn)行情況檢查和監(jiān)督進(jìn)行講解。9.2系統(tǒng)運(yùn)行情況檢查和監(jiān)督掌握網(wǎng)絡(luò)的檢查,能夠使用ss命令監(jiān)控系統(tǒng)網(wǎng)絡(luò)運(yùn)行情況。學(xué)習(xí)目標(biāo)9.2.1檢查網(wǎng)絡(luò)日常使用Linux操作系統(tǒng)時(shí),經(jīng)常檢查系統(tǒng)網(wǎng)絡(luò)狀態(tài)如網(wǎng)絡(luò)連接(Socket)類型、網(wǎng)絡(luò)連接狀態(tài)等,及時(shí)獲取網(wǎng)絡(luò)連接的異常情況,可以降低系統(tǒng)安全風(fēng)險(xiǎn)。Linux的所有操作都是通過命令實(shí)現(xiàn)的,針對網(wǎng)絡(luò)檢查,Linux操作系統(tǒng)提供了ss命令。9.2.1檢查網(wǎng)絡(luò)ss選項(xiàng)參數(shù)ss是SocketStatistics的縮寫,該命令用于獲取所有Socket(套接字)統(tǒng)計(jì)信息,包括Socket類型、Socket狀態(tài)、Socket的IP地址及端口號等。ss命令的功能比較強(qiáng)大,因此它的用法也比較復(fù)雜,但它的基本格式和其他命令相同,具體如下所示。具體格式9.2.1檢查網(wǎng)絡(luò)ss命令常用選項(xiàng)如表。9.2.1檢查網(wǎng)絡(luò)選項(xiàng)說明-a顯示所有連接的Socket,包括連接的和沒有連接的,該選項(xiàng)提供了系統(tǒng)的全面網(wǎng)絡(luò)連接視圖-s顯示系統(tǒng)中所有的Socket摘要,該選項(xiàng)提供了關(guān)于系統(tǒng)中Socket使用的快速概覽-l顯示處于監(jiān)聽狀態(tài)的Socket-p顯示使用Socket的進(jìn)程,包括進(jìn)程ID和進(jìn)程名稱。該選項(xiàng)有助于用戶確定哪個(gè)進(jìn)程正在使用特定的網(wǎng)絡(luò)連接-t顯示TCPSocket9.2.1檢查網(wǎng)絡(luò)選項(xiàng)說明-u顯示UDPSocket-i顯示TCPSocket內(nèi)部信息-n以數(shù)字形式顯示IP地址和端口,而不解析為主機(jī)名和服務(wù)名-r將服務(wù)名解析為主機(jī)名,將端口號解釋為服務(wù)(協(xié)議)名-4使用IPv4地址的Socket-6使用IPv6地址的Socketss命令的用法比較多,如檢查Socket類型、檢查Socket狀態(tài)等,下面介紹幾種ss命令常見的用法。9.2.1檢查網(wǎng)絡(luò)ss命令可以通過不同的選項(xiàng)顯示不同類型的Socket信息,例如,通過-s選項(xiàng)顯示Socket摘要信息,通過-l選項(xiàng)顯示所有處于監(jiān)聽狀態(tài)的信息。1.顯示Socket信息9.2.1檢查網(wǎng)絡(luò)案例9-1:顯示Socket摘要信息。點(diǎn)擊查看1.顯示Socket信息9.2.1檢查網(wǎng)絡(luò)案例9-2:顯示處于監(jiān)聽狀態(tài)的Socket,以及使用這些Socket的進(jìn)程。點(diǎn)擊查看Linux操作系統(tǒng)中的Socket有多種類型,可以通過ss命令的不同選項(xiàng)來顯示不同類型的Socket信息,如TCPSocket、UDPSocket。2.顯示不同類型的Socket9.2.1檢查網(wǎng)絡(luò)案例9-3:顯示TCPSocket、UDPSocket信息。點(diǎn)擊查看一個(gè)Socket有多種不同的狀態(tài),通過ss命令可以查詢處于不同狀態(tài)的Socket。Socket常見的狀態(tài)如表。3.顯示某種狀態(tài)的Socket9.2.1檢查網(wǎng)絡(luò)狀態(tài)說明LISTEN監(jiān)聽狀態(tài)ESTABLISHED連接打開狀態(tài),即剛剛建立連接,可以傳輸數(shù)據(jù)的狀態(tài)CONNECTED連接狀態(tài),通常除了LISTEN和CLOSED狀態(tài),其他狀態(tài)都可以稱為CONNECTED狀態(tài)FIN-WAIT-1/FIN-WAIT-2釋放連接狀態(tài)CLOSED關(guān)閉狀態(tài)9.2.1檢查網(wǎng)絡(luò)案例9-4:顯示所有狀態(tài)為ESTABLISHED的HTTP連接。3.顯示某種狀態(tài)的Socket[itheima@localhost~]$ss-ostateestablished'(dport=:httpordport=:http)' NetidRecv-QSend-QLocalAddress:PortPeerAddress:Port在案例9-4中,使用ss命令顯示所有狀態(tài)為ESTABLISHED的HTTP連接,由輸出結(jié)果可知,系統(tǒng)中沒有處于ESTABLISHED狀態(tài)的HTTP連接。9.2.1檢查網(wǎng)絡(luò)案例9-5:分別顯示使用IPv4地址和IPv6地址,并且處于CLOSED狀態(tài)的Socket。點(diǎn)擊查看3.顯示某種狀態(tài)的Socketss命令提供了src子命令和dst子命令來匹配指定IP地址的Socket,src子命令用于匹配本地地址,dst子命令用于匹配遠(yuǎn)程地址。9.2.1檢查網(wǎng)絡(luò)4.顯示指定IP地址和端口號的Socket9.2.1檢查網(wǎng)絡(luò)案例9-6:顯示來自6地址的Socket。4.顯示指定IP地址和端口號的Socket[itheima@localhost~]$ssdst6NetidStateRecv-QSend-QLocalAddress:PortPeerAddress:Port案例9-6使用ss命令顯示來自6地址的Socket,由輸出結(jié)果可知,系統(tǒng)中沒有來自該地址的Socket。9.2.1檢查網(wǎng)絡(luò)案例9-6:顯示來自6地址的Socket。4.顯示指定IP地址和端口號的Socket[itheima@localhost~]$ssdst6:1024[itheima@localhost~]$ssdst6:http需要注意的是,在IP地址后面可以使用“:”連接端口號指定查詢來自該地址某個(gè)端口的Socket,具體命令如下所示。指定端口號http連接默認(rèn)端口號為809.2.1檢查網(wǎng)絡(luò)案例9-7:顯示來自本機(jī)地址的Socket。4.顯示指定IP地址和端口號的Socket[itheima@itheima~]$sssrc37NetidStateRecv-QSend-QLocalAddress:PortPeerAddress:PortProcesstcpESTAB0037:ssh:50604ssdport/sportOPPORTss命令還可以將本地端口(sport)或遠(yuǎn)程端口(dport)與另一個(gè)端口進(jìn)行比較,查詢來自某些端口的Socket。比較端口時(shí),ss命令格式如下所示。具體格式9.2.1檢查網(wǎng)絡(luò)5.端口比較在上述格式中,PORT為端口號,OP為運(yùn)算規(guī)則,如=、>、<等。OP表示的運(yùn)算規(guī)則如表。9.2.1檢查網(wǎng)絡(luò)5.端口比較規(guī)則說明\<=或le小于或等于\>=或ge大于或等于==或=或eq等于!=或ne不等于\<或lt小于\>或gt大于使用端口比較運(yùn)算符查詢Socket的命令示例如下。9.2.1檢查網(wǎng)絡(luò)5.端口比較[itheima@localhost~]$ssdport\>=60000 [itheima@localhost~]$ssdport=32195 [itheima@localhost~]$sssport=http [itheima@localhost~]$sssport!=1024 [itheima@localhost~]$ssdport\<1024
匹配大于或等于60000的遠(yuǎn)程端口匹配遠(yuǎn)程端口32195匹配本地80端口匹配不是1024的本地端口匹配小于1024的遠(yuǎn)程端口掌握進(jìn)程的監(jiān)控,能夠使用ps命令、top命令監(jiān)控系統(tǒng)進(jìn)程運(yùn)行狀態(tài)。學(xué)習(xí)目標(biāo)9.2.2監(jiān)控進(jìn)程進(jìn)程是計(jì)算機(jī)系統(tǒng)中的運(yùn)行單元,計(jì)算機(jī)系統(tǒng)主要通過進(jìn)程完成任務(wù),如讀寫文件、操作數(shù)據(jù)庫等。如果系統(tǒng)中有非法進(jìn)程,可能會給系統(tǒng)帶來重大危害。例如,木馬病毒都以進(jìn)程的形式在計(jì)算機(jī)上運(yùn)行。此外,有些網(wǎng)絡(luò)攻擊會破壞計(jì)算機(jī)系統(tǒng)的合法進(jìn)程,使系統(tǒng)無法正常工作,從而達(dá)到攻擊計(jì)算機(jī)系統(tǒng)的目的。因此,監(jiān)控和保護(hù)進(jìn)程安全,是保證系統(tǒng)安全的重要措施。9.2.2監(jiān)控進(jìn)程Linux操作系統(tǒng)提供了很多命令用于監(jiān)控進(jìn)程,如ps、top、pstree等,通過這些命令,系統(tǒng)管理員可以了解系統(tǒng)中進(jìn)程運(yùn)行情況,如進(jìn)程運(yùn)行狀態(tài)、進(jìn)程是否結(jié)束、哪些進(jìn)程占用了過多資源等。針對非法進(jìn)程及異常進(jìn)程,系統(tǒng)管理員可以及時(shí)采取相應(yīng)措施,以保證Linux操作系統(tǒng)安全。9.2.2監(jiān)控進(jìn)程掌握查看用戶的方法,能夠使用who命令、w命令查看用戶相關(guān)信息。學(xué)習(xí)目標(biāo)9.2.3查看用戶Linux操作系統(tǒng)是一個(gè)多用戶操作系統(tǒng),用戶登錄需要口令,如果用戶口令被截取,則攻擊者會利用用戶口令登錄系統(tǒng)進(jìn)行非法操作。如果權(quán)限較大的用戶口令被截取,則會給系統(tǒng)帶來不可估量的危害。因此,經(jīng)常查看用戶登錄情況,也可以保證系統(tǒng)安全。9.2.3查看用戶w命令是who命令的增強(qiáng)版,它可以顯示登錄用戶更多、更詳細(xì)的信息。例如,w命令可以顯示登錄用戶當(dāng)前正在進(jìn)行的工作。w命令的基本格式如下所示。w選項(xiàng)參數(shù)
9.2.3查看用戶基本格式w命令常用選項(xiàng)如表。9.2.3查看用戶選項(xiàng)說明-h不顯示列標(biāo)題-s使用短格式顯示信息,僅顯示用戶名、終端、來源地址和登錄時(shí)間,不顯示其他信息-f顯示遠(yuǎn)程主機(jī)名或IP地址,在輸出結(jié)果中包含F(xiàn)ROM字段,顯示用戶是從哪臺遠(yuǎn)程主機(jī)登錄的案例9-8:查看系統(tǒng)當(dāng)前登錄用戶的信息。點(diǎn)擊查看9.2.3查看用戶掌握查看系統(tǒng)日志的方法,能夠使用journalctl命令查看系統(tǒng)各種日志信息。學(xué)習(xí)目標(biāo)9.2.4查看日志openEuler使用systemd-journald服務(wù)收集日志信息并進(jìn)行統(tǒng)一管理,為了方便查看日志文件,systemd-journald服務(wù)提供了相應(yīng)的日志管理命令journalctl。journalctl命令功能強(qiáng)大,它可以查看所有的日志信息,其基本格式如下所示。journalctl選項(xiàng)參數(shù)
基本格式9.2.4查看日志journalctl命令常用選項(xiàng)如表。9.2.4查看日志選項(xiàng)說明-a顯示全部日志信息-k查看內(nèi)核日志,用于調(diào)試與內(nèi)核相關(guān)的問題。這些日志包含與硬件和系統(tǒng)內(nèi)核相關(guān)的重要信息,如設(shè)備驅(qū)動程序的加載、系統(tǒng)調(diào)用的執(zhí)行等-b查看系統(tǒng)本次啟動的日志信息-u查看指定服務(wù)的日志信息,如-usshd.service
表示只顯示sshd服務(wù)相關(guān)的日志信息-n指定查看的日志條數(shù),如-n50表示查看50條日志,默認(rèn)是10行9.2.4查看日志選項(xiàng)說明-f追蹤日志,實(shí)時(shí)輸出最新日志信息-o指定輸出格式,journalctl命令可以輸出多種格式的信息。l
cat:僅輸出日志消息內(nèi)容,不包含元數(shù)據(jù)或其他附加信息l
export:以二進(jìn)制格式導(dǎo)出日志l
json:標(biāo)準(zhǔn)的JSON格式,每行一個(gè)JSON對象,方便程序解析l
json-pretty:優(yōu)化的JSON格式,更易讀l
json-sse:特定格式的JSON,適用于通過HTTP流式傳輸日志條目,常用于Web應(yīng)用9.2.4查看日志選項(xiàng)說明-ol
short:默認(rèn)的輸出格式,顯示類似于傳統(tǒng)syslog文件的日志條目l
short-mnotonic:默認(rèn)格式,提供普通時(shí)間戳l
short-iso:默認(rèn)格式,時(shí)間戳使用ISO8601格式l
short-precise:默認(rèn)格式,提供微秒級精度的時(shí)間戳l
verbose:顯示該條目的全部可用字段,提供最詳細(xì)的輸出,包括所有元數(shù)據(jù)字段。這對于調(diào)試或深入了解日志條目的細(xì)節(jié)非常有用-p顯示指定優(yōu)先級的日志,如-perr表示顯示所有錯(cuò)誤級別的日志信息--disk-usage查看當(dāng)前日志占用的磁盤空間大小示例:journanctl命令查看日志的用法示例如下。點(diǎn)擊查看9.2.4查看日志journalctl命令可以按照不同的匹配規(guī)則查看日志信息,下面介紹幾種常用的日志查看規(guī)則。9.2.4查看日志journalctl命令可以使用--since和--until選項(xiàng)查看指定時(shí)間的日志,這兩個(gè)選項(xiàng)的含義如下所示。1.查看指定時(shí)間的日志9.2.4查看日志1--since:--until:指定日志信息的開始時(shí)間。2指定日志信息的截止時(shí)間。案例9-9:查看昨天的日志。點(diǎn)擊查看9.2.4查看日志1.查看指定時(shí)間的日志案例9-10:查看2025年2月11日到目前為止的日志。點(diǎn)擊查看9.2.4查看日志1.查看指定時(shí)間的日志案例9-11:查看過去15分鐘的日志。點(diǎn)擊查看9.2.4查看日志1.查看指定時(shí)間的日志journalctl命令可以查看指定進(jìn)程、指定用戶或指定用戶組的日志,格式如下所示。journalctl選項(xiàng)=參數(shù)
基本格式9.2.4查看日志2.查看指定時(shí)間的日志指定進(jìn)程、用戶、用戶組的選項(xiàng)分別如下所示。
_PID:指定進(jìn)程ID。
_UID:指定用戶ID。
_GID:指定用戶組ID。案例9-12:查看昨天PID為4070的進(jìn)程日志。點(diǎn)擊查看9.2.4查看日志2.查看指定時(shí)間的日志案例9-13:查看用戶ID為1000的用戶日志、用戶組ID為1002的用戶組日志。[itheima@itheima~]$journalctl_UID=1000[itheima@itheima~]$journalctl_GID=10029.2.4查看日志2.查看指定時(shí)間的日志Linux操作系統(tǒng)的日志信息量很大,有些并不重要的日志會干擾我們對日志的分析,為此,Linux操作系統(tǒng)根據(jù)日志記錄的信息錯(cuò)誤嚴(yán)重程度,將日志劃分為不同的優(yōu)先級,具體如下所示。9.2.4查看日志3.查看指定優(yōu)先級的日志0:emerg(緊急)。1:alert(警惕)。2:crit(嚴(yán)重)。3:err(錯(cuò)誤)。4:warning(警告)。5:notice(注意)。6:info(通知)。7:debug(調(diào)試)。案例9-14:查看系統(tǒng)本次啟動后,優(yōu)先級為err的日志。點(diǎn)擊查看9.2.4查看日志3.查看指定優(yōu)先級的日志掌握查看系統(tǒng)文件的方法,能夠使用lsof命令查看系統(tǒng)打開了哪些文件。學(xué)習(xí)目標(biāo)9.2.5查看系統(tǒng)打開的文件openEuler使用systemd-journald服務(wù)收集日志信息并進(jìn)行統(tǒng)一管理,為了方便查看日志文件,systemd-journald服務(wù)提供了相應(yīng)的日志管理命令journalctl。journalctl命令功能強(qiáng)大,它可以查看所有的日志信息,其基本格式如下所示。journalctl選項(xiàng)參數(shù)
基本格式9.2.5查看系統(tǒng)打開的文件在Linux操作系統(tǒng)中,一切皆文件,通過文件不僅可以訪問常規(guī)數(shù)據(jù),還可以訪問網(wǎng)絡(luò)連接和硬件,系統(tǒng)運(yùn)行情況都可以從文件中獲知。因此,在Linux操作系統(tǒng)中查看系統(tǒng)當(dāng)前打開的文件,可以幫助我們監(jiān)控系統(tǒng)運(yùn)行情況,也可以幫助我們診斷系統(tǒng)出現(xiàn)的問題。9.2.5查看系統(tǒng)打開的文件Linux操作系統(tǒng)提供了一個(gè)命令lsof,用于查看系統(tǒng)打開的文件。lsof是ListOpenFiles的縮寫,用于查看系統(tǒng)打開的文件。除了查看系統(tǒng)打開的文件,lsof命令還可以查看網(wǎng)絡(luò)連接、進(jìn)程、端口號、用戶等信息,因此,lsof命令功能非常強(qiáng)大,用法也比較復(fù)雜。9.2.5查看系統(tǒng)打開的文件lsof命令基本格式如下所示。lsof選項(xiàng)參數(shù)
基本格式9.2.5查看系統(tǒng)打開的文件lsof命令常用選項(xiàng)如表。選項(xiàng)說明-a用來對指定的條件進(jìn)行“與”操作。例如,當(dāng)同時(shí)指定了UID和PID時(shí),可使用-a選項(xiàng)確保兩個(gè)條件都滿足-t只列出PID-n不解析主機(jī)名,加快查詢速度-c進(jìn)程名或命令列出指定進(jìn)程或命令打開的文件-gGID列出指定GID的組中進(jìn)程打開的文件9.2.5查看系統(tǒng)打開的文件選項(xiàng)說明-d文件描述符列出使用該文件的進(jìn)程,如-da.txt表示查看使用a.txt文件的所有進(jìn)程+d目錄列出指定目錄下被打開的文件(不遞歸)+D目錄遞歸列出指定目錄下被打開的文件-i按網(wǎng)絡(luò)連接過濾,列出所有打開了網(wǎng)絡(luò)Socket的進(jìn)程。可以配合具體的協(xié)議、主機(jī)地址、端口號等參數(shù)使用,如-iTCP@:https
表示顯示所有到的HTTPS連接-pPID列出指定PID所打開的文件-u用戶名列出指定用戶打開的文件9.2.5查看系統(tǒng)打開的文件在不添加任何選項(xiàng)的情況下,lsof命令會列出所有活動進(jìn)程打開的文件,由于輸出信息太多,可以使用more命令指定輸出行數(shù)。為避免輸出結(jié)果列數(shù)太多不得不換行顯示導(dǎo)致信息錯(cuò)亂,下面以截圖形式展示lsof命令的輸出結(jié)果,如圖。進(jìn)程名稱進(jìn)程標(biāo)識符,即PID線程ID任務(wù)名稱進(jìn)程所有者文件描述符9.2.5查看系統(tǒng)打開的文件進(jìn)程通過文件描述符識別文件,lsof命令常用的文件描述符如表。文件描述符說明0標(biāo)準(zhǔn)輸出1標(biāo)準(zhǔn)輸入2標(biāo)準(zhǔn)錯(cuò)誤cwd應(yīng)用程序當(dāng)前的工作目錄,即該應(yīng)用程序的啟動目錄txt該類型的文件是程序代碼,如應(yīng)用程序二進(jìn)制文件本身或共享庫lnn庫引用(AIX)errFD信息錯(cuò)誤jld監(jiān)管目錄9.2.5查看系統(tǒng)打開的文件ltx共享庫文本(代碼和數(shù)據(jù))mxx十六進(jìn)制內(nèi)存映射類型號m86DOS合并映射文件mem內(nèi)存映射文件pd父目錄rtd根目錄tr內(nèi)核跟蹤文件(OpenBSD)v86VP/ix映射文件NOFD這并不是一個(gè)標(biāo)準(zhǔn)的文件描述符類型,當(dāng)進(jìn)程無法根據(jù)上下文獲取文件描述符類型時(shí),會將其顯示為NOFD9.2.5查看系統(tǒng)打開的文件lsof命令常用的文件類型如表。文件類型說明REG普通文件DIR目錄CHR字符類型BLK塊設(shè)備類型UNIXUNIX域套接字FIFO先進(jìn)先出隊(duì)列IPv4IPv4套接字9.2.5查看系統(tǒng)打開的文件DEVICE:存儲文件的設(shè)備。SIZE/OFF:文件的大小和文件偏移量(以字節(jié)為單位)。NODE:索引節(jié)點(diǎn)。NAME:文件名稱。9.2.5查看系統(tǒng)打開的文件案例9-15:查看/bin/bash文件都在被哪些進(jìn)程使用。點(diǎn)擊查看9.2.5查看系統(tǒng)打開的文件案例9-16:查看哪些進(jìn)程在使用80端口。點(diǎn)擊查看9.2.5查看系統(tǒng)打開的文件案例9-17:查看TCP連接信息和UDP連接信息。點(diǎn)擊查看9.2.5查看系統(tǒng)打開的文件案例9-18:查看/etc目錄下被打開的文件。點(diǎn)擊查看9.2.5查看系統(tǒng)打開的文件防御網(wǎng)絡(luò)攻擊、保障系統(tǒng)安全是非常重要的一項(xiàng)工作,防火墻作為公網(wǎng)與內(nèi)網(wǎng)之間的保護(hù)屏障,在防御網(wǎng)絡(luò)攻擊、保障系統(tǒng)安全方面起著至關(guān)重要的作用。本節(jié)將針對防火墻進(jìn)行詳細(xì)講解。9.3防火墻了解防火墻,能夠說出防火墻概念、作用及特點(diǎn)。學(xué)習(xí)目標(biāo)9.3.1防火墻概述防火墻是保障系統(tǒng)安全非常重要的一個(gè)工具,下面分別從防火墻概念、防火墻作用、防火墻特征、防火墻的不足與缺陷4個(gè)方面對防火墻進(jìn)行講解。防火墻概念防火墻特征防火墻作用防火墻的不足與缺陷防火墻概述9.3.1防火墻概述防火墻也稱為防護(hù)墻,是指隔離在本地網(wǎng)絡(luò)與外界網(wǎng)絡(luò)之間的一種高級訪問控制設(shè)備、置于不同網(wǎng)絡(luò)安全域之間的一系列部件組合,也是不同網(wǎng)絡(luò)安全域間通信流的唯一通道。防火墻能根據(jù)企業(yè)的相關(guān)安全政策控制(允許、拒絕、監(jiān)視、記錄)進(jìn)出網(wǎng)絡(luò)的訪問行為。防火墻的位置如圖。1.防火墻概念9.3.1防火墻概述防火墻如同一扇安全門,負(fù)責(zé)控制并檢查站點(diǎn)訪問者,它一般可以起到以下作用。2.防火墻作用9.3.1防火墻概述
過濾、篩選和屏蔽有害的信息和服務(wù),保護(hù)內(nèi)網(wǎng)中的網(wǎng)絡(luò)服務(wù)。防止攻擊者接近防御設(shè)備。
實(shí)施安全策略,對網(wǎng)絡(luò)通信進(jìn)行訪問控制。對內(nèi)外網(wǎng)之間的通信進(jìn)行監(jiān)控審計(jì)。
限制用戶對特殊站點(diǎn)的訪問。隨著防火墻技術(shù)的發(fā)展,其功能越來越強(qiáng)大,但無論如何設(shè)計(jì),總體來說,防火墻應(yīng)該有如下5個(gè)方面的特征。3.防火墻特征9.3.1防火墻概述所有出站和入站的網(wǎng)絡(luò)流量都必須經(jīng)過防火墻;1只允許被授權(quán)的網(wǎng)絡(luò)流量通過,不被授權(quán)的網(wǎng)絡(luò)流量將被丟棄或拒絕;2防火墻本身不能被攻破。3可以與其他安全技術(shù)結(jié)合使用,以增強(qiáng)自身功能,提供更強(qiáng)大的保護(hù)。4界面友好,方便用戶設(shè)置防火墻規(guī)則。5雖然防火墻可以提高內(nèi)部網(wǎng)的安全性,在網(wǎng)絡(luò)安全體系中極為重要,但它并不是網(wǎng)絡(luò)中唯一的安全措施,除了上述特性,防火墻也存在一些不足和缺陷。4.防火墻的不足與缺陷9.3.1防火墻概述防火墻可以限制有害的網(wǎng)絡(luò)服務(wù),但一些存在安全漏洞卻有用的網(wǎng)絡(luò)服務(wù)也會被防火墻限制。1防火墻不能完全防止內(nèi)部威脅,比如用戶操作失誤導(dǎo)致網(wǎng)絡(luò)受到攻擊。2防火墻無法防御繞過防火墻的其他途徑的攻擊。34.防火墻的不足與缺陷9.3.1防火墻概述防火墻無法完全防御已感染病毒的軟件或文件。4防火墻無法防御木馬、緩沖區(qū)溢出等類型的攻擊。5防火墻是一種被動式的防護(hù)手段,它只能對目前已知的網(wǎng)絡(luò)威脅起作用。6了解防火墻策略與規(guī)則,能夠說出防火墻防御原理。學(xué)習(xí)目標(biāo)9.3.2防火墻策略與規(guī)則當(dāng)流量經(jīng)過防火墻時(shí),防火墻會將客戶請求逐一與防火墻設(shè)置的規(guī)則進(jìn)行匹配,匹配成功之后,防火墻會執(zhí)行規(guī)則中定義的行為,如允許、拒絕、丟棄等。防火墻的規(guī)則存儲在內(nèi)核中的netfilter模塊,多個(gè)規(guī)則可以組成一個(gè)規(guī)則鏈,根據(jù)流量處理位置的不同,可以將規(guī)則鏈分為以下5種。1INPUT:OUTPUT:流量入口過濾,定義流量由外部發(fā)往內(nèi)部的規(guī)則。2流量出口過濾,定義流量由內(nèi)部發(fā)往外部的規(guī)則。FORWARD:3轉(zhuǎn)發(fā)關(guān)卡過濾,定義對流量進(jìn)行路由轉(zhuǎn)發(fā)時(shí)的規(guī)則。PREROUTING:4路由前過濾,定義流量進(jìn)來還未查詢路由表之前的規(guī)則,所有的流量進(jìn)來都要先由這個(gè)規(guī)則鏈進(jìn)行處理。9.3.2防火墻策略與規(guī)則POSTROUTING:5路由后過濾,定義查詢完路由表數(shù)據(jù)將要出去的規(guī)則,所有發(fā)送出去的流量都要由這個(gè)規(guī)則鏈進(jìn)行處理。openEuler默認(rèn)使用firewalld工具管理防火墻。無論是iptables還是firewalld,它們都只是管理內(nèi)核netfilter模塊的一個(gè)工具,只是管理方式不同而已。由于本書以openEuler為環(huán)境,所以主要講解firewalld防火墻管理工具9.3.2防火墻策略與規(guī)則firewalld支持動態(tài)更新技術(shù),并且提出了區(qū)域(Zone)的概念,所謂區(qū)域是指firewalld預(yù)先準(zhǔn)備了幾套防火墻策略集合,用戶可以根據(jù)不同的生產(chǎn)環(huán)境來選擇不同的策略,從而實(shí)現(xiàn)防火墻策略之間的快速切換。9.3.2防火墻策略與規(guī)則firewalld常見區(qū)域及相應(yīng)策略如表。9.3.2防火墻策略與規(guī)則區(qū)域策略trusted(信任區(qū)域)信任所有主機(jī),允許所有網(wǎng)絡(luò)流量home(家庭區(qū)域)基本信任所有主機(jī),允許外部發(fā)起的ssh、mdns、samba-client和dhcpv6-client請求流量,以及內(nèi)部主動發(fā)起的相關(guān)流量internal(內(nèi)部區(qū)域)等同于homework(工作區(qū)域)基本信任所有主機(jī),允許外部發(fā)起的ssh、mdns、dhcpv6-client請求流量,以及內(nèi)部主動發(fā)起的相關(guān)流量9.3.2防火墻策略與規(guī)則區(qū)域策略public(公共區(qū)域)默認(rèn)區(qū)域,允許外部發(fā)起的ssh流量,以及內(nèi)部主動發(fā)起的相關(guān)流量external(外部區(qū)域)不信任其他主機(jī),允許外部發(fā)起的ssh流量,以及內(nèi)部主動發(fā)起的相關(guān)流量,并默認(rèn)轉(zhuǎn)發(fā)到該區(qū)域的IPv4傳出流量進(jìn)行地址轉(zhuǎn)換,啟用路由器功能dmz(隔離區(qū)域)允許外部發(fā)起的ssh請求流量,以及內(nèi)部主動發(fā)起的相關(guān)流量,可有限地訪問內(nèi)部資源block(限制區(qū)域)拒絕所有的外部請求,允許內(nèi)部主動發(fā)起的相關(guān)流量drop(丟棄區(qū)域)丟棄所有的外部請求,不做任何回應(yīng),只允許內(nèi)部主動發(fā)起的相關(guān)流量openEuler默認(rèn)開啟firewalld服務(wù),讀者可以使用systemctl命令查看firewalld服務(wù)狀態(tài),具體命令及輸出結(jié)果如下所示。9.3.2防火墻策略與規(guī)則點(diǎn)擊查看掌握firewall-cmd命令,能夠使用firewalld命令完成特定場景的防火墻配置。學(xué)習(xí)目標(biāo)9.3.3firewall-cmd命令firewalld提供了firewall-cmd命令來設(shè)置防火墻規(guī)則,下面分別對firewall-cmd命令的基本格式、配置防火墻的規(guī)則和用法示例進(jìn)行詳細(xì)講解。9.3.3firewall-cmd命令firewall-cmd命令的基本格式如下所示。1.firewall-cmd命令的基本格式firewall-cmd選項(xiàng)參數(shù)
基本格式9.3.3firewall-cmd命令firewalled-cmd命令常用選項(xiàng)如表。1.firewall-cmd命令的基本格式參數(shù)含義--get-default-zone查詢默認(rèn)的區(qū)域名稱--set-default-zone=區(qū)域名稱設(shè)置默認(rèn)的區(qū)域,使其永久生效--get-zones顯示可用的區(qū)域--get--services顯示預(yù)先定義的服務(wù)--get-active-zones顯示當(dāng)前正在使用的區(qū)域與網(wǎng)卡名稱--add-source=將源自此IP地址或子網(wǎng)的流量導(dǎo)向指定的區(qū)域9.3.3firewall-cmd命令1.firewall-cmd命令的基本格式參數(shù)含義--remove-source不再將源自此IP地址或子網(wǎng)的流量都導(dǎo)向某個(gè)指定區(qū)域--add-service=服務(wù)名設(shè)置默認(rèn)區(qū)域允許該服務(wù)的流量--add-port=端口號/協(xié)議設(shè)置默認(rèn)區(qū)域允許該端口的流量--remove-service=服務(wù)名設(shè)置默認(rèn)區(qū)域不再允許該服務(wù)的流量--add-interface=網(wǎng)卡名稱將源自該網(wǎng)卡的所有流量都導(dǎo)向某個(gè)指定區(qū)域--change-interface=網(wǎng)卡名稱將某個(gè)網(wǎng)卡與區(qū)域進(jìn)行關(guān)聯(lián)9.3.3firewall-cmd命令1.firewall-cmd命令的基本格式參數(shù)含義--list-all顯示當(dāng)前區(qū)域的配置參數(shù)、資源、端口以及服務(wù)等信息--list-all-zones顯示所有區(qū)域的配置參數(shù)、資源、端口以及服務(wù)等信息--reload讓永久生效的配置規(guī)則立即生效,并覆蓋當(dāng)前的配置規(guī)則--panic-on開啟應(yīng)急狀況模式--panic-off關(guān)閉應(yīng)急狀況模式9.3.3firewall-cmd命令firewalld配置防火墻規(guī)則有兩個(gè)模式,分別如下所示。2.firewalld配置防火墻的規(guī)則1運(yùn)行模式(Runtime):永久模式(Permanent):運(yùn)行時(shí)模式下配置的規(guī)則立即生效,它是firewalld的默認(rèn)模式。2永久模式下配置的規(guī)則需要重啟系統(tǒng)才能生效,通過--permanent選項(xiàng)指定。如果要使永久模式下配置的規(guī)則立即生效,需要手動執(zhí)行firewall-cmd--reload命令。9.3.3firewall-cmd命令下面通過一組示例演示firewall-cmd命令的用法。3.firewall-cmd命令的用法示例9.3.3firewall-cmd命令查看firewalld服務(wù)當(dāng)前所使用的區(qū)域。3.firewall-cmd命令的用法示例STEP01[root@localhost~]#firewall-cmd--get-default-zonepublic
由輸出結(jié)果可知,當(dāng)前firewalld服務(wù)所使用的區(qū)域?yàn)閜ublic,即允許所有的流量。9.3.3firewall-cmd命令查看firewalld當(dāng)前區(qū)域的配置參數(shù)、資源、服務(wù)等信息。3.firewall-cmd命令的用法示例STEP02點(diǎn)擊查看9.3.3firewall-cmd命令查看public區(qū)域是否允許HTTPS流量和DNS流量通過。3.firewall-cmd命令的用法示例STEP03[root@itheima~]#firewall-cmd--zone=public--query-service=httpsno[root@itheima~]#firewall-cmd--zone=public--query-service=dnsno
由輸出結(jié)果可知,public區(qū)域不允許HTTPS和DNS的流量通過。9.3.3firewall-cmd命令將HTTPS流量設(shè)置為永久允許,并立即生效。3.firewall-cmd命令的用法示例STEP04[root@itheima~]#firewall-cmd--permanent--zone=public--add-service=httpssuccess[root@itheima~]#firewall-cmd--reloadsuccess[root@itheima~]#firewall-cmd--zone=public--query-service=httpsyes
9.3.3firewall-cmd命令將1024端口的流量設(shè)置為允許,即開放1024端口,僅限當(dāng)前有效。3.firewall-cmd命令的用法示例STEP05[root@itheima~]#firewall-cmd--zone=public--list-port [root@itheima~]#firewall-cmd--zone=public--add-port=1024/tcpsuccess[root@itheima~]#firewall-cmd--zone=public--list-port1024/tcp
查看開發(fā)的端口開放1024端口9.3.3firewall-cmd命令firewalld服務(wù)還提供了富規(guī)則(Rich-Rule)配置,富規(guī)則即更細(xì)致、更詳細(xì)的規(guī)則,它可以針對系統(tǒng)服務(wù)、端口號、源地址和目標(biāo)地址等參數(shù)進(jìn)行更有針對性的規(guī)則設(shè)置。例如,配置一條富規(guī)則,拒絕/24網(wǎng)段的所有用戶訪問本機(jī)的SSH服務(wù)(22端口),設(shè)置命令如下所示。3.firewall-cmd命令的用法示例STEP05[root@localhost~]#firewall-cmd--zone=public--add-rich-rule='rulefamily="ipv4"sourceaddress="/24"servicename="ssh"reject'success
9.3.3firewall-cmd命令在IP地址為35的主機(jī)上,通過SSH服務(wù)連接本機(jī)時(shí),請求會被拒絕。3.firewall-cmd命令的用法示例STEP05[root@agent~]#ssh49ssh:connecttohost49port22:Connectionrefused
在35主機(jī)執(zhí)行此命令9.3.3firewall-cmd命令了解防火墻策略與規(guī)則,能夠說出防火墻防御原理。學(xué)習(xí)目標(biāo)9.3.2防火墻策略與規(guī)則除了防火墻,openEuler還內(nèi)置了一個(gè)安全系統(tǒng)——SELinux,用于保障系統(tǒng)安全。由于SELinux運(yùn)行機(jī)制和服務(wù)規(guī)則太過復(fù)雜,很多Linux操作系統(tǒng)用戶在遇到問題時(shí)都直接禁用SELinux服務(wù),但是禁用SELinux服務(wù)對系統(tǒng)來說是極度危險(xiǎn)的。為了更安全地使用Linux操作系統(tǒng),掌握一些SELinux的相關(guān)知識是非常必要的,本節(jié)將針對SELinux安全系統(tǒng)進(jìn)行簡單介紹。9.4SELinux安全系統(tǒng)了解SELinux安全系統(tǒng),能夠說出SELinux概念。學(xué)習(xí)目標(biāo)9.4.1SELinux概述SELinux(SecurityEnhancedLinux)是由美國國家安全局(NationalSecurityAgency,NSA)在Linux開源社區(qū)的支持下開發(fā)的一個(gè)強(qiáng)制訪問控制(MandatoryAccessControl,MAC)安全系統(tǒng),它旨在通過增強(qiáng)傳統(tǒng)Linux操作系統(tǒng)的安全性,提供更細(xì)粒度的訪問控制機(jī)制。自Linux內(nèi)核2.6版本開始,SELinux便作為一項(xiàng)內(nèi)置特性被集成到Linux內(nèi)核中。9.4.1SELinux概述與傳統(tǒng)的基于用戶和組的自主訪問控制(DiscretionaryAccessControl,DAC)相比,SELinux為每個(gè)進(jìn)程和服務(wù)設(shè)定了嚴(yán)格的權(quán)限限制,確保它們只能訪問、執(zhí)行其功能所必需的資源。例如,一個(gè)視頻播放軟件理論上只應(yīng)擁有播放視頻文件的權(quán)限,如果該軟件試圖讀取用戶的微信賬號密碼或監(jiān)控瀏覽器歷史記錄,這顯然超出了其應(yīng)有的權(quán)限范圍。SELinux通過精確控制這些權(quán)限來防止此類越權(quán)行為的發(fā)生。9.4.1SELinux概述在SELinux中,SELinux不只是針對進(jìn)程設(shè)置權(quán)限,它還會對資源進(jìn)行類型設(shè)定,指定資源只能被哪些進(jìn)程訪問。只有進(jìn)程的權(quán)限與所要訪問的資源的類型契合時(shí),進(jìn)程才能夠訪問到資源。在SELinux中,每個(gè)進(jìn)程都只能訪問到自己應(yīng)該獲取的資源,這樣即使有惡意程序攻擊,惡意程序也無法利用系統(tǒng)內(nèi)的進(jìn)程越權(quán)操作,極大地降低了惡意程序的破壞能力,最大限度地保證系統(tǒng)安全。9.4.1SELinux概述了解SELinux安全系統(tǒng),能夠說出SELinux工作模式。學(xué)習(xí)目標(biāo)9.4.2SELinux工作模式SELinux有多種不同的工作模式,這些工作模式可以通過命令進(jìn)行查看和設(shè)置。下面從SELinux工作模式、SELinux工作模式的查看和設(shè)置兩方面進(jìn)行講解。SELinux工作模式的查看和設(shè)置SELinux工作模式9.4.2SELinux工作模式SELinux服務(wù)提供了3種工作模式,分別如下所示。1.SELinux工作模式9.4.2SELinux工作模式1enforcing:permissive:2寬容模式,該模式在遇到進(jìn)程越權(quán)訪問時(shí),只發(fā)出警告而不強(qiáng)制攔截。disabled:3關(guān)閉模式,該模式在遇到進(jìn)程越權(quán)訪問時(shí),既不警告也不攔截。強(qiáng)制模式,該模式強(qiáng)制啟用SELinux的安全策略,攔截進(jìn)程的不合法請求。enforcing是SELinux的默認(rèn)工作模式。針對SELinux工作模式的查看和設(shè)置,Linux操作系統(tǒng)提供了兩個(gè)命令,分別是getenforce和setenforce,下面分別對這兩個(gè)命令進(jìn)行介紹。9.4.2SELinux工作模式2.SELinux工作模式的查看和設(shè)置setenforce命令getenforce命令getenforce命令用于查看SELinux的工作模式。getenforce命令沒有選項(xiàng)和參數(shù),用法很簡單。getenforce命令的執(zhí)行結(jié)果就是3種工作模式,需要注意的是,執(zhí)行結(jié)果顯示的工作模式首字母是大寫。9.4.2SELinux工作模式1.getenforce命令案例9-19:查看SELinux的工作模式。9.4.2SELinux工作模式1.getenforce命令[root@itheima~]#getenforceEnforcing
setenforce命令用于設(shè)置SELinux的工作模式,其基本格式如下所示。setenforce參數(shù)基本格式9.4.2SELinux工作模式2.setenforce命令setenforce命令的參數(shù)有4個(gè),分別如下所示。9.4.2SELinux工作模式2.setenforce命令1Enforcing:Permissive:設(shè)置SELinux工作模式為強(qiáng)制模式。2設(shè)置SELinux工作模式為寬容模式。1:3設(shè)置SELinux工作模式為強(qiáng)制模式。0:4設(shè)置SELinux工作模式為寬容模式。案例9-19:設(shè)置SELinux工作模式為permissive。9.4.2SELinux工作模式[root@localhost~]#setenforce0 permissive[root@localhost~]#getenforcePermissive2.setenforce命令設(shè)置SELinux工作模式為permissive在案例9-20中,使用setenforce命令設(shè)置SELinux工作模式為permissive,設(shè)置完成后,使用getenforce命令查看SELinux工作模式,結(jié)果為Permissive,表明SELinux工作模式設(shè)置成功。使用setenforce命令無法關(guān)閉SELinux服務(wù),即無法使用setenforce命令設(shè)置SELinux工作模式為disabled,并且,setenforce命令設(shè)置的工作模式只臨時(shí)有效,系統(tǒng)重啟后,設(shè)置就會失效。如果想使設(shè)置的SELinux工作模式永久生效,需要修改SELinux的配置文件/etc/selinux/config。使用cat命令查看/etc/selinux/config文件,內(nèi)容如下所示。點(diǎn)擊查看9.4.2SELinux工作模式2.setenforce命令在/etc/selinux/config文件中,通過設(shè)置SELINUX的值就可以更改SELinux的工作模式。通過/etc/selinux/config文件,也可以將SELinux工作模式設(shè)置為disabled。需要注意的是,如果SELinux服務(wù)處于關(guān)閉狀態(tài),那么它無法通過setenforce命令開啟。9.4.2SELinux工作模式2.setenforce命令例如,通過設(shè)置/etc/selinux/config文件,關(guān)閉SELinux服務(wù)。重啟系統(tǒng)后,使用setenforce命令設(shè)置SELinux工作模式為enforcing或permissive時(shí),系統(tǒng)會提示無法設(shè)置,具體命令及輸出結(jié)果如下所示。9.4.2SELinux工作模式2.setenforce命令[root@localhost~]#getenforceDisabled [root@localhost~]#setenforce1 setenforce:SELinuxisdisabled 查看SELinux工作模式處于關(guān)閉狀態(tài)設(shè)置SELinux工作模式為enforcing設(shè)置失敗了解SELinux安全系統(tǒng),能夠說出SELinux安全上下文。學(xué)習(xí)目標(biāo)9.4.3SELinux安全上下文安全上下文是SELinux的核心,進(jìn)程和資源都有自己的安全上下文。進(jìn)程能夠正確地訪問資源,就取決于進(jìn)程安全上下文與資源安全上下文的匹配。9.4.3SELinux安全上下文下面分別從SELinux安全上下文、SELinux安全上下文的查看兩個(gè)方面對SELinux安全上下文進(jìn)行講解。SELinux安全上下文ASELinux安全上下文的查看B9.4.3SELinux安全上下文安全上下文由4個(gè)字段組成,每個(gè)字段之間使用“:”分隔,其格式如下所示。1.SELinux安全上下文9.4.3SELinux安全上下文身份:角色:類型:級別基本格式下面分別對這4個(gè)字段進(jìn)行介紹。(1)身份:用于標(biāo)識數(shù)據(jù)被哪個(gè)身份的用戶所擁有。常見的身份有以下3種。1.SELinux安全上下文9.4.3SELinux安全上下文1root:system_u:root用戶。2系統(tǒng)用戶。user_u:3普通用戶。(2)角色:用于標(biāo)識安全上下文的歸屬,如進(jìn)程、文件或目錄的安全上下文。常見的角色有以下2種。1.SELinux安全上下文9.4.3SELinux安全上下文1object_r:system_r:資源(文件或目錄)的安全上下文。2進(jìn)程的安全上下文。(3)類型:安全上下文中最重要的字段,進(jìn)程安全上下文與資源安全上下文相匹配就是類型字段的匹配。類型字段在資源安全上下文中稱為類型,但在進(jìn)程安全上下文中稱為域(Domain)。進(jìn)程的SELinux域和資源安全上下文中的類型相匹配,進(jìn)程才能訪問資源。1.SELinux安全上下文9.4.3SELinux安全上下文(4)級別:由SELinux定義的安全等級,用于限制訪問。目前已經(jīng)定義的安全等級為s0~s15,數(shù)字越大表示安全等級越高。學(xué)習(xí)了SELinux安全上下文的結(jié)構(gòu)組成,下面介紹SELinux安全上下文的查看。2.SELinux安全上下文的查看9.4.3SELinux安全上下文2.SELinux安全上下文的查看9.4.3SELinux安全上下文STEP01查看文件安全上下文。在JDK安裝目錄的bin目錄下新建文本文檔,重命名為HelloWorld.java。[root@itheima~]#ls-Z/etc/shadowsystem_u:object_r:shadow_t:s0/etc/shadow2.SELinux安全上下文的查看9.4.3SELinux安全上下文STEP02查看目錄安全上下文。查看目錄安全上下文,需要使用ts命令的-Zd選項(xiàng),例如,查看httpd服務(wù)數(shù)據(jù)保存目錄/var/www/html的安全上下文,具體命令與輸出結(jié)果如下所示。[root@itheima~]#ls-Zd/var/www/htmlsystem_u:object_r:httpd_sys_content_t:s0/var/www/html2.SELinux安全上下文的查看9.4.3SELinux安全上下文STEP03查看進(jìn)程安全上下文。進(jìn)程安全上下文使用ps命令查看,例如,查看httpd服務(wù)進(jìn)程的安全上下文,具體命令及輸出結(jié)果如下所示。點(diǎn)擊查看了解SELinux安全系統(tǒng),能夠說出SELinux默認(rèn)安全上下文的修改。學(xué)習(xí)目標(biāo)9.4.4SELinux默認(rèn)安全上下文的修改在Linux操作系統(tǒng)中,系統(tǒng)文件和目錄都有默認(rèn)的安全上下文,Linux操作系統(tǒng)提供了semanage命令和restorecon命令來管理文件、目錄的默認(rèn)安全上下文,下面分別對這兩個(gè)命令進(jìn)行介紹。9.4.4SELinux默認(rèn)安全上下文的修改semanage命令A(yù)restorecon命令B1.semanagesemanage命令用于查詢、修改、增加、刪除文件或目錄的默認(rèn)SELinux安全上下文,其基本格式如下所示。9.4.4SELinux默認(rèn)安全上下文的修改semanage命令選項(xiàng)參數(shù)(文件或目錄)基本格式semanage常用的命令和選項(xiàng)如表。9.4.4SELinux默認(rèn)安全上下文的修改命令和選項(xiàng)含義fcontext管理文件或目錄的默認(rèn)安全上下文-a添加默認(rèn)安全上下文配置-d刪除默認(rèn)安全上下文-m修改默認(rèn)安全上下文-t設(shè)置默認(rèn)安全上下文-l查詢默認(rèn)SELinux安全上下文1.semanage案例9-21:分別查看/etc/shadow文件、/etc/cron.d目錄和/etc/passwd文件的默認(rèn)安全上下文。9.4.4SELinux默認(rèn)安全上下文的修改1.semanage點(diǎn)擊查看案例9-22:創(chuàng)建/www目錄,并設(shè)置其默認(rèn)安全上下文類型為htttpd_sys_content_t。9.4.4SELinux默認(rèn)安全上下文的修改1.semanage點(diǎn)擊查看創(chuàng)建/www目錄,并設(shè)置其默認(rèn)安全上下文,需要調(diào)用的命令較多,下面分步驟進(jìn)行講解。(1)在當(dāng)前目錄下創(chuàng)建/www目錄,并查看/www目錄的安全上下文,具體命令及輸出結(jié)果如下所示如表。案例9-22:創(chuàng)建/www目錄,并設(shè)置其默認(rèn)安全上下文類型為htttpd_sys_content_t。9.4.4SELinux默認(rèn)安全上下文的修改1.semanage使用semanage命令為/www目錄添加類型為httpd_sys_content_t的默認(rèn)安全上下文,具體命令及輸出結(jié)果如下所示。[root@localhost~]#semanagefcontext-a-thttpd_sys_content_t/www[root@localhost~]#semanagefcontext-l|grep/www…/var/www/wiki[0-9]?\.phpregularfilesystem_u:object_r:mediawiki_content_t:s0/wwwallfilessystem_u:object_r:httpd_sys_content_t:s02.restoreconretorecon命令用于恢復(fù)文件或目錄的默認(rèn)安全上下文。restorecon命令基本格式如下所示。9.4.4SELinux默認(rèn)安全上下文的修改restorecon選項(xiàng)參數(shù)(文件或目錄)基本格式restorecon命令常用選項(xiàng)如表。9.4.4SELinux默認(rèn)安全上下文的修改選項(xiàng)含義-R遞歸操作,使當(dāng)前目錄和目錄下所有子目錄和文件同時(shí)恢復(fù)默認(rèn)安全上下文-v把恢復(fù)過程顯示到屏幕上2.restorecon案例9-22:創(chuàng)建/www目錄,并設(shè)置其默認(rèn)安全上下文類型為htttpd_sys_content_t。9.4.4SELinux默認(rèn)安全上下文的修改在案例9-22中,使用semanage命令為/www目錄設(shè)置了默認(rèn)安全上下文,但如果使用ls命令查看/www目錄,其安全上下文類型仍然是default_t,命令執(zhí)行結(jié)果如下所示。[root@localhost~]#ls-Zd/wwwunconfined_u:object_r:default_t:s0/www2.restorecon這是因?yàn)閟emanage命令修改文件或目錄的默認(rèn)安全上下文時(shí)無法立即生效,重啟系統(tǒng)也不能使之生效。如果要使semanage命令設(shè)置的默認(rèn)安全上下文生效,需要使用restorecon命令。案例9-22:創(chuàng)建/www目錄,并設(shè)置其默認(rèn)安全上下文類型為htttpd_sys_content_t。9.4.4SELinux默認(rèn)安全上下文的修改使用restorecon命令使/www目錄默認(rèn)安全上下文生效的具體命令及輸出結(jié)果如下所示。[root@localhost~]#restorecon-Rv/wwwRelabeled/wwwfromunconfined_u:object_r:default_t:s0tounconfined_u:object_r:httpd_sys_conte
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 沂南縣2024山東臨沂市沂南縣部分事業(yè)單位招聘綜合類崗位人員90人筆試歷年參考題庫典型考點(diǎn)附帶答案詳解(3卷合一)試卷2套
- 承德市2023河北承德市人民檢察院所屬事業(yè)單位招聘6人筆試歷年參考題庫典型考點(diǎn)附帶答案詳解(3卷合一)試卷2套
- 東平縣2024山東泰安市東平縣事業(yè)單位初級綜合類崗位招聘221人筆試歷年參考題庫典型考點(diǎn)附帶答案詳解(3卷合一)試卷2套
- 2025鄂爾多斯市西北能源化工招聘(8人)筆試歷年??键c(diǎn)試題專練附帶答案詳解
- 2025河南南陽市唐河縣國有企業(yè)招聘總(第5號)筆試歷年備考題庫附帶答案詳解
- 2025江西中寰投資集團(tuán)下屬公司招聘筆試歷年備考題庫附帶答案詳解
- 2025年甘肅省蘭州新區(qū)現(xiàn)代農(nóng)業(yè)投資集團(tuán)有限公司第二批急需緊缺人員招聘27人筆試歷年典型考點(diǎn)題庫附帶答案詳解
- 2025安徽皖信人力資源管理有限公司宣州分公司工作人員招聘筆試歷年典型考點(diǎn)題庫附帶答案詳解
- 2026年浙江警官職業(yè)學(xué)院單招職業(yè)技能筆試模擬試題帶答案解析
- 2026年運(yùn)城職業(yè)技術(shù)大學(xué)高職單招職業(yè)適應(yīng)性考試參考題庫帶答案解析
- 2025年國資委主任年終述職報(bào)告
- 大學(xué)教學(xué)督導(dǎo)與課堂質(zhì)量監(jiān)控工作心得體會(3篇)
- 2025年下半年國家教師資格幼兒園《綜合素質(zhì)》考試真題及參考答案
- 日本所有番號分類
- 2024年江蘇省普通高中學(xué)業(yè)水平測試小高考生物、地理、歷史、政治試卷及答案(綜合版)
- 精神分裂癥等精神病性障礙臨床路徑表單
- 自考《社區(qū)規(guī)劃00291》復(fù)習(xí)必備題庫(含答案)
- 傳感器技術(shù)與應(yīng)用教案
- 管道安全檢查表
- 電纜井砌筑工序報(bào)驗(yàn)單檢驗(yàn)批
- GA/T 850-2009城市道路路內(nèi)停車泊位設(shè)置規(guī)范
評論
0/150
提交評論