




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
項目8網絡與安全管理主講:***2024年1月2日Linux應用基礎項目化教程(RHEL8.2/CentOS8.2)12024年1月2日Linux應用基礎項目化教程(RHEL8.2/CentOS8.2)2本項目學習目標:1.知識目標2.能力目標掌握網絡信息設置的基本概念;掌握防火墻的基本概念;掌握SELinux的基本概念;掌握Linux中日志的基本概念。能熟練使用GUI或CLI工具配置Linux的網絡信息;能使用firewalld工具實現防火墻的基本控制;能使用SELinux相關工具設定SELinux選項;能熟練查看系統日志,排查系統簡單的故障。2024年1月2日Linux應用基礎項目化教程(RHEL8.2/CentOS8.2)3學習任務任務8.1網絡管理任務8.2防火墻管理任務8.3SELinux任務8.4日志管理2024年1月2日Linux應用基礎項目化教程(RHEL8.2/CentOS8.2)4任務8.1網絡管理在CentOS7之前,操作系統中的網絡接口名稱一般通過eth0、eth1、eth2、…、ethN的形式編號,隨著系統中設備的增加或減少,設置這些名稱會產生一些不對稱的信息。因此,從CentOS7開始,系統采用了新的命名規則,根據設備類型、適配器類型等為網絡設備命名,CentOS8也采用同樣的命名規則。8.1.1網絡信息區
段命名規則說
明設備類型en以太網wlWLANwwWWAN適配器類型o板載設備s熱插拔設備pPCI設備數字編號通用數字代表索引、ID或端口2024年1月2日Linux應用基礎項目化教程(RHEL8.2/CentOS8.2)5在CentOS8中,可以使用ip命令查看網絡的相關信息,包含設備和地址信息及網絡性能等方面的統計信息。例如,查看設備ens33的網絡信息,如圖所示。
表示該網絡設備接口的狀態為激活狀態(UP);
link行表示該設備的硬件(MAC)地址;
inet后顯示該設備的IPv4地址和前綴;
brd后顯示該設備的硬件廣播地址;
inet6行顯示該設備的IPv6地址信息。2024年1月2日Linux應用基礎項目化教程(RHEL8.2/CentOS8.2)68.1.2GUI的網絡管理工具在圖形界面下,如圖所示,單擊右上角的按鈕,在彈出的窗格中,先單擊【有線已連接】選項,再單擊【有線設置】選項,打開網絡配置界面,如圖8-1-4所示。2024年1月2日Linux應用基礎項目化教程(RHEL8.2/CentOS8.2)7單擊【有線】下的配置按鈕,打開有線網絡的【詳細信息】選項卡,可以查看本地已經配置的網絡情況,如鏈路速度、IPv4地址、硬件地址、默認路由(Gateway)及DNS等。2024年1月2日Linux應用基礎項目化教程(RHEL8.2/CentOS8.2)88.1.3CLI的網絡管理工具在命令行模式下,主要通過調整對應網卡的配置文件或者使用網絡配置命令tui完成網絡配置信息的調整。1.通過配置文件調整網絡信息1)調整IP信息在CentOS8中,網卡的配置文件存放在“/etc/sysconfig/network-scripts”目錄中,進入該目錄。2024年1月2日Linux應用基礎項目化教程(RHEL8.2/CentOS8.2)9網卡配置文件2024年1月2日Linux應用基礎項目化教程(RHEL8.2/CentOS8.2)10網卡配置文件第1行,TYPE用于設置網卡的類型,Ethernet表示以太網類型;第2行,PROXY_METHOD用于設置代理類型,none表示未啟用;第3行,BROWSER_ONLY用于設置在第2行中設置的代理服務器是否僅用于瀏覽器,no表示否,表示全局可用;第4行,BOOTPROTO用于設置網卡獲取IP地址的方式,通常可以設置為:dhcp、static、none和bootp,其中static和none用于設置手動配置方式;2024年1月2日Linux應用基礎項目化教程(RHEL8.2/CentOS8.2)11網卡配置文件第5行,DEFROUTE用于設置默認路由,yes是表示啟用;第6行,IPV4_FAILURE_FATAL用于設置是否開啟IPv4致命錯誤檢測,no表示不啟用;第7行,IPV6INIT用于設置是否啟用IPv6,yes表示啟用;第8行,IPV6_AUTOCONF用于設置是否自動化配置IPv6,yes表示是;第9行,IPV6_DEFROUTE用于設置IPV6是否為默認路由,yes表示是;第10行,IPV6_FAILURE_FATAL用于設置是否啟用IPv6致命錯誤檢測,no表示不啟用;2024年1月2日Linux應用基礎項目化教程(RHEL8.2/CentOS8.2)12網卡配置文件第11行,IPV6_ADDR_GEN_MODE用于設置IPv6地址的生成方式,通常在CentOS8中,IPv6地址基于RFC4826實現無狀態地址自動配置,其值可以設置為eui64或stable-privacy,當IPv6地址的生成方式被設置為eui64時,系統將使用從硬件地址派生的接口令牌生成地址。這種方式可以讓生成的IPv6地址中的主機部分保持不變,從而可以在主機更改網絡時進行跟蹤,當接口硬件被替換時,地址會發生改變。當IPv6地址生成方式被設置為stable-privacy時,可以根據RFC7217中的定義,使用Hash加密的方式生成特定密鑰,這種方式在更換網絡接口硬件時,也可以獲得一個相對穩定的網絡地址,且這種方式可以避免主機在網絡中被跟蹤,具體的IPv6生成的方式可以查閱manpage中的“man5nm-settings”;2024年1月2日Linux應用基礎項目化教程(RHEL8.2/CentOS8.2)13網卡配置文件第12行,NAME用于定義網卡設備的名稱,通常與第14行對應;第13行,UUID用于設置識別碼;第14行,DEVICE用于定義配置文件對應的物理網卡設備名稱;第15行,ONBOOT用于設置在開機時是否激活網卡,yes表示自動激活;第16行,IPDDR用于設置IPv4地址,這里設置為02;第17行,PREFIX用于設置子網掩碼,這里設置24位的子網掩碼;第18行,GATEWAY用于設置網關,這里設置為54;2024年1月2日Linux應用基礎項目化教程(RHEL8.2/CentOS8.2)14網卡配置文件第19行,DNS1用于為本機設置DNS解析服務的地址,可以通過DNS2、DNS3等方式為主機指定多個DNS;第20行,IPV6_PRIVACY用于設置是否在無狀態地址自動配置時啟用IPv6的擴展隱私策略(RFC4941),no表示不啟用。上述配置文件,在不需要使用IPv6網絡時,可以做適當精簡,精簡后的配置文件如圖所示,即適用于IPv4網絡的網卡配置文件。2024年1月2日Linux應用基礎項目化教程(RHEL8.2/CentOS8.2)152)調整主機名在CentOS8中,主機名可分為靜態(static)、臨時(transient)、優雅(pretty)3種形式,通常靜態和臨時主機名都有一定的規范,而優雅主機名則可以使用非規范的空格、特殊字符等。靜態主機名:系統啟動時永久生效的主機名,通常用于配置內核參數信息,默認存儲在“/etc/hostname”中,還可通過在網卡配置文件中定義“HOSTNAME”選項來設置對應的主機名。臨時主機名:當靜態主機名無法獲取或失效時,臨時主機名默認會被設置為localhost和localhost.localdomain。優雅主機名:對字符幾乎沒有限制,可以設置任意。2024年1月2日Linux應用基礎項目化教程(RHEL8.2/CentOS8.2)162.通過nmtui命令調整網絡信息在終端執行“nmtui”命令啟動文本界面形式的網絡配置工具,如圖8-1-14所示。通過上下方向鍵或【Tab】鍵進行跳轉,可選擇需要調整配置的選項,然后按【Enter】鍵進入配置。2024年1月2日Linux應用基礎項目化教程(RHEL8.2/CentOS8.2)17任務8.2防火墻管理Linux內核中包含Netfilter框架,Netfilter是RHEL8防火墻的主要組件,用于實現數據包過濾、網絡地址轉換和端口轉換等網絡操作。Netfilter允許其他內核模塊直接與內核的網絡堆棧接口連接,利用防火墻軟件定義的過濾規則,在內核中通過調用鉤子函數(Hook)和消息處理程序實現攔截和轉發等操作。8.2.1防火墻概述2024年1月2日Linux應用基礎項目化教程(RHEL8.2/CentOS8.2)18FirewallD是由RedHat開發的一個動態防火墻管理工具,早期的FirewallD是傳統iptables服務的改進替代方案,隨著各類新的GNU/Linux發行版本中的防火墻后端引擎逐步從iptables向nftables遷移,nftables取代iptables成為默認的Linux網絡包過濾框架。FirewallD是nftables框架的默認前端,提供了防火墻區域定義、網絡鏈接及接口安全等級定義等功能。從CentOS7開始,系統默認啟用FirewallD管理防火墻,防火墻前端通過firewall-cmd命令控制nftables規則集。通過FirewallD,用戶可以將進入系統的所有網絡流量分為多個區域,從而簡化防火墻管理。根據數據源的IP地址或傳入的網絡接口等條件,流量將被轉入相應區域按規則處理。每個區域都有自己的端口和服務列表,它們處于打開或者關閉狀態。2024年1月2日Linux應用基礎項目化教程(RHEL8.2/CentOS8.2)19Firewalld針對每個進入系統的數據包,通常采用以下處理流程:首先檢查數據包的源地址,若該源地址被分配給了特定區域,則FirewallD應用該區域的規則,若該源地址未被分配給某個區域,則FirewallD會檢查數據包傳入的網絡接口,檢查與傳入的網絡接口關聯的區域規則,若網絡接口未與區域關聯,則其會將數據包與默認區域相關聯,應用默認區域的規則進行處理。2024年1月2日Linux應用基礎項目化教程(RHEL8.2/CentOS8.2)201.FirewallD區域網絡區域定義了網絡連接的可信等級。防火墻中預定義了一部分區域,在默認情況下,如果傳入流量屬于系統啟動的通信的一部分,那么所有區域都允許這些傳入流量和全部傳出流量,常用的預定義區域如表所示,其他預定義的區域可以通過使用“man”命令查閱firewalld.zone(5)手冊來獲取。區域名稱默認配置trusted可信區域,允許所有數據包進出home家庭區域,默認拒絕所有傳入數據包,但是允許數據包傳出和預定義的服務(SSH、mDNS、samba-client、IPPClient或DHCPv6Client)internal與home區域類似work工作區域,默認拒絕所有傳入數據包,但是允許數據包傳出或預定義的服務(SSH、IPPClient或DHCPv6Client)。public公共區域,默認拒絕所有傳入數據包,但是允許數據包傳出或預定義的服務(SSH或dhcpv6-clinet),新增加的網卡默認加入該區域external擴展區域,默認拒絕所有傳入數據包,但是允許數據包傳出或預定義的服務(SSH)。會對通過此區域轉發的IPv4流量進行偽裝,將數據包映射為與該區域綁定的網絡IPdmz非軍事區,默認拒絕所有傳入數據包,但是允許數據包傳出或預定義的服務(SSH)block阻塞區域,在該區域中,允許傳出的數據,將默認阻塞所有傳入的數據包drop丟棄區域,在該區域中,允許數據包傳出,丟棄傳入的數據包(不響應ICMP錯誤)2024年1月2日Linux應用基礎項目化教程(RHEL8.2/CentOS8.2)212.預定義服務FirewallD預定義了一些服務,這些定義可以識別需要配置的特定網絡服務,如表所示。服務名稱配
置SSHLinux服務器本地的SSH服務,對應22/TCP的流量mDNS多播DNS名稱解析服務,對應5353/UDP端口,指向51(IPv4)或ff02::fb(IPv6)的流量samba-client基于SMB協議的本地文件共享和打印機共享服務,對應137/UDP和138/UDP的流量IPPClient本地IPP打印服務,對應631/UDP的流量DHCPv6Client本地DHCPv6客戶端,對應546/UDP端口,指向fe80::/64的IPv6網絡的流量2024年1月2日Linux應用基礎項目化教程(RHEL8.2/CentOS8.2)223.數據包處理針對進入系統的數據包,FirewallD根據匹配規則對數據包進行處理,除允許傳入與傳出之外,FirewallD還有的其他處理規則如表所示。處理規則說
明丟棄丟棄任何傳入網絡的數據包都,不做任何ICMP響應阻塞拒絕任何傳入的網絡連接,并返回IPv4的icmp-host-prohibited報文或IPv6的icmp6-adm-prohibited報文偽裝私有網絡地址可以被映射為公開的IP地址端口轉發將某個端口映射到另一個端口和/或其他主機。2024年1月2日Linux應用基礎項目化教程(RHEL8.2/CentOS8.2)238.2.2配置防火墻在CentOS8中,如果需要調整防火墻的配置,可以通過編輯配置文件、Web控制臺進行,也可以使用firewall-cmd命令與FirewallD交互。當前,多數Linux服務器使用非圖形界面,因此,管理員更傾向于使用firewall-cmd命令進行配置。2024年1月2日24Linux應用基礎項目化教程(RHEL8.2/CentOS8.2)命
令說
明--state返回防火墻的運行狀態,“running”或者“notrunning”--get-default-zone查詢當前的默認區域--set-default-zone=ZONE設置默認區域,設置默認區域時會同時改變運行時配置和永久配置--get-zones列出所有區域,僅列出區域的名稱--list-all-zones列出檢索到的所有區域的所有信息,包括接口、源、端口和服務等內容--list-all[--zone=ZONE]列出指定ZONE區域的所有信息,若未指定“--zone”選項,則表示輸出默認區域的信息--list-services[--zone=ZONE]列出指定區域的所有服務,若未指定“--zone”選項,則表示輸出默認區域的服務信息--list-ports[--zone=ZONE]列出指定區域的所有端口信息,輸出時會忽略預定義的端口信息,僅輸出用戶自定義的端口信息,若未指定“--zone”選項,則表示輸出默認區域的端口信息--get-active-zones列出當前所有正在使用的區域及其接口和源信息--add-source=CIDR[--zone=ZONE]使用CIDR的方式(如9/24),將指定的IP地址或網絡段的所有流量的路由到指定區域,即由指定區域的規則進行處理,若未指定“--zone”選項,則表示添加到默認區域。--remove-source=CIDR[--zone=ZONE]與上一個命令類似,作用相反,用于刪除。若未指定“--zone”選項,則刪除默認區域中的源--add-interface=INTERFACE[--zone=ZONE]與“—add-source”類似,將來自INTERFACE的所有流量路由到指定區域,若未指定“--zone”選項,則使用默認區域。--change-interface=INTERFACE[--zone=ZONE]將INTERFACE和指定的ZONE區域關聯,若未指定“--zone”選項,則將其與默認區域關聯--add-service=SERVICE[--zone=ZONE]添加指定的服務(如FTP、http或httpS等),允許對應規則的流量通過防火墻。若未指定“--zone”,則使用默認區域。--remove-service=SERVICE[--zone=ZONE]與上一個添加服務的命令類似,作用相反,用于刪除指定的服務--add-port=PORT/PROTOCOL[--zone=ZONE]添加指定的PORT/PROTOCOL規則,開放相應端口及對應協議的流量,若未指定“--zone”,則使用默認區域。其中PORT可以是連續的,PROTOCOL表示TCP或UDP,如5000-6000/TCP--remove-port=PORT/PROTOCOL[--zone=ZONE]與上一個添加端口的命令類似,作用相反,用于刪除指定的端口--reload重新加載配置,在執行reload前,如果防火墻的規則集中有運行時狀態的內容將全部丟棄,重新加載并應用永久配置--permanent設置將規則作為永久配置存儲2024年1月2日Linux應用基礎項目化教程(RHEL8.2/CentOS8.2)25在FirewallD中,運行規則分為運行時規則和永久規則兩種類型,當通過firewall-cmd命令配置新規則時,若添加“--permanent”選項,則新規則將僅作用于運行時,對區域進行的修改立即生效,但該規則不是永久的,在重新加載防火墻規則(--reload)或重啟服務器后將失效;若指定“--permanent”選項,則可以將新規則設置為永久規則,將相關的配置信息存放在“/etc/firrewalld”目錄中,設置為永久規則的防火墻規則不會立即生效,需要在重新加載防火墻或重啟服務器后才能生效。2024年1月2日Linux應用基礎項目化教程(RHEL8.2/CentOS8.2)26在一些業務系統中,隨著應用場景的變化,我們需要永久地保存一個新的規則,同時還需要讓這個規則立即生效,并且避免因重新加載或重啟服務器而改變系統當前防火墻的運行狀態,這時可以通過添加兩次規則實現,將其中的一次的選項設置為“--permanent”,即可避免重新加載或重啟服務器操作,也可以讓規則立即生效。在CentOS8中,默認不開放21號端口。因此,如果需要提供FTP服務,在安裝vsftpd軟件后,需要使用firewall-cmd命令在指定區域開啟服務或相應端口的訪問功能,如圖所示。2024年1月2日Linux應用基礎項目化教程(RHEL8.2/CentOS8.2)27第一條命令,用于檢查防火墻是否啟動,“running”表示防火墻正在運行;第二條命令,用于獲取默認區域的信息,通常默認的區域為“public”;第三條命令,用于指定輸出默認區域中已經開放的服務,可以發現SSH等服務已經被開啟;第四條命令,用于在默認區域中增加FTP服務,“success”表示添加成功;第五條命令,用于檢查FTP服務是否已經被添加到指定區域,從輸出的結果可以看出,FTP服務已經被添加到默認區域中,但在添加FTP訪問功能時,新規則未被設置為永久規則,重啟后規則將失效,若要永久將其添加到防火墻的規則中,則應使用“--permanent”選項,然后執行重新加載操作。2024年1月2日Linux應用基礎項目化教程(RHEL8.2/CentOS8.2)28通常,在CentOS8中,使用VSFTP軟件提供FTP服務時,該軟件默認以主動模式對外提供服務(PORT),未開啟被動模式(PASV)。但是Filezilla、Chrome、Firefox等許多FTP客戶端工具都采用被動模式訪問FTP服務。因此,默認安裝并開啟vsftpd軟件,并且在防火墻中開放FTP服務訪問功能后,這些工具仍然無法正常使用FTP服務。這時,可以通過調整FTP服務的配置文件,為其增加被動訪問功能,并開啟部分可用的端口(建議1024號以后的端口)給FTP。被動模式的具體配置方法可查閱相關manpage進行學習。2024年1月2日Linux應用基礎項目化教程(RHEL8.2/CentOS8.2)29例如,永久性開放10000-11000之間的TCP端口,為FTP服務的被動模式提供訪問文件共享功能,如圖所示。在完成防火墻的配置后,也可以檢查配置開放的端口情況,例如,在完成上述添加10000-11000端口后,可以使用firewall-cmd命令列出公共區域的開放端口,如圖所示。2024年1月2日Linux應用基礎項目化教程(RHEL8.2/CentOS8.2)30任務8.3SELinux在各類Linux中,多數管理員都很熟悉基于用戶和權限管理的安全模型,這種傳統的安全模型是采用基于賬戶信息和文件權限的訪問控制模型,稱為自主式存取控制(DiscretionaryAccessControl,DAC)模型,在Linux中,DAC存在一定的缺陷,例如,因root用戶的特殊性,許多DAC規則對root用戶無效,同時如果某些權限設置錯誤,那么也會導致嚴重的后果,例如,某個目錄的權限如果被設置為777,那么該目錄將開放給所有用戶,所有用戶對該目錄中的內容都可以執行讀/寫、刪除等操作。8.3.1SELinux概述2024年1月2日Linux應用基礎項目化教程(RHEL8.2/CentOS8.2)31安全增強型Linux(SecurityEnhancedLinux,SELinux),是一個額外的系統安全層,它的主要目標是采用基于對象的處理方式,通過制定更加復雜的控制策略,實現強訪問控制(MandatoryAccessControl,MAC),在權限控制的粒度方面,比傳統的DAC更加精確。通常,SELinux會為Linux中的每個文件、目錄、進程及網絡端口等資源設置一個專門的安全標簽(SecurityLabel),這個標簽也稱為SELinux上下文(SELinuxCentext)。標簽是一個名稱,SELinux策略使用這些標簽確定某個進程能否訪問文件、目錄或網絡端口等資源。在訪問控制方面,除非在策略中顯式地授予訪問權限,其他任何情況都會拒絕訪問。2024年1月2日Linux應用基礎項目化教程(RHEL8.2/CentOS8.2)32SELinux的標簽具有多種標簽,以Apache提供的http服務為例,該服務默認存放網頁的路徑為“/var/www/html”,進入網頁存放目錄,執行“ls-Z”命令,如圖所示。圖中的內容,除最后一部分“index.html”為文件名外,前面的內容用冒號“:”分割,分為4段,每段代表的含義如下:(1)第一段,“unconfined_u”表示SELinux的用戶;(2)第二段,“object_r”表示角色;(3)第三段,“httpd_sys_content_t”表示類型標簽;(4)第四段,“s0”表示敏感度。2024年1月2日Linux應用基礎項目化教程(RHEL8.2/CentOS8.2)331.SELinux的3種狀態強制狀態(Enforcing):CentOS8中默認的狀態,SELinux強制執行訪問控制策略。許可狀態(Permissive):SELinux處于活動狀態,僅記錄違反規則的警告信息,不強制執行訪問控制策略,主要用于測試新部署的應用程序,查看將策略應用到這些程序會產生什么影響;或者用于進行相應的故障診斷,解決當前一些特定服務或應用程序不能正常工作的原因。禁用狀態(Disabled):完全關閉SELinux,不執行任何訪問控制策略,也不記錄相應的警告信息。在關閉狀態,系統中的訪問控制方式恢復為DAC控制方式。需要注意的是,在禁用SELinux之前,需要考慮是否可能會在系統上再次使用SELinux,如果決定以后將其設置為Enforcing或Permissive狀態,當下次重啟系統時,系統將會花費一定的時間對系統中的所有文件、目錄和進程等資源重新打上標簽。2024年1月2日Linux應用基礎項目化教程(RHEL8.2/CentOS8.2)342.SELinux的類型在CentOS8中,SELinux的默認策略分為3類。針對性保護策略(Targeted),Targeted策略主要對系統中的服務進程進行訪問控制,也可以限制其他進程和用戶。服務進程都被放入沙箱(Sandbox)中,在沙箱環境中服務進程會被嚴格限制,以便使通過此類進程所引發的惡意攻擊不會影響到其他服務或危及Linux。通過使用Targeted策略,可以降低因訪問特定服務(如Web服務、文件共享服務等服務)而對系統中其他資源造成不利影響的風險。最小限制策略(Minimum),Minimum策略與Targeted策略類似,它們都制定一個基本的策略規則包,以防止系統執行訪問控制策略時消耗過多系統資源,其針對的是智能設備、物聯網設備及低配置的計算機等應用環境。2024年1月2日Linux應用基礎項目化教程(RHEL8.2/CentOS8.2)35多級安全策略(MLS),MLS策略(Multi-LevelSecurity,MLS)采用更加嚴格的限制規則,會對系統中的所有進程進行控制。例如,在啟用MLS策略后,執行最簡單的“ls”等命令時都會報錯。因此,在將策略調整為MLS前,需要提前為MLS策略設計一個規則集,進行定義調整,否則容易導致系統故障,無法正常啟動系統。例如,將策略設置為MLS后,重啟服務器,將提示如圖所示的信息。2024年1月2日Linux應用基礎項目化教程(RHEL8.2/CentOS8.2)361.查看和調整SELinux的模式在命令行模式下,SELinux提供了相應的工具集,使用戶可以通過執行getenforce和setenforce命令查看或調整SELinux的狀態,如圖所示。其中setenforce命令的值可以設置為0或者1,0表示設置為Permissive模式,1表示設置為Enforcing模式。通過setenforce命令在命令行中修改的模式重啟后將失效,因此如果需要永久地調整SELinux的模式,可以通過修改“/etc/selinux/config”中的配置實現。8.3.2SELinux的基本操作2024年1月2日Linux應用基礎項目化教程(RHEL8.2/CentOS8.2)372.更改SELinux的標簽在運行SELinux的系統中,所有的文件、目錄和進程都會有相應的標簽。標簽代表了SELinux相關的安全信息。在系統中新創建的文件或目錄會默認繼承其父目錄的SELinux標簽,從而確保標簽的承接關系。但是當需要復制或移動這些文件或目錄時,會破壞這種關系,如圖所示,在“/tmp”目錄下創建“file-1.html”和“file-2.html”,分別將其移動和復制到“/var/www/html”目錄中,其SELinux的標簽會有所不同。從圖中可以發現,“mv”命令可以保留原始的SELinux標簽,當時使用“cp”命令復制文件時,會自動適配目標目錄的SELinux標簽,如果需要保留原始的SELinux標簽,則需要在執行“cp”命令使用“-a”選項,用于保留原始的SELinux標簽。2024年1月2日Linux應用基礎項目化教程(RHEL8.2/CentOS8.2)38如果在系統中需要更改指定文件或目錄的SELinux標簽,可以通過兩種方式完成。一種簡單的方式是使用“chcon”命令指定對應的SELinux標簽。另一種方式是通過“semange”命令和“restorecon”命令組合實現,在系統中定義默認的文件標簽規則。選
項功能說明-l或--list列出指定對象的類型記錄-a或--add添加指定對象類型的記錄-d或--delete刪除指定對象類型的記錄2024年1月2日Linux應用基礎項目化教程(RHEL8.2/CentOS8.2)39在CentOS8等采用了SELinux策略的系統中,其相應的SELinux策略行為都是通過許多的SELinux布爾值進行定義的。這些布爾值對應SELinux的安全策略,用于控制系統中的各類行為,管理員可以根據業務及應用場景的需求情況,有選擇地調整這些SELinux布爾值。在進行設置時,數字1和“on”表示啟用,數字0和“off”表示禁用。通常,在查看或調整SELinux策略的布爾值時,主要使用“sebool”命令,其中“getsebool”命令用于列出指定的布爾值及其狀態值(0|1),“setsebool”命令用于修改布爾值。8.3.3調整SELinux的策略2024年1月2日Linux應用基礎項目化教程(RHEL8.2/CentOS8.2)401.查詢布爾值“getsebool”命令用于查詢指定SELinux布爾值的設置情況,可以使用“-a”選項一次性輸出所有的布爾值設置情況。在排除SELinux的故障時,可以組合“grep”命令,一次性查詢系統與某個關鍵字關聯的SELinux布爾值情況。2.調整布爾值setsebool命令用于調整SELinux策略的布爾值,在執行setsebool命令時,若不使用任何選項,則表示該調整僅臨時有效,當系統重啟后,該設置失效,恢復為默認狀態;若要永久地更改布爾值,需要使用“setsebool-P”命令。2024年1月2日Linux應用基礎項目化教程(RHEL8.2/CentOS8.2)41SELinux除具有文件和進程的管理功能外,還可以通過對網絡端口進行標記綁定的方式實現對網絡端口的額外管理功能。其采用更有針對性的規則,實現嚴格的網絡流量控制,當某個進程希望偵聽端口時,SELinux會檢查與該進程關聯的標簽是否已經綁定到這個端口上,通過這些規則,可以阻止惡意程序(進程或服務)控制其他合法程序(進程或服務)使用的端口,提高系統整體的安全性。8.3.4管理SELinux端口標簽2024年1月2日Linux應用基礎項目化教程(RHEL8.2/CentOS8.2)42SELinux為網絡服務提供了許多不同的標簽,以對不同服務進行控制。例如,22號端口對應SSH訪問功能,提供了關聯的“SSH_port_t”標簽;20號端口對應FTP的數據傳輸功能,提供了關聯的“FTP_data_port_t”標簽;21號端口對應FTP的控制功能端口,提供了關聯的“FTP_port_t”標簽;80號端口對應http服務,提供了關聯的“http_port_t”標簽。使用“semanageport”命令可以管理SELinux的端口標簽,可以實現端口標簽的查詢、添加、刪除、修改等操作。2024年1月2日Linux應用基礎項目化教程(RHEL8.2/CentOS8.2)431.查詢端口標簽使用“semanageport”命令的“-l”選項可以列出系統中已經定義的SELinux端口標簽,該選項一次性輸出所有定義的端口標簽情況,如圖所示。2024年1月2日Linux應用基礎項目化教程(RHEL8.2/CentOS8.2)442.添加端口標簽在Linux中,為了避免一些特殊的服務被惡意用戶嗅探,在根據實際業務需求調整某些服務的偵聽模式時,都需要調整默認的端口,通過非通用端口對外提供訪問服務。在CentOS8中,使用“semanageport”命令的“-a”選項添加新的端口標簽,使用“-t”選項指定端口綁定的標簽類型,使用“-p”選項指定端口使用的協議。例如,添加SSH服務的2200端口標簽,如圖所示。2024年1月2日Linux應用基礎項目化教程(RHEL8.2/CentOS8.2)453.刪除端口標簽刪除SELinux端口標簽的操作方式與添加的操作類似,使用“-d”選項,執行刪除操作,如圖所示,刪除前面添加的SSH服務的2200端口標簽。2024年1月2日Linux應用基礎項目化教程(RHEL8.2/CentOS8.2)464.修改端口標簽在CentOS8中,當業務需求發生變化時,可以修改SELinux的端口標簽,使用“semanageport”命令的“-m”選項調整端口標簽。例如,將綁定http服務的8800端口標簽調整為綁定SSH服務的SELinux端口標簽,如圖所示。2024年1月2日Linux應用基礎項目化教程(RHEL8.2/CentOS8.2)47任務8.4日志管理在CentOS及其他許多的Linux發行版本中都內置了采用syslog協議的標準日志系統,其將操作系統的內核及各類進程產生的事件記錄下來,并通過合理的方式將產生的日志條目進行歸檔和記錄,存放在指定的日志中。這些日志通常可用于系統安全審計、服務故障診斷及排除等。在CentOS8中,日志由兩個服務負責,分別為systemd-journald和rsyslog。8.4.1日志概述2024年1月2日Linux應用基礎項目化教程(RHEL8.2/CentOS8.2)481.systemd-journald服務systemd-journald服務作為操作系統日志系統的核心架構,提供一種改進的日志管理服務,可以收集內核事件、操作系統早期啟動階段的記錄、其他進程及服務在啟動和運行時的標準輸出和標準錯誤輸出,以及syslog日志服務在運行期間的產生的日志。systemd-journald服務收集到這些信息后,會將它們轉換為標準日志格式,寫入結構化、可索引的日志系統中,這些日志將被寫入到臨時存儲的文件中,重啟后將失效。2024年1月2日Linux應用基礎項目化教程(RHEL8.2/CentOS8.2)492.rsyslog服務為解決system-journald服務產生的日志記錄在重啟后失效的問題,rsyslog服務允許用戶根據需要自定義處理日志的流程,根據服務的配置情況及時接收system-journald產生的日志,并按指定的要求處理日志,將其記錄到日志中,或者根據配置要求轉發給其他程序處理。rsyslog服務可以通過讀取system-journald產生的日志,按照日志的類型、功能和優先級對其進行重新分類、排序,然后將其永久地存儲在“/var/log”目錄中,常見的日志如表所示。2024年1月2日50Linux應用基礎項目化教程(RHEL8.2/CentOS8.2)日志文件存儲信息/var/log/mesessages除與授權認證、郵件處理、周期性任務和調試相關的信息之外,系統中多數服務和進程產生的日志都默認會存儲在這個文件中/var/log/audit/*記錄與審計相關的事件/var/log/secure記錄與安全和授權認證相關的事件/var/log/maillog記錄與郵件服務器相關的事件/var/log/cron記錄與周期性任務有關的事件/var/log/xferlog記錄與vsftpd產生的FTP服務訪問相關的事件/var/log/httpd/*記錄與Apache產生的http服務訪問相關的事件/var/log/mariadb/*記錄與MariaDB數據庫相關的相關事件2024年1月2日Linux應用基礎項目化教程(RHEL8.2/CentOS8.2)518.4.2查看日志1.記錄日志通常,日志有許多種類,根據不同的關鍵字,其可以分為kern,auth,authpriv,cron,mail等。其中,mail日志表示記錄的所有syslog協議下的郵件程序的日志,其他類型的定義可以通過“man5rsyslog.conf”命令查閱。日志的優先級如表所示,其中0表示最高優先級,7表示最低優先級數字代碼優
先
級嚴重程度0emerg最嚴重,系統不可用1alert非常嚴重,需要立即采取行動2crit嚴重,達到臨界值,有可能會導致更嚴重的結果3err未達到crit級別中的臨界值4warning警告5notice正常但是需要重視的消息6info普通的信息7debug調試級別的信息2024年1月2日Linux應用基礎項目化教程(RHEL8.2/CentOS8.2)52rsyslog服務通過“/etc/rsyslog.conf”配置文件,以及“/etc/rsyslog.d”目錄中的以“.conf”結尾的一些自定義配置文件對日志進行控制,根據上述日志類型及日志優先級決定日志處理的流程。在系統中安裝新軟件時,可以很方便地在“/etc/rsyslog.d”目錄中額外增加配置文件,進行日志的處理。在rsyslog服務的配置文件中,每行定義一個規則。在每行的定義中,左側是表示日志類型和優先級,右側表示日志存儲的位置信息,該位置可以是本地路徑下的一個位置,也可以是遠程的日志服務器。左側的日志類型和優先級采用點號(.)進行分割,點號左邊表示日志的類型,右邊表示日志的優先級,日志的類型和優先級都可以使用星號通配符(*)表示所有,如圖所示。2024年1月2日53Linux應用基礎項目化教程(RHEL8.2/CentOS8.2)2024年1月2日Linux應用基礎項目化教程(RHEL8.2/CentOS8.2)542.日志輪轉在日志系統中,隨著時間的積累,各類進程及服務產生的日志將越來越多,“/var/log”目錄將占用越來越大的空間,存儲系統的壓力也將越來越大。因此rsyslog服務提供了日志輪轉(logrotate)功能,相應的輪轉行為都是通過“/etc/logrotate.conf”文件定義的,可以定義默認的輪轉周期、存儲日志的次數等,文件的內容如圖所示。2024年1月2日Linux應用基礎項目化教程(RHEL8.2/CentOS8.2)553.rsyslog日志日志中記錄的內容,通常是以追加的形式寫入日志的末尾的。所以,日志的末尾都最新的一條日志。以“/var/log/secure”日志為例,使用tail命令,查看該日志的最后5行,如圖所示。選取最后一行,其中“Oct3113:43:38”表示日志記錄
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 海洋石油鉆采工程安全生產措施考核試卷
- 嵌入式系統信號處理模式考題及答案
- 公路工程未來趨勢試題及答案解析
- 豆類食品加工廠的安全生產標準化考核試卷
- 窄軌機車車輛制造中的技術創新與研發考核試卷
- 金屬廚房用具的經銷商關系維護考核試卷
- 公路建設程序與審批試題及答案
- 數據庫維護與故障排查試題及答案
- 農業作物病害診斷儀應用考核試卷
- 數據庫性能監控的重要性與實施方法試題及答案
- 浙江開放大學2025年《社會保障學》形考任務1答案
- 初中生物人體的骨骼肌 2024-2025學年七年級生物下冊(北師大版2024)
- 河道整治施工組織設計(技術標)
- DeepSeek賦能設計行業:AI提示詞生成與3D建模自動化
- 2025至2030中國高效染料敏化太陽能電池市場深度調查與前景預測研究報告
- 2025年江蘇省南通市如東縣實驗中學中考一模英語試題(原卷版+解析版)
- 核醫學臨床技術操作規范
- 遼寧2025年三支一扶考試真題
- 人工智能在單片機教學中的應用與創新
- 歷史教學新視角:學科核心素養“歷史解釋”實施策略
- 履約考核辦法附件
評論
0/150
提交評論