亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術(shù)文章
文章詳情頁

CentOS上的安全防護軟件Selinux詳解

瀏覽:72日期:2022-06-06 17:27:03

selinux簡介

SELinux(Security-Enhanced Linux) 是美國國家安全局(NSA)對于強制訪問控制的 實現(xiàn),是 Linux歷史上最杰出的新安全子系統(tǒng)。NSA是在Linux社區(qū)的幫助下開發(fā)了一種訪問控制體系,在這種訪問控制體系的限制下,進程只能訪問那些在他的 任務中所需要文件。SELinux 默認安裝在 Fedora 和 Red Hat Enterprise Linux 上,也可以作為其他發(fā)行版上容易安裝的包得到,2000年以GNU GPL發(fā)布,Linux內(nèi)核2.6版本后集成在內(nèi)核中

DAC:Discretionary Access Control自由訪問控制

MAC:Mandatory Access Control 強制訪問控制

DAC環(huán)境下進程是無束縛的

MAC環(huán)境下策略的規(guī)則決定控制的嚴格程度

MAC環(huán)境下進程可以被限制的

策略被用來定義被限制的進程能夠使用那些資源(文件和端口)

默認情況下,沒有被明確允許的行為將被拒絕

selinux的工作類型

selinux一共有四種工作類型

strict:每個進程都受到selinux的控制

targeted:用來保護常見的網(wǎng)絡服務,僅有限進程受到selinux控制,系統(tǒng)當中默認設(shè)置類型

minimum:這個模式在centos7上,是targeted的修改版,只對選擇的網(wǎng)絡服務,僅對選中的進程生效

mls:提供mls機制的安全性,國防級別的

selinux安全上下文

傳統(tǒng)的linux,一切皆文件,由用戶、組、權(quán)限來進行訪問控制,這當中有很多的缺陷

在selinux中,一切皆對象(進程),有存放在inode的擴展屬性域的安全元素所控制其訪問

所有文件和端口資源和進程都具備安全標簽,這就是安全上下文

安全上下文有五個元素組成

system_u:object_r:admin_home_t:s0

user:role:type:sensitivity:category

user:指示登錄系統(tǒng)的用戶類型,如root,user_u,system_u,多數(shù)本地進程都屬于自由進程

role:定義文件,進程和用戶的用途,文件:object_r,進程和用戶:system_r

type:指定數(shù)據(jù)類型,規(guī)則重定義何種進程類型訪問何種文件,target策略基于type實現(xiàn),多服務功用,public_content_t

sensitivity:限制訪問的需要,由組織定義的分層安全級別,如unclassified,secret,top,一個對象有且只有一個sensitivity,分0-15個級別,s0最低,target策略默認使用是s0

category:對于特定組織劃分不分層的分類,如FBI secret,NSA secret,一個對象可以有多個category, c0-c1023共1024個分類,target策略不適用category

查看安全上下文

ls –Z ; ps -Z

期望(默認)上下文:存放在二進制的selinux策略庫中

semanage fcontext –l 查看系統(tǒng)中的默認安全上下文

@font-face {

font-family: “宋體”;

}@font-face {

font-family: “Cambria Math”;

}@font-face {

font-family: “Calibri”;

}@font-face {

font-family: “@宋體”;

}p.MsoNormal, li.MsoNormal, div.MsoNormal { margin: 0cm 0cm 0.0001pt; text-align: justify; font-size: 10.5pt; font-family: “Calibri”,”sans-serif”; }.MsoChpDefault { font-family: “Calibri”,”sans-serif”; }div.WordSection1 { }

selinux策略

對象(object):所有可以讀取的對象,包括文件、目錄和進程,端口等

主體:進程稱為主題(subject)

selinux中對所有的文件都賦予一個type的文件類型標簽,對于所有的進程也賦予各自的一個domain標簽。domain標簽能夠執(zhí)行的操作由安全策略里定義

當一個subject視圖訪問一個object,kernel中的粗略執(zhí)行服務器將檢查AVC,在AVC中,subject和object的權(quán)限被緩存,查找應用+文件的安全環(huán)境,然后根據(jù)查詢結(jié)果允許或拒絕訪問

安全策略:定義主體讀取對象的規(guī)則數(shù)據(jù)庫,規(guī)則中記錄了那個類型的主體使用了那個方法讀取哪一個對象是允許還是拒絕的,并且定義了那種行為是允許或拒絕

設(shè)置selinux

配置selinux

selinux是否啟用

給文件重新打安全標簽

給端口設(shè)置安全標簽

設(shè)定某些操作的布爾型開關(guān)

selinux的日志管理

selinux的狀態(tài)

enforcing:強制,每個受限的進程都必然受限

permissive:允許;每個受限的進程違規(guī)操作不會被禁止,但會被記錄與審計日志

disabled:禁用,允許任何操作

getenforce:獲取selinux當前狀態(tài)

sestatus:查看selinux狀態(tài)

setenforce 0|1

0:設(shè)置為permissive

1:設(shè)置為enforcing

配置文件

/etc/sysconfig/selinux鏈接文件鏈接到/etc/selinux/config

/etc/selinux/config

# This file controls the state of SELinux on the system.

# SELINUX= can take one of these three values:

# enforcing – SELinux security policy is enforced.

# permissive – SELinux prints warnings instead of enforcing.

# disabled – SELinux is fully disabled.

SELINUX=enforcing

# SELINUXTYPE= type of policy in use. Possible values are:

# targeted – Only targeted network daemons are protected.

# strict – Full SELinux protection.

SELINUXTYPE=targeted

SELINUX=enforcing 設(shè)置selinux的狀態(tài)

SELINUXTYPE=targeted 設(shè)置selinux的工作類型

設(shè)置selinux也可以在開機的時候設(shè)定,在/boot/grub/grub.conf文件內(nèi)核那一行后面設(shè)定selinux的狀態(tài)selinux=0|1,只要配置文件或內(nèi)核設(shè)定為禁用,最后selinux的狀態(tài)為禁用

注意:在從disabled狀態(tài)切換至enforcing或permissive狀態(tài)需要重啟系統(tǒng),這時候系統(tǒng)會對每一個文件一一重打標簽,需要花費一定的時間。

修改selinux 的安全標簽

給文件重新打安全標簽

chcon [OPTION]… [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE..

chcon [OPTION]… –reference=RFILE FILE..

-R:遞歸打標,對目錄而言

例如我想給自己定義的web文檔根目錄自定義為/htdocs

chcon -R httpd_sys_content_t /htdocs

恢復目錄或文件默認的安全上下文

resotrecon [-R] /path/to/somewhere

例如:我又將web的文檔根目錄改為原來的目錄,這時候自定義的目錄的標簽需要還原

restorecon -R /htdocs

恢復是根據(jù)策略庫當中的策略進行還原

默認安全上下文查詢與修改

semanage來自policycoreutils-python包,有些系統(tǒng)默認沒有安裝,安裝次包即可使用semanage命令

查看默認的安全上下文

semanage fcontext –l

添加安全上下文

semanage fcontext -a –t httpd_sys_content_t ‘/home/hadoop(/.*)?’

restorecon –Rv /home/hadoop 此步驟一定不能忘記,它從策略庫進行還原安全上下文,執(zhí)行此命令才會生效

刪除安全上下文

semanage fcontext –d –t httpd_sys_content_t ‘/home/hadoop(/.*)?’

selinux端口標簽

查看端口標簽

semanage port -l

添加端口

semanage port -a -t port_label –p tcp|udp port

semanage port –a -t htt_port_t -p tcp 8080

刪除端口

semanage port -d -t port_label -p tcp|udp port

semanage port -d -t htt_port_t -p tcp 8080

修改現(xiàn)有(已存在)端口為新標簽

semanage port -m –t port_label –p tcp|udp port

semanage port –m –t ssh_port_t –p tcp 8080 將ssh服務的端口改為8080

selinux布爾值

查看布爾值命令

getsebool [-a] [boolean]

semanage boolean –l -C 查看修改過的布爾值

設(shè)置bool值命令

setsebool [-P] boolean value (on|off|1|0)

setsebool httpd_enable_homedirs on|1 開啟httpd家目錄訪問,但不會寫入策略庫中

setsebool -P httpd_enable_homedirs on|1

修改bool值時后面的值可以對布爾值類型后跟=加值的設(shè)置方法

setsebool httpd_enable_homedirs=on

selinux的日志管理

需要安裝settroublesshoot*安裝此包需要重啟系統(tǒng)才能生效,它會將錯誤日志記錄到/var/log/message

grep setroubleshoot /var/log/message

sealer -l UUID

查看安全事件日志說明

sealert -a /var/log/audit/audit.log

掃描并分析日志

yum -y install selinux-policy-devel(centos7)

yum –y install selinux-policy-doc (centos6)

mandb | makewhatis 需要更新man幫助的數(shù)據(jù)才能查詢

man -k _selinux

例如man httpd_selinux

總結(jié):selinux在安全防護上確實起到了一定的作用,它是在內(nèi)核層面來工作,往往有許多的漏洞,一旦黑客利用漏洞入侵系統(tǒng)后果不堪設(shè)想,還有其 操作的繁瑣和穩(wěn)定性的欠缺的導致很多企業(yè)不愿意用到selinux ,一般都會使用硬件的安全防護設(shè)備,所以我們只需要作為了解,知道有這么個東西,如何開關(guān)閉及一些簡單的操作即可。

相關(guān)文章:
主站蜘蛛池模板: 欧美a级在线观看 | 国产精品亚洲综合 | 亚洲综合狠狠99婷婷 | 最新九九精品 | 欧美三级视频在线观看 | 国产入口在线观看 | 欧美精品国产第一区二区 | 国产欧美在线一区二区三区 | 久久精品美女久久 | 黄图视频在线观看 | 伊人久久久久久久久香港 | 欧洲欧美人成免费观看 | 狠狠色婷婷丁香综合久久韩国 | 在线中文天堂 | 一区二区三区视频免费观看 | 久久久夜色精品国产噜噜 | 国产美女挤奶水在线观看 | 国产精品爱久久久久久久电影 | 黄色免费大全 | 国产成人a∨麻豆精品 | 国产精品极品美女免费观看 | 黄色网址免费在线观看 | 黄色一及 | 亚洲精品丝袜在线一区波多野结衣 | 超级碰碰碰视频在线观看 | 免费一级 一片一毛片 | 中文字幕一区二区视频 | 在线观看永久免费 | 日本ab视频| 国产成人91高清精品免费 | 国产精品视频a | 久久精品成人欧美大片免费 | 国产视频高清在线 | 国内自拍在线观看 | 美女国产一区 | 久久精彩 | 日韩色在线观看 | 99色吧| 亚洲欧洲一区二区三区 | 国产精品免费拍拍1000部 | 天堂素人搭讪系列嫩模在线观看 |