Linux網(wǎng)絡操作系統(tǒng)項目化教程 課件 項目9 Linux系統(tǒng)安全管理_第1頁
Linux網(wǎng)絡操作系統(tǒng)項目化教程 課件 項目9 Linux系統(tǒng)安全管理_第2頁
Linux網(wǎng)絡操作系統(tǒng)項目化教程 課件 項目9 Linux系統(tǒng)安全管理_第3頁
Linux網(wǎng)絡操作系統(tǒng)項目化教程 課件 項目9 Linux系統(tǒng)安全管理_第4頁
Linux網(wǎng)絡操作系統(tǒng)項目化教程 課件 項目9 Linux系統(tǒng)安全管理_第5頁
已閱讀5頁,還剩126頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

項目9管理系統(tǒng)安全《Linux網(wǎng)絡操作系統(tǒng)項目化教程》學習目標/Target了解Linux操作系統(tǒng)的安全機制,能夠說出Linux常見的安全機制了解Linux操作系統(tǒng)的不安全因素,能夠說出Linux系統(tǒng)常見的不安全因素掌握網(wǎng)絡的檢查方法,能夠使用ss命令監(jiān)控系統(tǒng)網(wǎng)絡運行情況掌握進程的監(jiān)控方法,能夠使用ps命令、top命令監(jiān)控系統(tǒng)進程運行狀態(tài)學習目標/Target掌握用戶查看命令的使用,能夠使用who命令、w命令查看用戶相關(guān)信息掌握系統(tǒng)日志的查看方法,能夠使用journalctl命令查看系統(tǒng)各種日志信息掌握系統(tǒng)文件的查看方法,能夠使用lsof命令查看系統(tǒng)打開了哪些文件了解防火墻,能夠說出防火墻概念、作用及特點學習目標/Target了解防火墻策略與規(guī)則,能夠說出防火墻防御原理了解SELinux安全系統(tǒng),能夠說出SELinux概念、工作模式、安全上下文、默認安全上下文的修改與安全策略掌握firewall-cmd命令,能夠使用firewalld命令完成特定場景的防火墻配置項目導入

公司要升級網(wǎng)絡安全環(huán)境,上級領導讓安安帶著邦小苑完成公司網(wǎng)絡的安全升級,包括網(wǎng)絡監(jiān)控、進程監(jiān)控、日志監(jiān)控、防火墻等。安安讓邦小苑負責以下4項防火墻的配置任務。任務9-1

開放相關(guān)協(xié)議的流量。任務9-2

拒絕特定用戶訪問本機服務。任務9-3

關(guān)閉端口。任務9-4

設置防火墻啟動方式。目錄/Contents010203Linux操作系統(tǒng)安全概述系統(tǒng)運行情況檢查和監(jiān)督防火墻04SELinux安全系統(tǒng)目錄/Contents050607任務9-1開放相關(guān)協(xié)議的流量任務9-2拒絕特定用戶訪問本機服務任務9-3關(guān)閉端口08任務9-4設置防火墻啟動方式Linux操作系統(tǒng)安全概述9.1

先定一個小目標!了解Linux系統(tǒng)安全機制,能夠說出Linux常見的安全機制9.1.1Linux操作系統(tǒng)的安全機制9.1.1Linux操作系統(tǒng)的安全機制Linux操作系統(tǒng)基本的安全機制如下:口令安全最小權(quán)限防火墻日志文件9.1.1Linux操作系統(tǒng)的安全機制1.口令安全口令就是為用戶設置的帳號密碼,它是Linux系統(tǒng)最基本的安全機制。設置密碼有效期密碼有效期可以在/etc/login.defs文件中設置。清除不設置密碼帳號通過/etc/passwd文件查看并清除不設置密碼的帳號。清除長期未登錄帳號定期清除長期不登錄的帳號??诹畎踩胧?.1.1Linux操作系統(tǒng)的安全機制2.最小權(quán)限為用戶分配權(quán)限時,以最小權(quán)限為準,防止用戶進行違規(guī)操作,即便用戶帳號被攻擊盜用,最小權(quán)限機制也無法讓用戶造成較大危害。3.防火墻防火墻技術(shù)是計算機最基本的防御措施,它通過定義一組規(guī)則來過濾不合法的數(shù)據(jù)包,此外防火墻還可以跟蹤、監(jiān)控已經(jīng)放行的數(shù)據(jù)包,對數(shù)據(jù)包的流向進行記錄,一旦發(fā)現(xiàn)問題就會報警,把它們對網(wǎng)絡和主機的危害降到最低。9.1.1Linux操作系統(tǒng)的安全機制4.日志文件Linux系統(tǒng)日志文件的默認位置是/var/log,有些第三方軟件的日志文件也會保存在自己獨有的目錄。[root@localhost~]#cd/var/log[root@localhostlog]#lsanacondagdmsecure-20200918auditglusterfssecure-20201103boot.loghawkey.logspeech-dispatcher┄boot.log-20201106lastlogsssdboot.log-20201109libvirtswtpmbtmpmaillogtuned┄cronmaillog-20200918vmware-network.3.log┄messagesvmware-network.5.log┄dnf.logsecurevmware-vmusr-root.logdnf.rpm.logsecure-20200901wtmpfirewalldsecure-20200911Xorg.9.log

先定一個小目標!了解Linux不安全因素,能夠說出Linux系統(tǒng)常見的不安全因素9.1.2Linux操作系統(tǒng)的不安全因素物理因素是指在物理介質(zhì)上保證Linux系統(tǒng)的安全,它主要受Linux系統(tǒng)設備所處的環(huán)境影響,包括溫度、濕度、靜電、灰塵、強電磁場、電磁脈沖等,自然災害中的火災、水災、地震等,均有可能破壞系統(tǒng)設備,影響系統(tǒng)的正常工作。9.1.2Linux操作系統(tǒng)的不安全因素1.物理因素人為因素是指由于人員的疏忽或黑客的主動攻擊造成的系統(tǒng)安全事件,這些攻擊可能是有意的,也可能是無意的。有意的系統(tǒng)破壞行為是指人為主動的惡意攻擊、違紀、違法和犯罪等。無意的系統(tǒng)破壞行為是指由于操作疏忽而造成的失誤,對系統(tǒng)造成不良影響。2.人為因素系統(tǒng)自身因素是指網(wǎng)絡中的計算機系統(tǒng)或網(wǎng)絡設備由于自身的原因引發(fā)的系統(tǒng)安全風險。計算機硬件系統(tǒng)的故障。各類計算機軟件故障或安全缺陷,包括系統(tǒng)軟件(如操作系統(tǒng))、應用軟件的故障或缺陷。網(wǎng)絡和通信協(xié)議自身的缺陷。系統(tǒng)自身因素9.1.2Linux操作系統(tǒng)的不安全因素3.系統(tǒng)自身印刷系統(tǒng)運行情況檢查和監(jiān)督9.2

先定一個小目標!掌握網(wǎng)絡的檢查,能夠使用ss命令監(jiān)控系統(tǒng)網(wǎng)絡運行情況9.2.1檢查網(wǎng)絡9.2.1檢查網(wǎng)絡Linux系統(tǒng)提供了ss命令用于檢查網(wǎng)絡狀態(tài)。ss是SocketStatistics的縮寫,可以獲取所有socket統(tǒng)計信息,包括socket類型、socket狀態(tài)、socket的IP地址及端口號等。ss選項參數(shù)格式9.2.1檢查網(wǎng)絡ss命令常用選項選項說明-a顯示所有連接的socket-s顯示系統(tǒng)中所有socket摘要-l顯示所有監(jiān)聽狀態(tài)的socket-p顯示使用socket的進程-t顯示處理連接狀態(tài)的TCPsocket-u顯示處理連接狀態(tài)的UDPsocket-o顯示計時器信息-i顯示TCPsocket內(nèi)部信息-n不解析服務名稱-r解析服務名稱-4使用IPv4地址的socket-6使用IPv6地址的socket9.2.1檢查網(wǎng)絡1.顯示socket信息ss命令可以通過不同的選項顯示不同類型的socket信息。案例9-1顯示socket摘要信息。[itheima@localhost~]$ss–s#顯示socket摘要信息Total:1127TCP:16(estab1,closed5,orphaned0,timewait0)Transport TotalIPIPv6RAW 101UDP 1174TCP 1165INET 231310FRAG 0009.2.1檢查網(wǎng)絡案例9-2顯示處于監(jiān)聽狀態(tài)的socket,以及使用這些socket的進程。[itheima@localhost~]$ss–plNetidStateRecv-QSend-QLocalAddress:PortPeerAddress:PortnlUNCONN00rtnl:goa-daemon/2641*…

tcpLISTEN0128*:http*:*tcpLISTEN0128[::]:ssh[::]:*tcpLISTEN05[::1]:ipp[::]:*9.2.1檢查網(wǎng)絡2.顯示不同類型的socketss命令可以通過不同的選項顯示不同類型的socket信息。案例9-3顯示TCPsocket、UDPsocket信息。[itheima@localhost~]$ss–ta #顯示所有的TCPsocket信息StateRecv-QSend-QLocalAddress:PortPeerAddress:PortLISTEN0128:x11-ssh-offset:*┄[itheima@localhost~]$ss–ua #顯示所有的UDPsocket信息StateRecv-QSend-QLocalAddress:PortPeerAddress:PortUNCONN00:48056:*┄9.2.1檢查網(wǎng)絡3.顯示某種狀態(tài)的socket一個socket有多種不同的狀態(tài),ss命令可以通過查詢處于不同狀態(tài)的socket。socket常見的狀態(tài)狀態(tài)說明LISTEN監(jiān)聽狀態(tài)ESTABLISHED連接打開狀態(tài),即剛剛建立連接,可以傳輸數(shù)據(jù)的狀態(tài)CONNECTED連接狀態(tài),通常除了LISTEN和CLOSED,其他狀態(tài)都稱為CONNECTED狀態(tài)FIN-WAIT-1/FIN-WAIT-2釋放連接狀態(tài)CLOSED關(guān)閉狀態(tài)9.2.1檢查網(wǎng)絡顯示所有狀態(tài)為ESTABLISHED的HTTP連接。案例9-4[itheima@localhost~]$ss-ostateestablished'(dport=:httpordport=:http)'

NetidRecv-QSend-QLocalAddress:PortPeerAddress:Port9.2.1檢查網(wǎng)絡案例9-5分別顯示使用IPv4地址和IPv6地址,并且處理CLOSED狀態(tài)的socket。[itheima@localhost~]$ss-4stateclosed#使用IPv4地址,CLOSED狀態(tài)NetidRecv-QSend-QLocalAddress:PortPeerAddress:Portudp00:48056:*┄┄[itheima@localhost~]$ss-6stateclosed#使用IPv6地址,CLOSED狀態(tài)NetidRecv-QSend-QLocalAddress:PortPeerAddress:Porticmp600*:ipv6-icmp*:*udp00[::]:sunrpc[::]:*┄┄9.2.1檢查網(wǎng)絡4.顯示指定IP地址和端口的socketss命令提供了src命令和dst命令來匹配指定地址的socket,src命令用于匹配本地地址,dst命令用于匹配遠程地址。案例9-6顯示來自6地址的socket。[itheima@localhost~]$ssdst6NetidStateRecv-QSend-QLocalAddress:PortPeerAddress:Port9.2.1檢查網(wǎng)絡在IP地址后面可以使用:連接端口號指定來自該地址某個端口的socket。[itheima@localhost~]$ssdst6:1024

#指定端口號[itheima@localhost~]$ssdst6:http

#http連接默認端口號809.2.1檢查網(wǎng)絡案例9-7顯示來自本機地址的socket。[itheima@localhost~]$sssrc32NetidStateRecv-QSend-QLocalAddress:PortPeerAddress:PortudpESTAB0032%ens33:bootpc54:bootpstcpESTAB03632:ssh:52037tcpESTAB0032:ssh:589159.2.1檢查網(wǎng)絡ss命令還可以將本地端口(sport)或遠程端口(dport)與另一個端口進行比較,查詢來自某些端口的socket。5.端口比較ssdport/sportOPPORT格式9.2.1檢查網(wǎng)絡OP表示的運算規(guī)則規(guī)則說明\<=或le小于等于\>=或ge大于等于==或=或eq等于!=或ne不等于\<或lt小于\>或gt大于9.2.1檢查網(wǎng)絡[itheima@localhost~]$ssdport\>=60000 #匹配大于等于60000的遠程端口[itheima@localhost~]$ssdport=32195 #匹配遠程端口32195[itheima@localhost~]$sssport=http #匹配本地80端口[itheima@localhost~]$sssport!=1024 #匹配不是1024的本地端口[itheima@localhost~]$ssdport\<1024 #匹配小于1024的遠程端口示例使用端口比較運算符查詢Socket命令。

先定一個小目標!掌握進程的監(jiān)控,能夠使用ps命令、top命令監(jiān)控系統(tǒng)進程運行狀態(tài)9.2.2監(jiān)控進程9.2.2監(jiān)控進程進程是計算機系統(tǒng)中的運行單元,計算機系統(tǒng)主要通過進程完成任務,如讀寫文件、操作數(shù)據(jù)庫等。如果系統(tǒng)中有非法進程,可能會給系統(tǒng)帶來重大危害。此外,有些網(wǎng)絡攻擊會破壞計算機系統(tǒng)的合法進程,使系統(tǒng)無法正常工作,從而達到攻擊計算機系統(tǒng)的目的,因此,監(jiān)控和保護進程安全,是保證系統(tǒng)安全的重要措施。9.2.2監(jiān)控進程Linux操作系統(tǒng)提供了很多命令用于監(jiān)控進程,如ps、top、pstree等,通過這些命令,系統(tǒng)管理員可以了解系統(tǒng)中進程運行情況,如進程運行狀態(tài)、進程是否結(jié)束、哪些進程占用了過多資源等。如果發(fā)現(xiàn)非法進程或異常進程,可以使用kill命令或killall命令終止。

先定一個小目標!掌握用戶查看命令的使用,能夠使用who命令、w命令查看用戶相關(guān)信息9.2.3查看用戶9.2.3查看用戶1.who命令who命令用于顯示當前登錄系統(tǒng)的用戶信息,顯示內(nèi)容包括登錄用戶名、登錄終端、登錄日期和時間。who選項格式9.2.3查看用戶who命令常用選項選項說明-a顯示用戶登錄的所有信息-b顯示最近一次系統(tǒng)啟動的日期和時間-d顯示當前登錄用戶中僵死進程-l顯示系統(tǒng)登錄進程-m僅顯示當前終端用戶登錄信息-q統(tǒng)計當前登錄用戶數(shù)量-r顯示初始化進程的運行級別-u顯示帶有進程標識的登錄用戶列表-H為每一列顯示信息添加標題9.2.3查看用戶顯示用戶登錄信息。[itheima@localhost~]$who #顯示系統(tǒng)當前登錄用戶itheimatty22020-11-1110:25(tty2)itheimapts/02020-11-1110:25()[itheima@localhost~]$who–a #顯示用戶登錄的所有信息

系統(tǒng)引導2020-11-1110:23

運行級別52020-11-1110:24itheima+tty22020-11-1110:2504:352378(tty2)itheima+pts/02020-11-1110:25.2978()[itheima@localhost~]$who–b #顯示最近一次系統(tǒng)啟動的日期和時間

系統(tǒng)引導2020-11-1110:23 案例9-89.2.3查看用戶2.w命令w命令是who命令的增強版,它可以顯示登錄用戶更多更詳細的信息。w選項參數(shù)格式w命令常用選項選項說明-h不顯示列標題-s使用短格式顯示信息,不顯示登錄時間、JCPU(終端機階段作業(yè))和PCPU(程序消耗)時間-f切換用戶從哪里登錄-u顯示當前進程和cpu時間,忽略用戶名9.2.3查看用戶案例9-9查看系統(tǒng)當前登錄用戶信息。[itheima@localhost~]$w

15:54:12up5:30,2users,loadaverage:0.07,0.02,0.01USERTTYFROMLOGIN@IDLEJCPUPCPUWHATitheimatty2tty210:255:30m1:090.09s/usr/libexec/gsd-disitheimapts/010:250.00s1.04s0.02sw

先定一個小目標!掌握系統(tǒng)日志的查看,能夠使用journalctl命令查看系統(tǒng)各種日志信息9.2.4查看日志9.2.4查看日志從CentOSLinux

7開始,CentOS操作系統(tǒng)開始統(tǒng)一管理日志,使用systemd-journald服務收集日志信息進行統(tǒng)一管理。為了方便查看日志文件,systemd-journald服務提供了相應的日志管理命令journalctl,該命令功能強大,可以查看所有的日志信息。journalctl選項參數(shù)格式9.2.4查看日志journalctl命令常用選項選項說明-a顯示全部日志信息-k查看內(nèi)核日志-b查看系統(tǒng)本次啟動的日志-u查看指定服務的日志-n指定查看的條數(shù)-f追蹤日志,只顯示最近的日志條目,并不斷打印新的被附加到日志中的條目-o指定輸出格式,journalctl命令可以輸出多種格式的信息。-p指定日志優(yōu)先級--disk-usage查看當前日志占用的磁盤空間大小9.2.4查看日志-o選項的參數(shù)-ocat:只顯示信息字段本身export:適合傳輸或備份的二進制格式json:標準JSON格式,第行一個條目json-pretty:優(yōu)化的JSON格式,適合人類閱讀習慣json-sse:JSON格式,經(jīng)過打包以兼容server-sent事件short:默認syslog類輸出格式short-mnotonic:默認格式,提供普通時間戳short-iso:默認格式,強調(diào)顯示ISO8601掛名時間戳short-precise:默認格式,提供微秒級精度verbose:顯示該條目的全部可用journal字段,包括通常被內(nèi)部隱藏的字段9.2.4查看日志journanctl命令查看日志的用法示例。[root@localhost~]#journalctl–k #查看內(nèi)核日志[root@localhost~]#journalctl–b #查看系統(tǒng)本次啟動的日志[root@localhost~]#journalctl–uhttpd #查看httpd服務日志#查看2條內(nèi)核日志信息,并以json-pretty格式輸出[root@localhost~]#journalctl–k–n2–ojson-pretty[root@localhost~]#journalctl–f #追蹤日志[root@localhost~]#journalctl---disk-usage#查看當前日志所占磁盤空間大小示例9.2.4查看日志journalctl命令可以使用--since和--until選項查看指定時間的日志,這兩個選項含義如下:--since:指定日志信息的開始時間。--until:指定日志信息的截止時間。journalctl命令支持的時間格式為HH-MM-SS(時-分-秒),此外,還能夠識別英文單詞表示的時間,如yesterday、today、torromow、now、ago、hour、min、seconds等。1.查看指定時間的日志9.2.4查看日志案例9-10查看昨天的日志。[root@localhost~]#journalctl--sinceyesterday--LogsbeginatThu2020-11-1209:21:09CST,endatThu2020-11-1217:01:01CST.--11月1209:21:09itcastkernel:Linuxversion4.18.0-193.el8.x86_64(mockbuild@kbuil>11月1209:21:09itcastkernel:Commandline:BOOT_IMAGE=(hd0,msdos1)/vmlinuz-4.18.0>…lines1-259.2.4查看日志案例9-11查看2020年11月11號到目前為止的日志。[root@localhost~]#journalctl--since"2020-11-11"--untilnow--LogsbeginatThu2020-11-1209:21:09CST,endatThu2020-11-1216:51:41CST.--11月1209:21:09itcastkernel:Linuxversion4.18.0-193.el8.x86_64(mockbuild@kbuil>11月1209:21:09itcastkernel:Commandline:…11月1209:21:09itcastkernel:Hypervisordetected:VMwarelines1-259.2.4查看日志案例9-12查看過去15分鐘的日志。[root@localhost~]#journalctl--since"15minago"--LogsbeginatThu2020-11-1209:21:09CST,endatThu2020-11-1217:06:41CST.--11月1217:06:41localhostNetworkManager[1149]:<info>[1605172001.2900]dhcp4(en>11月1217:06:41localhostNetworkManager[1149]:<info>[1605172001.2904]dhcp4(en>…lines1-259.2.4查看日志指定進程、用戶、用戶組的選項分別如下所示。_PID:指定進程ID。_UID:指定用戶ID。_GID:指定用戶組ID。2.查看指定進程、用戶或用戶組的日志journalctl命令可以查看指定進程、指定用戶或指定用戶組的日志。journalctl選項=參數(shù)格式9.2.4查看日志案例9-13查看昨天PID為4070的進程日志。[root@localhost~]#journalctl_PID=4070--sinceyesterday--LogsbeginatThu2020-11-1209:21:09CST,endatThu2020-11-1218:06:41CST.--11月1210:37:17localhostsu[4070]:(toroot)itheimaonpts/011月1210:37:17localhostsu[4070]:pam_systemd(su-l:session):Cannotcreatesessio>11月1210:37:17localhostsu[4070]:pam_unix(su-l:session):sessionopenedforuser>lines1-4/4(END)9.2.4查看日志案例9-14查看用戶ID為1000的用戶日志、用戶組ID為1002的用戶組日志。[root@localhost~]#journalctl_UID=1000[root@localhost~]#journalctl_GID=10029.2.4查看日志3.

查看指定優(yōu)先級的日志Linux系統(tǒng)根據(jù)日志記錄的信息錯誤嚴重程度,將日志劃分為了不同的優(yōu)先級。0——emerg(緊急)1——alert(警惕)2——crit(嚴重)3——err(錯誤)4——warning(警告)5——notice(注意)6——info(通知)7——debug(更正)9.2.4查看日志案例9-15查看系統(tǒng)本次啟動后,優(yōu)先級為err的日志。[root@localhost~]#journalctl-b-perr--LogsbeginatThu2020-11-1209:21:09CST,endatThu2020-11-1218:22:49CST.--11月1209:21:10itcastkernel:sd2:0:0:0:[sda]Assumingdrivecache:writethrough11月1209:21:10itcastkernel:sd2:0:1:0:[sdb]Assumingdrivecache:writethrough11月1209:21:10itcastkernel:sd2:0:2:0:[sdc]Assumingdrivecache:writethrough11月1209:21:10itcastkernel:sd2:0:3:0:[sdd]Assumingdrivecache:writethrough11月1209:21:10itcastkernel:sd2:0:4:0:[sde]Assumingdrivecache:writethrough11月1209:21:22localhost.localdomainkernel:piix4_smbus0000:00:07.3:SMBusHost>lines1-7/7(END)

先定一個小目標!掌握系統(tǒng)文件的查看,能夠使用lsof命令查看系統(tǒng)打開了哪些文件9.2.5查看系統(tǒng)打開的文件9.2.5查看系統(tǒng)打開的文件在Linux操作系統(tǒng)中,一切皆文件,通過文件不僅可以訪問常規(guī)數(shù)據(jù),還可以訪問網(wǎng)絡連接和硬件,系統(tǒng)運行情況都可以從文件獲知。因此,在Linux中查看系統(tǒng)當前打開的文件,可以幫助我們監(jiān)控系統(tǒng)運行情況,也可以幫助我們診斷系統(tǒng)出現(xiàn)的問題。Linux系統(tǒng)提供了一個命令lsof,用于查看系統(tǒng)打開的文件,以及查看網(wǎng)絡連接、進程、端口號、用戶等信息。lsof選項參數(shù)格式9.2.5查看系統(tǒng)打開的文件lsof命令常用選項選項說明-a指示其他選項之間的“與”關(guān)系-t只列出進程PID-n不解析主機名-c字符串列出以指定字符串開頭的進程打開的文件-gGID列出指定GID的進程詳情-d文件描述符列出使用該文件描述符的進程+d目錄列出指定目錄下被打開的文件+D目錄遞歸列出指定目錄下被打開的文件-n目錄列出使用NFS的文件-i條件列出符合條件(4、6、協(xié)議、:端口號、@ip)進程打開的文件-pPID列出指定進程號所打開的文件-u用戶名列出指定用戶的進程打開的文件9.2.5查看系統(tǒng)打開的文件lsof命令使用及輸出結(jié)果進程名稱進程名稱線程ID任務名稱進程所有者文件描述符文件類型磁盤設備文件大小和文件偏移量索引節(jié)點文件的確切名稱示例9.2.5查看系統(tǒng)打開的文件文件描述符種類文件描述符說明0標準輸出1標準輸入2標準錯誤cwd應用程序當前工作目錄,即該應用程序的啟動目錄txt該類型的文件是程序代碼,如應用程序二進制文件本身或共享庫lnn庫引用(AIX)errFD信息錯誤jld監(jiān)管目錄ltx共享庫文本(代碼和數(shù)據(jù))mxx十六進制內(nèi)存映射類型號m86DOS合并映射文件mem內(nèi)存映射文件pd父目錄rtd根目錄tr內(nèi)核跟蹤文件(OpenBSD)v86VP/ix映射文件9.2.5查看系統(tǒng)打開的文件lsof常用的文件類型文件類型說明REG普通文件DIR表示目錄CHR表示字符類型BLK塊設備類型UNIXUNIX域套接字FIFO先進先出隊列IPv4IPv4套接字9.2.5查看系統(tǒng)打開的文件查看/bin/bash文件都在被哪些進程使用。[root@localhost~]#lsof/bin/bashlsof:WARNING:can'tstat()fuse.gvfsd-fusefilesystem/run/user/1000/gvfsOutputinformationmaybeincomplete.COMMANDPIDUSERFDTYPEDEVICESIZE/OFFNODENAMEksmtuned1073roottxtREG253,0121924850387463/usr/bin/bashbash3034itheimatxtREG253,0121924850387463/usr/bin/bashbash3946roottxtREG253,0121924850387463/usr/bin/bash案例9-169.2.5查看系統(tǒng)打開的文件查看哪些進程在使用80端口。[root@localhost~]#lsof-i:80COMMANDPIDUSERFDTYPEDEVICESIZE/OFFNODENAMEhttpd1378root4uIPv6387400t0TCP*:http(LISTEN)httpd1623apache4uIPv6387400t0TCP*:http(LISTEN)httpd1624apache4uIPv6387400t0TCP*:http(LISTEN)httpd1625apache4uIPv6387400t0TCP*:http(LISTEN)案例9-179.2.5查看系統(tǒng)打開的文件查看TCP連接信息和UDP連接信息。[root@localhost~]#lsof-itcpCOMMANDPIDUSERFDTYPEDEVICESIZE/OFFNODENAMEsystemd1root36uIPv4267610t0TCP*:sunrpc(LISTEN)systemd1root38uIPv6267630t0TCP*:sunrpc(LISTEN)…[root@localhost~]#lsof-iudpCOMMANDPIDUSERFDTYPEDEVICESIZE/OFFNODENAMEsystemd1root37uIPv4267620t0UDP*:sunrpcsystemd1root39uIPv6267640t0UDP*:sunrpc…案例9-189.2.5查看系統(tǒng)打開的文件查看/etc目錄下被打開的文件。[root@localhost~]#lsof+d/etclsof:WARNING:can'tstat()fuse.gvfsd-fusefilesystem/run/user/1000/gvfsOutputinformationmaybeincomplete.COMMANDPIDUSERFDTYPEDEVICESIZE/OFFNODENAMEavahi-dae981avahicwdDIR253,07151948099/etc/avahiavahi-dae981avahirtdDIR253,07151948099/etc/avahi案例9-19防火墻9.3

先定一個小目標!了解防火墻,能夠說出防火墻概念、作用及特點9.3.1防火墻概述9.3.1防火墻概述防火墻也稱為防護墻,是指隔離在本地網(wǎng)絡與外界網(wǎng)絡之間的一種高級訪問控制設備、置于不同網(wǎng)絡安全域之間的一系列部件組合,也是不同網(wǎng)絡安全域間通信流的唯一通道。9.3.1防火墻概述防火墻的物理載體可以是位于內(nèi)部網(wǎng)或Web站點與Internet之間的一個路由器或一臺計算機(通常稱為堡壘主機),或者是它們的組合。9.3.1防火墻概述防火墻作用1過濾、篩選和屏蔽有害的信息和服務,保護內(nèi)網(wǎng)中的網(wǎng)絡服務。2防止攻擊者接近防御設備。3實施安全策略,對網(wǎng)絡通信進行訪問控制。4對內(nèi)外網(wǎng)之間的通信進行監(jiān)控審計。5限制用戶對特殊站點的訪問。9.3.1防火墻概述防火墻特征1所有出站和入站的網(wǎng)絡流量都必須經(jīng)過防火墻。2只允許被授權(quán)的網(wǎng)絡流量才能通過,不被授權(quán)的網(wǎng)絡流量將被丟棄或拒絕。3防火墻本身不能被攻破。4可以與其他安全技術(shù)(如加密技術(shù))結(jié)合使用,以增加自身功能,提供更強大的保護。5界面友好,方便用戶設置防火墻規(guī)則。9.3.1防火墻概述1可以限制有害的網(wǎng)絡服務,但有一些有用的網(wǎng)絡服務會存在安全漏洞,它們也會被防火墻限制。2防火墻不能完全防止內(nèi)部威脅,比如用戶操作失誤而導致網(wǎng)絡受到攻擊。3防火墻無法防御通過防火墻以外的其他途徑的攻擊。4防火墻無法完全防御已感染病毒的軟件或文件。5防火墻無法防御木馬、緩沖區(qū)溢出等類型的攻擊。6防火墻是一種被動式的防護手段,它只對已知網(wǎng)絡威脅起作用,對新形式的攻擊,還需要升級更新。防火墻不足

先定一個小目標!了解防火墻策略與規(guī)則,能夠說出防火墻防御原理9.3.2策略與規(guī)則當數(shù)據(jù)包經(jīng)過防火墻時,后者會將客戶請求逐一與所設置的規(guī)則進行匹配,當匹配成功之后,防火墻會執(zhí)行規(guī)則中定義的行為,如放行、阻止、丟棄等。9.3.2策略與規(guī)則防火墻的規(guī)則存儲在內(nèi)核中的netfilter模塊,多個規(guī)則可以組成一個規(guī)則鏈,根據(jù)數(shù)據(jù)包處理位置的不同,可以將規(guī)則鏈分為以下5種。9.3.2策略與規(guī)則數(shù)據(jù)包入口過濾,定義數(shù)據(jù)包由外部發(fā)往內(nèi)部的規(guī)則。INPUT數(shù)據(jù)包出口過濾,定義數(shù)據(jù)包由內(nèi)部發(fā)往外部的規(guī)則。OUTPUT轉(zhuǎn)發(fā)關(guān)卡過濾,數(shù)據(jù)包不進入用戶空間,進行路由轉(zhuǎn)發(fā)時的規(guī)則。FORWARD路由前過濾,數(shù)據(jù)包進來,還未查詢路由表之前的規(guī)則,所有的數(shù)據(jù)包進來都要先由這個鏈進行處理。PREROUTING路由后過濾,查詢完路由表,數(shù)據(jù)將要出去的規(guī)則,所有發(fā)送出去的數(shù)據(jù)包都要由這個鏈進行處理。POSTROUTING配置防火墻就是添加、刪除、修改這些規(guī)則。例如,設置一條規(guī)則,拒絕所有的ICMP數(shù)據(jù)包,設置好該規(guī)則之后,該規(guī)則就會保存到內(nèi)核的netfilter模塊,之后所有的ICMP數(shù)據(jù)包都會被拒絕。防火墻規(guī)則的配置由防火墻管理工具實現(xiàn)。早期的CentOS

Linux

5/6操作系統(tǒng)默認使用iptables工具管理防火墻,從CentOS7開始,CentOS操作系統(tǒng)默認使用firewalld工具管理防火墻。9.3.2策略與規(guī)則firewalld支持動態(tài)更新技術(shù),并增加了區(qū)域(zone)的概念。所謂區(qū)域是指firewalld預先準備了幾套防火墻策略集合,用戶可以根據(jù)不同的生產(chǎn)環(huán)境來選擇不同的策略,從而實現(xiàn)防火墻策略之間的快速切換。9.3.2策略與規(guī)則firewalld常見區(qū)域及相應策略規(guī)則9.3.2策略與規(guī)則區(qū)域策略trusted允許所有數(shù)據(jù)包home拒絕流入的流量,除非與流出的流量相關(guān)。若流量與ssh、mdns、ipp-client、amba-client、dhcpv6-client服務相關(guān),則允許流量通過internal等同于home區(qū)域work拒絕流入的流量,除非與流出的流量相關(guān),若流量與ssh、ipp-client、dhcpv6-client相關(guān),則允許流量通過public拒絕流入的流量,除非與流出的流量相關(guān),若流量與ssh、dhcpv6-client服務相關(guān),則允許流量通過external拒絕流入的流量,除非與流出的流量相關(guān),若流量與ssh服務相關(guān),則允許流量通過dmz拒絕流入的流量,除非與流出的流量相關(guān),若流量與ssh服務相關(guān),則允許流量通過block拒絕流入的流量,除非與流出的流量相關(guān)(阻斷)drop拒絕流入的流量,除非與流出的流量相關(guān)(丟棄)CentOSStream9操作系統(tǒng)默認開啟了firewalld服務,用戶可以使用systemctl命令查看firewalld服務狀態(tài),具體命令及輸出結(jié)果如下:9.3.2策略與規(guī)則[root@localhost~]#systemctlstatusfirewalld●firewalld.service-firewalld-dynamicfirewalldaemonLoaded:loaded(/usr/lib/systemd/system/firewalld.service;enabled;vendorpreset>

Active:active(running)sinceFri2020-11-1309:14:09CST;5h32minagoDocs:man:firewalld(1)MainPID:1089(firewalld)Tasks:2(limit:11155)Memory:25.0M…lines1-13/13(END)

先定一個小目標!掌握firewall-cmd命令,能夠熟練使用firewall-cmd命令設置主機的防御規(guī)則9.3.3firewall-cmd命令9.3.3firewall-cmd命令firewalld提供了firewall-cmd命令來設置防火墻規(guī)則。firewall-cmd選項參數(shù)格式9.3.3firewall-cmd命令firewall-cmd命令常用選項參數(shù)含義--get-default-zone查詢默認的區(qū)域名稱--set-default-zone=區(qū)域名稱設置默認的區(qū)域,使其永久生效--get-zones顯示可用的區(qū)域--get--services顯示預先定義的服務--get-active-zones顯示當前正在使用的區(qū)域與網(wǎng)卡名稱--add-source=將源自此IP或子網(wǎng)的流量導向指定的區(qū)域--remove-source不再將源自此IP或子網(wǎng)的流量都導向某個指定區(qū)域--add-service=服務名設置默認區(qū)域允許該服務的流量--add-port=端口號/協(xié)議設置默認區(qū)域允許該端口的流量9.3.3firewall-cmd命令firewall-cmd命令常用選項參數(shù)含義--remove-service=服務名設置默認區(qū)域不再允許該端口的流量--add-interface=網(wǎng)卡名稱將源自該的所有流量都導向某個指定區(qū)域--change-interface=網(wǎng)卡名稱將某個網(wǎng)卡與區(qū)域進行關(guān)聯(lián)--list-all顯示當前區(qū)域的配置參數(shù)、資源、端口以及服務等信息--list-all-zones顯示所有區(qū)域的配置參數(shù)、資源、端口以及服務等信息--reload讓永久生效的配置規(guī)則立即生效,并覆蓋當前的配置規(guī)則--panic-on開啟應急狀況模式--panic-off關(guān)閉應急狀況模式9.3.3firewall-cmd命令firewalld配置防火墻規(guī)則時有兩個模式。運行時模式(Runtime)運行時模式下配置的規(guī)則立即生效,它是firewalld的默認模式。永久模式(Permanent)永久模式下配置的規(guī)則需要重啟系統(tǒng)才能生效。永久模式--permanent選項指定。如果要使永久模式下配置的規(guī)則立即生效,需要手動執(zhí)行firewall-cmd--reload命令。9.3.3firewall-cmd命令下面通過一組示例演示firewall-cmd命令的用法。(1)查看firewalld服務當前所使用的區(qū)域。[root@localhost~]#firewall-cmd--get-default-zonepublic9.3.3firewall-cmd命令(2)查看firewalld當前區(qū)域的配置參數(shù)、資源、服務等信息。[root@localhost~]#firewall-cmd--list-allpublic(active)target:defaulticmp-block-inversion:nointerfaces:ens33sources:services:cockpitdhcpv6-clientsshports:177/tcpprotocols:masquerade:noforward-ports:source-ports:icmp-blocks:richrules:9.3.3firewall-cmd命令(3)查看public區(qū)域是否允許SSH協(xié)議數(shù)據(jù)包和FTP協(xié)議數(shù)據(jù)包通過。[root@localhost~]#firewall-cmd--zone=public--query-service=sshyes[root@localhostitheima]#firewall-cmd--zone=public--query-service=ftpno9.3.3firewall-cmd命令(4)將FTP協(xié)議數(shù)據(jù)包設置為永久允許,并立即生效。[root@localhost~]#firewall-cmd--permanent--zone=public--add-service=ftp #設置規(guī)則success[root@localhost~]#firewall-cmd–reload #立即生效success[root@localhost~]#firewall-cmd--zone=public--query-service=ftpyes9.3.3firewall-cmd命令(5)將1024端口的數(shù)據(jù)包設置為允許,即開放1024端口,僅限當前有效。[root@localhost~]#firewall-cmd--zone=public--list-port177/tcp[root@localhost~]#firewall-cmd--zone=public--add-port=1024/tcpsuccess[root@localhost~]#firewall-cmd--zone=public--list-port177/tcp1024/tcp9.3.3firewall-cmd命令(6)配置一條富規(guī)則,拒絕/24網(wǎng)段的所有用戶訪問本機的ssh服務(22端口)。[root@localhost~]#firewall-cmd--zone=public--add-rich-rule='rulefamily="ipv4"sourceaddress="/24"servicename="ssh"reject'success在IP地址為35的主機上,通過ssh服務連接本機時,請求會被拒絕。[root@agent~]#ssh49#在35主機執(zhí)行此命令ssh:connecttohost49port22:ConnectionrefusedSELinux安全系統(tǒng)9.4

先定一個小目標!了解SELinux安全系統(tǒng),能夠說出SELinux概念9.4.1SELinux概述9.4.1SELinux概述SELinux(Security-EnhancedLinux)是一個強制訪問控制(MAC,MandatoryAccessControl)的安全系統(tǒng),旨在提高Linux系統(tǒng)的安全性。Linux內(nèi)核從2.6版本開始,就內(nèi)置了SELinux子系統(tǒng)。SELinux可以讓各個服務進程都受到約束,使進程只獲取與本進程相關(guān)的資源。SELinux會對資源進行類型設定,指定資源只能被哪些進程訪問。

先定一個小目標!了解SELinux安全系統(tǒng),能夠說出SELinux工作模式有哪幾種9.4.2SELinux工作模式9.4.2SELinux工作模式SELinux服務提供了3種工作模式。enforcingpermissivedisabled強制模式,該模式強制啟用SELinux的安全策略,將攔截進程的不合法請求,它是SELinux的默認工作模式。寬容模式,該模式在遇到進程越權(quán)訪問時,只發(fā)出警告而不強制攔截。關(guān)閉模式,該模式在遇到進程越權(quán)訪問時,既不警告也不攔截。9.4.2SELinux工作模式getenforce命令用于查看SELinux的工作模式,getenforce命令沒有選項和參數(shù),其執(zhí)行結(jié)果就是三種工作模式。1.getenforce命令查看SELinux的工作模式。[itheima@localhost~]$getenforceEnforcing案例9-209.4.2SELinux工作模式setenforce命令的參數(shù)有4個:Enforcing:設置強制模式。Permissive:設置寬容模式。1:設置強制模式。0:設置寬容模式。2.setenforce命令setenforce命令用于設置SELinux的工作模式。setenforce參數(shù)格式9.4.2SELinux工作模式設置SELinux工作模式為permissive。[root@localhost~]#setenforce0 #設置SELinux工作模式為permissive[root@localhost~]#getenforcePermissive案例9-219.4.2SELinux工作模式setenforce命令設置的SELinux工作模式只是臨時有效,并且該命令無法關(guān)閉SELinux服務。要使設置永久生效或關(guān)閉SELinux服務,可以通過/etc/selinux/config文件設置。[root@localhost~]#cat/etc/selinux/config#ThisfilecontrolsthestateofSELinuxonthesystem.┄┄#disabled-NoSELinuxpolicyisloaded.SELINUX=enforcing#SELINUXTYPE=cantakeoneofthesethreevalues:┄┄#mls-MultiLevelSecurityprotection.SELINUXTYPE=targeted9.4.2SELinux工作模式如果SELinux服務處理關(guān)閉狀態(tài),無法通過setenforce命令開啟。例如,通過設置/etc/selinux/config文件,關(guān)閉SELinux服務。重啟系統(tǒng)后,使用setenforce命令設置SELinux工作模式為enforcing或permissive時,系統(tǒng)會提示無法設置。[root@localhost~]#getenforce #查看SELinux工作模式Disabled #處于關(guān)閉狀態(tài)[root@localhost~]#setenforce1 #設置SELinux工作模式為enforcingsetenforce:SELinuxisdisabled #設置失敗

先定一個小目標!了解SELinux安全系統(tǒng),能夠說出SELinux安全上下文主要有哪幾個字段組成9.4.3SELinux安全上下文9.4.3SELinux安全上下文安全上下文有4個字段組成,每個字段之間使用“:”分隔,其格式如下所示。身份:角色:類型:級別格式9.4.3SELinux安全上下文1.身份身份字段用于標識數(shù)據(jù)被哪個身份的用戶所擁有。root:root用戶身份。system_u:系統(tǒng)用戶身份。user_u:普通用戶身份。2.角色角色用于標識安全上下文的歸屬,如進程、文件或目錄的安全上下文。object_r:資源安全上下文。system_r:進程安全上下文。9.4.3SELinux安全上下文3.類型類型字段是安全上下文中最重要的字段,進程安全上下文與資源安全上下文相匹配就是類型字段的匹配。資源中叫類型;進程中叫域。4.級別級別是由SELinux定義的安全等級,用于限制訪問。目前已經(jīng)定義的安全等級為s0~s15,數(shù)字越大表示安全等級越高。9.4.3SELinux安全上下文查看文件安全上下文,使用ls命令的-Z選項即可。例如:查看當前目錄下/etc/shadow文件的安全上下文,具體命令及輸出結(jié)果如下所示。[itheima@localhost~]$ls-Z/etc/shadowsystem_u:object_r:shadow_t:s0/etc/shadow1.查看文件安全上下文9.4.3SELinux安全上下文查看目錄安全上下文,需要使用-Zd選項。例如:查看httpd服務數(shù)據(jù)保存目錄/var/www/html的安全上下文。2.查看目錄安全上下文[itheima@localhost~]$ls-Zd/var/www/htmlsystem_u:object_r:httpd_sys_content_t:s0/var/www/html9.4.3SELinux安全上下文進程的安全上下文使用ps命令查看。例如:查看httpd服務進程的安全上下文。3.查看進程安全上下文[itheima@localhost~]$psauxZ|grephttpdsystem_u:system_r:httpd_t:s0root

13830.00.32745046904?Ss09:190:03/usr/sbin/httpd-DFOREGROUNDsystem_u:system_r:httpd_t:s0apache15840.00.22872404820?S09:190:00/usr/sbin/httpd-DFOREGROUND┄┄

先定一個小目標!了解SELinux安全系統(tǒng),能夠說出SELinux默認安全上下文的修改方式9.4.4SELinux默認安全上下文的修改9.4.4SELinux默認安全上下文的修改semanage命令用于查詢、修改、增加、刪除文件或目錄的默認SELinux安全上下文。1.semanagesemanage命令選項參數(shù)(文件或目錄)格式命令/選項含義fcontext管理文件或目錄的默認安全上下文-a添加默認安全上下文配置-d刪除默認安全上下文-m修改默認安全上下文-t設置默認安全上下文-l查詢默認SELinux安全上下文semanage命令常用選項9.4.4SELinux默認安全上下文的修改分別查看/etc/shadow文件、/etc/cron.d目錄和/etc/passwd文件的默認安全上下文。[root@localhost~]#semanagefcontext-l|grep/etc/shadow/etc/shadow.*regularfilesystem_u:object_r:shadow_t:s0[root@localhost~]#semanagefcontext-l|grep/etc/cron.d/etc/cron.daily(/.*)?allfilessystem_u:object_r:bin_t:s0[root@localhost~]#semanagefcontext-l|grep/etc/passwd/etc/passwd[-\+]?regularfilesystem_u:object_r:passwd_file_t:s0/etc/passwd\.OLDregularfilesystem_u:object_r:passwd_file_t:s0/etc/passwd\.adjunct.*regularfilesystem_u:object_r:passwd_file_t:s0/etc/passwd\.lockregularfilesystem_u:object_r:passwd_file_t:s0案例9-229.4.4SELinux默認安全上下文的修改(1)在當前目錄下創(chuàng)建/www目錄,并查看/www目錄的安全上下文。[root@localhost~]#mkdir/www #創(chuàng)建/www目錄[root@localhost~]#ls-Zd/www #查看/www目錄安全上下文unconfined_u:object_r:default_t:s0/www#使用semanage命令查看/www目錄安全上下文[root@localhost~]#semanagefcontext-l|grep/www/usr/share/awstats/wwwroot(/.*)?allfilessystem_u:object_r:awstats_content_t:s0…案例9-23創(chuàng)建/www目錄,并設置其默認安全上下文類型為htttpd_sys_content_t。9.4.4SELinux默認安全上下文的修改(2)使用semanage命令為/www目錄添加類型為httpd_sys_content_t的默認安全上下文。案例9-23創(chuàng)建/www目錄,并設置其默認安全上下文類型為htttpd_sys_content_t。[root@localhost~]#semanagefcontext-a-thttpd_sys_content_t/www[root@localhost~]#semanagefcontext-l|grep/www…system_u:object_r:mediawiki_content_t:s0/wwwallfilessystem_u:object_r:httpd_sys_content_t:s09.4.4SELinux默認安全上下文的修改retorecon命令用于恢復文件或目錄的默認安全上下文,即可以使設置的文件或目錄的默認安全上下文生效。2.restorecon命令restorecon選項參數(shù)(文件或目錄)格式命令/選項含義-R遞歸操作,使當前目錄和目錄下所有子目錄和文件同時恢復默認安全上下文-v把恢復過程顯示到屏幕上retorecon命令常用選項9.4.4SELinux默認安全上下文的修改retorecon命令用法示例。semanage命令修改文件或目錄的默認安全上下文時無法立即生效,重啟系統(tǒng)也不能使之生效。如果要使semanage命令設置的默認安全上下文生效,需要使用restorecon命令。[root@localhost~]#restorecon-Rv/wwwRelabeled/wwwfromunconfined_u:ob

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論