亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        活學(xué)活用RedHat 7 SELinux管理機制

        2020-12-31 05:47:01河南劉京義
        網(wǎng)絡(luò)安全和信息化 2020年6期
        關(guān)鍵詞:規(guī)則用戶信息

        ■ 河南 劉京義

        利用SELin ux(即Securit y Enhanced Linux,安全性增強的Linux)這一安全管理機制,就可以讓系統(tǒng)變得更加穩(wěn)固。SELinux擁有靈活和強制性的訪問控制機制,可以對訪問進(jìn)行徹底控制,對所有的文件,目錄以及端口的訪問,都是基于策略設(shè)置的,這些策略由管理員設(shè)定,普通用戶無權(quán)更改。

        管理SELinux的運行狀態(tài)

        SELinux提供了兩種關(guān)閉方法,其一是臨時關(guān)閉,所謂臨時關(guān)閉,指的是并沒有真正關(guān)閉SELinux,僅僅對非法訪問進(jìn)行記錄。執(zhí)行“setenforce 0”命令即可。其二是永久關(guān)閉,方法是執(zhí)行“vi/etc/sysconfig/selinux”命令,在其中輸入“SELINUX=disabled”行,之后重啟系統(tǒng)即可。如果將其設(shè)置為“enforcing”,表示啟用SELinux。執(zhí)行“getenforce”命令,會顯示SELinux的狀態(tài),包括“enforcing”“permissive”和“disabled”。

        SELinux對于用戶只賦予最小權(quán)限,用戶被劃分為不同的角色,不同的角色擁有不同的權(quán)限。即使對于Root用戶來說,當(dāng)其不在Sysadm_r角色中,同樣是不能執(zhí)行Sysadm_t管理操作的,即其無法擁有管理員權(quán)限。與之類似,SELinux對進(jìn)程只賦予最小運行權(quán)限,這在SELinux中是非常重要的,其特點是對文件賦予名為Type的文件類型標(biāo)簽,對于進(jìn)程賦予名為Domain的標(biāo)簽,這樣的話,可以規(guī)定某個進(jìn)程只能執(zhí)行某類文件。

        SELinux安全上下文結(jié)構(gòu)

        SELinux包括了的安全上下文(Security Conte、xt)和策略(Policy)組件,對于前者來說,由用戶,角色和類型構(gòu)成。對于后者來說,指的是控制規(guī)則,即允許哪些進(jìn)程可以訪問哪些資源。

        安全上下文的格式由“user:role:type”三部分組成,其中的“user”用來提供身份識別,常見的“user”包括“user_u”(針對普通用戶),“system_u”(針對系統(tǒng)管理員)和“unconfined_u”(針對沒有做定義的用戶)。

        文件與目錄的角色(role)通常稱之為“object_r”,程序的角色通常是“system_r”。

        對于用戶的Role來說,不同的角色擁有不同的權(quán)限。用戶可以擁有多個Role,但是在同一時間內(nèi)只能扮演固定的Role。

        類型(type)作用是將主體與客體劃分為不同的組,組的每個主體和系統(tǒng)中的客體定義了一個類型,為進(jìn)程運行提供最低的權(quán)限環(huán)境。

        例如,執(zhí)行“l(fā)s -Z test.txt”命令,可以查看指定文件的安全上下文信息。例如,返回“-rw-r--r--.root root unconfined_u:object_r:admin_home_t:s0 a.txt”,其中的“unconfined_u”表示的是預(yù)設(shè)的用戶,該參數(shù)主要用來確認(rèn)用戶身份類型,一般搭配角色使用。

        “object_r”參數(shù)表示的是角色,普通文件和目錄都為該角色,“system_r”則一般為進(jìn)程的角色?!癮dmin_home_t”是SELinux中的類型信息,這里表示管理員的家目錄。

        對于“user_home_dir_t”類型來說,表示普通用戶的家目錄。執(zhí)行“l(fā)s -Z -d/xxx/”命令,可以查看指定目錄的安全上下文信息,這里的目錄名為“xxx”。

        根據(jù)SELinux的上下文信息,就可以確定標(biāo)文件的目錄能夠被哪些進(jìn)程和用戶進(jìn)行訪問。

        設(shè)置SELinux安全上下文

        要想修改SELinux上下文,可以使用“chcon”和“semanage”命令進(jìn)行修改,對于前者來說,雖然可以實現(xiàn)更改操作,但是對SELinux的規(guī)則庫沒有任何影響。例如,執(zhí)行“chcon -t var_t/etc/hosts”命令,可以對“/etc/hosts”文件的安全上下文進(jìn)行修改,將其類型由“net_conf_t”修改為“var_t”。執(zhí)行“chcon -R -t samba_share_t/tmp/data”命令,可以對“/tmp/data”目錄進(jìn)行遞歸操作,將其中的所有文件的安全上下文類型修改為“samba_share_t”,這樣“smb”進(jìn)程就可以訪問/tmp/data”目錄中的所有文件了。

        例如,對于Apache服務(wù)來說,在“/var/www/html/”目錄下存在“test.html”這個文件,之后從“/root”目錄下將“hello.html”文件移動到上述路徑下,進(jìn)入“/var/www/html/”,執(zhí)行“l(fā)l-Z hello.html test.html”命令,可以看到這兩個文件的安全上下文信息是不同的,分別為“admin_home_t”和“httpd_sys_content_t”。因為當(dāng)執(zhí)行文件移動操作時,其安全上下文是不變的。對于“httpd_sys_content_t”類型的文件來說,允許httpd進(jìn)程對其進(jìn)行訪問。而對于“admin_home_t”類型的文件來說,httpd進(jìn)程是無法訪問的。

        這樣,在開啟了SELinux的情況下,執(zhí)行“service httpd start”命令啟動Web服務(wù)后,當(dāng)從瀏覽器輸入實際路徑來訪問這兩個文件時,可以訪問“test.html”文件的內(nèi)容,但是卻無法訪問“hello.html”的內(nèi)容。執(zhí)行“chcon --reference=/var/www/html//var/www/html/hello.html”命令,將“hello.html”的安全上下文類型修改為“httpd_sys_content_t”,這樣就可以正常訪問“hello.html”文件了。

        也可以執(zhí)行“chcon -t httpd_sys_content_t/var/www/html/hello.html”命令,也可以將其上下文標(biāo)簽修改為“httpd_sys_content_t”類型,實現(xiàn)同樣的效果。當(dāng)然,也可以執(zhí)行“chcon -t -r httpd_sys_content_t/webapp/”命令,將指定目錄下的所有文件的安全上下文類型修改為“httpd_sys_content_t”。如果使用CP命令,將“/root”目錄下的“welcome.html”文件復(fù)制到“/var/www/html/”目錄下,該文件的安全上下文會自動會改變?yōu)槟繕?biāo)目錄的類型,這樣就可以順利進(jìn)行訪問了。

        恢復(fù)SELinux上下文信息

        在設(shè)置SELinux上下文信息時,如果出現(xiàn)問題需要重新恢復(fù)的話,可以使用Restorecon命令來實現(xiàn),該命令用來恢復(fù)檔案目錄的預(yù)設(shè)的安全上下文。既然要進(jìn)行恢復(fù),就需要依據(jù)預(yù)設(shè)的規(guī)則。執(zhí)行“vim/etc/selinux/targeted/contexts/files/file_contexts”命令,在規(guī)則文件中顯示不同文件的目錄擁有的預(yù)置的安全上下文信息。在上述路徑中的“file_contexts.local”文件中也包含了預(yù)設(shè)的安全上下文信息,通過查看上述兩個文件,可以了解系統(tǒng)中保存好的規(guī)則。

        例如,執(zhí)行“restorecon-R/webapp/”命令,來恢復(fù)制定目錄下所有文件的默認(rèn)的安全信息,例如“system_u:object_r:default_t:s0”等。之所以可以恢復(fù)默認(rèn)的上下文,說明使用“chcon”命令實際上無法真正更改SELinux的規(guī)則庫信息,為了防止隨意恢復(fù)SELinux安全上下文,可以使用semanage”命令來實現(xiàn)。

        例如執(zhí)行“semanage fcontext -a -t httpd_sys_content_"/webapp(/.*)?"”命令,就可以將目標(biāo)目錄(例如“/webapp”)的安全上下文類型修改為“httpd_sys_content_t”。

        當(dāng)然,按照這種格式,可以設(shè)置任意格式的SELinux安全上下文類型。之后執(zhí)行“restorecon -vvR/webapp/”命令,就可以讓上述修改動作生效,讓指定目錄真正擁有指定的安全規(guī)則。

        靈活更改SELinux安全規(guī)則

        使用上面談到的方法,雖然可以更改SELinux安全規(guī)則,不過操作起來很麻煩。在RedHat7中,提供了一些布爾變量,可以快速啟用和禁用對應(yīng)的安全規(guī)則。執(zhí)行“getsebool -a |wc -l”命令,顯示布爾變量的數(shù)量信息。執(zhí)行“getsebool -a”命令,可以顯示所有的布爾變量。在對應(yīng)布爾變量的右側(cè)如果顯示為“off”,表示其處于禁用狀態(tài),顯示為“on”,表示處于激活狀態(tài)。

        當(dāng)然,用戶可以根據(jù)需要來靈活調(diào)整。例如,執(zhí)行“getsebool -a | grep ftp”命令,可以查看和FTP相關(guān)的布爾變量。執(zhí)行“setsebool ftpd_use_nfs=1”命令,激活“ftpd_use_nfs”安全規(guī)則,允許FTP使用NFS網(wǎng)絡(luò)共享。

        注意,這種修改方式只是臨時生效的。執(zhí)行“setsebool -P ftpd_use_nfs=1”命令,可以實現(xiàn)永久修改。

        例如,當(dāng)啟用了FTP服務(wù)后,進(jìn)入“/etc/vsftpd”目錄,執(zhí)行“vim vsftpd.conf”命令,打開vsFTP配置文件。在“anonymous=”欄中可以設(shè)置是否開啟匿名用戶。在“anon_upload_enable=”欄中設(shè)置是否允許匿名用戶上傳文件。對該配置文件進(jìn)行修改,雖然可以允許匿名用戶進(jìn)行登錄并下載文件,但是是不允許上傳文件的。利用SELinux機制,可以打破這一限制。

        執(zhí)行“chcon -t public_content_rw_t/var/ftp/pub/”命令,修改指定FTP目錄的安全上下文類型。

        執(zhí)行“setsebool-P allow_ftpd_anon_write=on”命令,將“allow_ftpd_anon_write”的值設(shè)置為“on”,其中的“-P”參數(shù)表示執(zhí)行永久性設(shè)置,防止重啟系統(tǒng)之后恢復(fù)其預(yù)設(shè)值。“allow_ftpd_anon_write”是針對允許匿名FTP賬戶是否可以寫操作的項目,將其設(shè)置為“on”,可以讓FTP匿名用戶上傳文件。

        另外,在默認(rèn)情況下,如果使用本地賬戶登錄FTP服務(wù),是可以自動切換自己的Home目錄。但是當(dāng)開啟SELinux后,是不允許進(jìn)行切換和上傳文件的。執(zhí)行“setsebool -P ftp_home_dir=on”命令,可以解除這一限制。

        快速排查SELinux故障

        在使用SELinux保護(hù)系統(tǒng)時,如果遇到問題的話,可以執(zhí)行“sealert -a/var/log/audit/audit.log”命令,對SELinux的活動信息進(jìn)行分析,就可以找到解決策略,其中的“audit.log”為SELinux的審計日志文件。當(dāng)其分析完畢后,在返回信息的底部的“Raw Audit Message”欄中會顯示最近有關(guān)SELinux的警告信息。例如,因為Apache的網(wǎng)頁目錄文件安全配置信息異常導(dǎo)致的錯誤等。在該分析報告中會給出具體的解決方法,例如提示用戶執(zhí)行“grep httpd/var/log/audit/audit.log | audit2allow-M mypol”和“semodule -i mypol”命令,就可以解決問題。

        使用SELinux保護(hù)端口安全

        對于端口安全來說,不僅可以使用防火墻進(jìn)行控制,在RedHat7中還可以使用SeLinux,對端口打上安全標(biāo)簽,將端口配置信息固定下來,不允許隨意綁定端口。

        例如,執(zhí)行“vi/etc/ssh/sshd/sshd_config”命令,將其中的“port”項的值修改為“9789”,將SSH連接端口進(jìn)行了調(diào)整。

        之后執(zhí)行“systemctl restart sshd”命令,來重啟SSH服務(wù)。雖然系統(tǒng)沒有提示,但是該服務(wù)其實并沒有啟動。

        執(zhí)行“systemctl status sshd”命令,可以看到系統(tǒng)提示該服務(wù)沒有正常啟動。執(zhí)行“tail/var/log/secure”命令,可以看到具體的錯誤信息,提示沒有權(quán)限綁定修改后的端口。

        執(zhí)行“journalctl -xn status sshd”命令,也可以看到相關(guān)的錯誤信息。這其實就是SELinux在發(fā)揮作用,為了讓上述端口修改操作順利進(jìn)行,可以執(zhí)行“semanage port -a -t ssh_port_t -p tcp 9789”命令,就可以將TCP 9789定義為SSH的端口號。

        之后執(zhí)行“systemctl restart sshd”命令,就可以順利啟動SSH服務(wù)了。執(zhí)行“semanage port -l”命令,可以查看所有的端口對應(yīng)列表信息。

        例如,執(zhí)行“semanage port -a -t http_port_t -p tcp 81”命令,可以將TCP 81端口添加為HTTP端口。執(zhí)行“semanage port--delete -p tcp 9789”命令,可以刪除指定端口的定義信息。

        猜你喜歡
        規(guī)則用戶信息
        撐竿跳規(guī)則的制定
        數(shù)獨的規(guī)則和演變
        讓規(guī)則不規(guī)則
        Coco薇(2017年11期)2018-01-03 20:59:57
        訂閱信息
        中華手工(2017年2期)2017-06-06 23:00:31
        TPP反腐敗規(guī)則對我國的啟示
        關(guān)注用戶
        商用汽車(2016年11期)2016-12-19 01:20:16
        關(guān)注用戶
        商用汽車(2016年6期)2016-06-29 09:18:54
        關(guān)注用戶
        商用汽車(2016年4期)2016-05-09 01:23:12
        如何獲取一億海外用戶
        展會信息
        中外會展(2014年4期)2014-11-27 07:46:46
        成品人视频ww入口| 欧美性群另类交| 亚洲av永久无码精品秋霞电影影院 | 91人妻一区二区三区蜜臀| 久久精品熟女亚洲av麻豆永永| 国产精品一区二区三区在线免费| 内射爆草少妇精品视频| 日韩精品一区二区亚洲专区| 国产一区二区三区在线男友| 蜜桃精品视频一二三区| 日产分东风日产还有什么日产| 日本免费在线不卡一区二区| 日本熟女人妻一区二区| 国产乱码一区二区三区精品| av日韩一区二区三区四区| 国内少妇毛片视频| 久久精品免费一区二区三区| 久久久久国产精品免费免费搜索| 台湾佬娱乐中文22vvvv| 91精彩视频在线观看| 日韩AV无码一区二区三区不卡毛片| 亚洲综合自拍| 国产大片在线观看三级| 国产伦精品一区二区三区在线| 日本久久视频在线观看| 国产极品大奶在线视频| 小雪好紧好滑好湿好爽视频| 亚洲国产精品成人久久| 精品三级av无码一区| 欧美大屁股xxxx| 国产在线精品一区二区不卡| 亚洲av无码成人yellow| 国产免费破外女真实出血视频| 在线亚洲+欧美+日本专区| 国产在线精品福利大全| 亚洲素人日韩av中文字幕| av免费在线手机观看| 亚洲一区二区三区免费av| 久久成人精品国产免费网站 | 国产精女同一区二区三区久| 中文字幕在线亚洲三区|