【unit9 & unit10】selinux的管理;系統恢復

**************************************

***************selinux的管理************

**************************************

1.基本SELINUX安全性概念

 

2.顯示及更改SELINUX模式

1.查看)【ps axZ | ps -Zc | ls -Z】

vim /etc/sysconfig/selinuxselinux的配置文件】

disable:關閉;enforcing:強制;permissive:警告;狀態切換需重啓)

ls -Z XX【查看文件的安全上下文類型】

例如:ps auZ | grep vsftpd

【解釋:如果你開啓起了selinux,並且服務是受到selinux影響的,比如像vsftpd這種服務(基本網絡服務大部分都會受影響),比如你可以查看/var/frp/pub/下的文件,但是 你如果在/mnt下建立文件,並且mv到/var/ftp/pub下,你lftp後,查看/pub/下的文件,是找不到你在/mnt下建立的文件的。這就是因爲目錄和文件‘安全上下文’類型不一樣。】

wKioL1g2usSQR0RrAALE4XMnEhw017.png

wKiom1g2usXz7G7tAAFWbg_NIsI024.png

wKiom1g2usfBsEe0AAKyAcG-y_Q670.png

wKioL1g2usjztAbZAAJqcHGo_p0122.png

 

2.更改)

 1)臨時更改(修改selinux配置文件重啓的話,文件類型會自動修改爲目錄默認的‘安全上下文類型’,如果相同就可以訪問,不同就還需要修改爲相應的類型)

chcon -t public_conten_t /vat/ftp/pub -R【將pub下的所有文件安全上下文類型更改爲‘public_content_t’,這樣你就可以查看了】

chcon --reference=/etc/passwd /var/www/html/index.html 【以某個文件作爲模板(/etc/passwd)修改文件(/are/www/html/index.html)的‘安全上下文’】【執行restorecon刷新後還原‘安全上下文’】

wKioL1g2uwXTaBXsAAEaTwnrwL8078.png

wKiom1g2uwaAqpPuAALS1lmiwKg308.png

wKioL1g2uwiBDEhuAAORcgAX0So065.png

wKiom1g2uwnQrBVMAAIPjEGKrS0390.png

wKiom1g2uwvTjnIEAANug1_AUUo960.png

 

 2)永久修改(重啓selinux配置文件,會自動讀取你爲修改的目錄所添加的‘安全上下文’類型。)

semanage fcontext -l | grep ftpdir  【例子:查看ftpdir目錄的默認‘安全上下文’類型】

semanage fcontext -a -t public_content_t '/ftpdir(/.*)?' 【-a:所有的;-t:修改的類型;後面是固定常用的擴展正則表達式是'(/.*)?'】

wKioL1g2uyGRX9MYAAJhUaRsr0M435.png

restorencon -RvvF /ftpdir/  【將下列文件以及目錄修改,並且將顯示到屏幕上】【-R:連同子目錄一起修改;-v顯示到屏幕上;-F將此‘安全上下文類型’載入默認型。

 3)修改sebool(selinux的布爾值)【這個改了,想開什麼開什麼,暢通無阻】

getsebool -a | grep ftp【查看ftp服務的sebool信息】

setsebool -P ftpd_anon_write on  【打開ftp服務寫入的功能,這樣以來你手動調整setenforce 1|0 就不會影響你所用的服務的功能了,-P表示:直接將設置寫入配置文件】

 

wKiom1g2uy-wLt2eAAHkyw8bdsk859.png

wKioL1g2uzCBvTLuAAHMGgfmS54544.png

wKioL1g2uzHC6Vv5AAJQlZnTl4g483.png


3.監控 SElinux 衝突

*必須安裝 setroubleshoot-server 軟件包,才能將SELinux 消息發送至 /var/log/messages

*etroubleshoot-server 偵聽/var/log/audit/audit.log 中的審覈信息並將簡短摘要發送至 /var/log/messages

*摘要包括SElinux 衝突的唯一標識符(UUIDs),可用於收集更多信息。Sealert -l UUID用於生成特定事件的報告。

Sealert -a /var/log/audit/audit.log 用於在該文件中生成所有事件的報告。


***************************************

***************系統恢復*****************

***************************************

1.系統啓動流程

通電

||

bios(主板上的只讀存儲中,basic input op output system)

作用,硬件檢測,激活硬件

||

grup系統引導(grub引導分爲兩個階段)

1)階段1 mbr(主引導記錄)主引導記錄在硬盤上的0磁道,一扇區,446個字節

*)dd if=/dev/zero of=/dev/vda bs=446 count=1 清空mbr

*)進入到挽救模式,執行chroot /mnt/sysp_w_picpath切換到真實/環境,

   並執行grub2-install /dev/vda

wKiom1g2u8Lzgk-LAACRrHBtpWg871.png

wKioL1g2u8KCupcqAACdh9927XU279.png

wKioL1g2u8TRzfuBAAERYvmIjuk733.png

wKiom1g2u8WBV01kAABejSm7lTA565.png

wKioL1g2u8bgmK3XAACRp-wjtwY441.png

wKiom1g2u8bzl6l6AAAqaVn4MJ0255.png

wKiom1g2u8fxPYcRAAGCtNi0LmI721.png

wKioL1g2u8jx7L5bAAFE0PNW6fA906.png

wKioL1g2u8niP8HqAACef91zsSg832.png



2)階段2 grub文件引導階段

  找到/boot分區

  讀取/boot/grub2/grub.cfg

  文件丟失,grub2-mkconfig > /boot/grub2/grub.cfg

【測試】在正常進入的時候,選項界面,你按C進入手動引導,輸入如下(不正常的情況就是直接進入C的情況)

 set root='hd0,msdos1'【這個地址點,你可以先在文件中grub.cfg中查看】

linux16 /boot/vmliunz-3.10.0-123.e17.x86_64 ro root/dev/vda1

initrd16 /boot/initramfs-3.10.0-123.e17.x16_64.img

boot

wKioL1g2vDfiwwojAAE1gwEmTMw369.png

wKiom1g2vDewx8REAACJtghCS1E376.png

wKiom1g2vDrwnCxNAAOyJ57xs7Y869.png

wKioL1g2vDvx6lOYAAC68nsN8jA342.png

wKiom1g2vDzhZofMAADpdIj--c4451.png

wKioL1g2vD3TTx1eAABr1qBN7rM329.png



||

啓動內核,只讀掛載/設備

檢測設備

對設備驅動進行初始化

進入系統初始化階段

內核丟失,從新安裝內核安裝包可以解決

rpm -ivh kernel-XXXXXX.rpm --force

||

系統初始化階段

系統初始化階段加在initrd鏡像

開始初始化進程systemd

開始selinux

加在內核參數

初始化系統時鐘,鍵盤,主機名稱

重新讀寫掛載/設備

激活raid,lvm

激活配額

啓動multi-user.target.wants中的所有服務

開啓虛擬控制檯

啓動圖形

initramfs-`uname -r`.img丟失用:

mkinitrd initramfs-`uname -r`.img `uname -r`

在緊急救護模式 可以使用 mkinitrd /boot/initramfs-$(uname -r).img $(uname -r),使得丟失的文件(initranfs-3.10-123.e17.x86_64.img)文件生成。

恢復

wKioL1g2vIOADSZeAAE4vOrReKI091.png

wKiom1g2vITgrG8cAAGT3f_K8Ss149.png

wKiom1g2vITzipthAAA8IpjRGwc033.png



【開機默認選擇(以0開始爲第一個)】

grub2-set-default <序號>

 

 

【手動引導進入字符編輯頁面】

*)進入編輯啓動項(可寫)【在選擇啓動項時,按c(界面有提示)。進入,將fi下的linux16 。。。 找到ro,從這裏起刪除後面的並該爲:rw rd.break;Ctrl+x,重新載入後會得到一個shell,進入你自己的shell(chroot /sysroot),開始修改你所要修改的內容】

1,管理員密碼被篡改)

   passwd(更改密碼)

*)/.autorelable【重新載入系統更改配置,例如:實驗是在不知道密碼的情況下,在救護模式手動更改密碼。在更改完密碼後,touch /.autorelable,不然這個更改也許不成功,這和(selinux)防護有關。】

wKioL1g2vQeiHi0GAAEdYA3CY3k947.png

wKiom1g2vQiTeeXUAABTRM540oY467.png

【不要問我這張圖爲什麼這麼清晰。—.—,我第一次發現,截圖工具全屏截下來的圖片很高清啊】



2.bash被刪除【你將進入不了自己的bash,執行不料chroot /sysroot】【首先進入救護模式下】

  cp /bin/bash/mnt/sysp_w_picpath/bin/bashbash丟失,你將救護模式下的bash複製到你的本機下,就可以了】

*理解並熟悉關於控制系統服務開機啓動的文件multi-user.target.wants*】

當系統設定服務開機啓動時,其實是將你所啓動的服務,用一個軟鏈接,連接到開機自動讀取文件上,

1)例如 開機自啓動vsftpd服務,實則是:ln -s /usr/lib/systemd/system/vsftpd.service /etc/systemd/system/multi-user.target.wants/這個文件中。【如果你刪掉它,服務開機就重起了】

2)當系統開啓時會自動加載/etc/systemd/system/default.target,一般有圖形的機子,這個默認鏈接是連接到圖形界面的文件的(/usr/lib/systemd/system/graphical.target.wants/),如果你把它連到reboot上,你的機子就重啓阿重啓,哈哈,那就完了。       開玩笑的,【解決辦法:就是手動引導進入可編寫模式下,刪掉這個鏈接地址,把它換成圖形開啓界面】

wKiom1g2vgWAAc2FAAAuxUm9E-A243.png

wKioL1g2vgXyFZ3gAAElvebEnkM527.png

wKiom1g2vgbDZp4PAAA04nE3zXc647.png

wKioL1g2vgbyMoW9AABRqbhw9Qs024.png

wKiom1g2vgaRTaKaAAAo3qafhz0684.png

wKioL1g2vgfw2mJbAAAyS_k6a9c073.png

wKiom1g2vgeShoZIAAAskq2jV0k171.png




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章