SELinux

1.SELinux: Secure Enhanced Linux

SELinux是美國(guó)國(guó)家安全局(NSA=The National Security Agency)和SCC(SecureComputing 
Corporation)開(kāi)發(fā)的 Linux的一個(gè)強(qiáng)制訪(fǎng)問(wèn)控制的安全模塊。2000年以GNU GPL發(fā)布
诡挂,Linux內(nèi)核2.6版本后集成在內(nèi)核中

? DAC:Discretionary Access Control自由訪(fǎng)問(wèn)控制
? MAC:Mandatory Access Control 強(qiáng)制訪(fǎng)問(wèn)控制
? DAC環(huán)境下進(jìn)程是無(wú)束縛的
? MAC環(huán)境下策略的規(guī)則決定控制的嚴(yán)格程度
? MAC環(huán)境下進(jìn)程可以被限制的
? 策略被用來(lái)定義被限制的進(jìn)程能夠使用那些資源(文件和端口)
? 默認(rèn)情況下黔州,沒(méi)有被明確允許的行為將被拒絕

2.SELinux工作類(lèi)型

SELinux有四種工作類(lèi)型:

(1)strict: centos5,每個(gè)進(jìn)程都受到selinux的控制
(2)targeted: 用來(lái)保護(hù)常見(jiàn)的網(wǎng)絡(luò)服務(wù),僅有限進(jìn)程受到
selinux控制明也,只監(jiān)控容易被入侵的進(jìn)程,centos4只保護(hù)13個(gè)服務(wù)赦拘,centos5保護(hù)88個(gè)服務(wù)
(3)minimum:centos7,修改的targeted驰徊,只對(duì)選擇的網(wǎng)絡(luò)服務(wù)
(4)mls:提供MLS(多級(jí)安全)機(jī)制的安全性

  • targeted為默認(rèn)類(lèi)型,minimum和mls穩(wěn)定性不足响逢,未加以應(yīng)用,strict已不再使用

3.SELinux安全上下文

①傳統(tǒng)Linux棕孙,一切皆文件舔亭,由用戶(hù),組蟀俊,權(quán)限控制訪(fǎng)問(wèn)
②在SELinux中钦铺,一切皆對(duì)象(object),由存放inode 擴(kuò)展屬性域的安全元素所控制其訪(fǎng)問(wèn)
③所有文件和端口資源和進(jìn)程都具備安全標(biāo)簽:安全上下文(security context)

查看安全上下文:

? user:role:type:sensitivity:category
? user_u:object_r:tmp_t:s0:c0
? 實(shí)際上下文:存放在文件系統(tǒng)中肢预,ls –Z;ps –Z
?期望(默認(rèn))上下文:存放在二進(jìn)制的SELinux策略庫(kù)(映射目錄和期望安全上下文)中
semanage fcontext –l

五個(gè)安全元素

(1)User:指示登錄系統(tǒng)的用戶(hù)類(lèi)型
如root,user_u,system_u,
多數(shù)本地進(jìn)程都屬于自由(unconfined)進(jìn)程
(2)Role:定義文件矛洞,進(jìn)程和用戶(hù)的用途:
文件:object_r,進(jìn)程和用戶(hù):system_r
(3)Type:指定數(shù)據(jù)類(lèi)型
規(guī)則中定義何種進(jìn)程類(lèi)型訪(fǎng)問(wèn)何種文件
Target策略基于type實(shí)現(xiàn),多服務(wù)共用:public_content_t
(4)Sensitivity:限制訪(fǎng)問(wèn)的需要
由組織定義的分層安全級(jí)別烫映,
如unclassified, secret,top,secret,
一個(gè)對(duì)象有且只有一個(gè)
sensitivity,分0-15級(jí)沼本,s0最低,Target策略默認(rèn)使用s0
(5)Category:對(duì)于特定組織劃分不分層的分類(lèi)
如FBI Secret噩峦,NSA secret,
一個(gè)對(duì)象可以有多個(gè)categroy, c0-c1023,共1024個(gè)分類(lèi)抽兆, Target 策略不使用category

3.SELinux策略介紹

(1)對(duì)象(object):
所有可以讀取的對(duì)象识补,包括文件、目錄和進(jìn)程辫红,端口等

(2)主體:進(jìn)程稱(chēng)為主體(subject)

(3)SELinux中對(duì)所有的文件都賦予一個(gè)type的文件類(lèi)型標(biāo)簽凭涂,對(duì)于所有的進(jìn)程也賦予各自的一個(gè)domain的標(biāo)簽。domain標(biāo)簽?zāi)軌驁?zhí)行的操作由安全策略里定義

(4)當(dāng)一個(gè)subject試圖訪(fǎng)問(wèn)一個(gè)object厉熟,Kernel中的策略執(zhí)行服務(wù)器將檢查AVC (訪(fǎng)問(wèn)矢量緩存Access Vector Cache), 在AVC中导盅,subject和object的權(quán)限被緩存(cached),查找“應(yīng)用+文件”的安全環(huán)境揍瑟。然后根據(jù)查詢(xún)結(jié)果允許或拒絕訪(fǎng)問(wèn)

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

4.設(shè)置SELinux

(1)配置SELinux:

①SELinux是否啟用
②給文件重新打安全標(biāo)簽
③給端口設(shè)置安全標(biāo)簽
④設(shè)定某些操作的布爾型開(kāi)關(guān)
⑤SELinux的日志管理

(2)SELinux的狀態(tài):
enforcing: 強(qiáng)制羽杰,每個(gè)受限的進(jìn)程都必然受限
permissive: 允許焦履,每個(gè)受限的進(jìn)程違規(guī)操作不會(huì)被禁止,但會(huì)被記錄于審計(jì)日志
disabled: 禁用
(3)配置SELinux
①相關(guān)命令:

getenforce: 獲取selinux當(dāng)前狀態(tài)
sestatus :查看selinux狀態(tài)
setenforce 0|1
0: 設(shè)置為permissive
1: 設(shè)置為enforcing

②配置文件:

/boot/grub/grub.conf
使用selinux=0禁用SELinux
/etc/selinux/config
/etc/sysconfig/selinux
SELINUX={disabled|enforcing|permissive}

③修改SELinux安全標(biāo)簽

? 給文件重新打安全標(biāo)簽:
chcon [OPTION]... [-u USER] [-r ROLE] [-t TYPE] FILE...
chcon [OPTION]... --reference=RFILE FILE...
-R:遞歸打標(biāo)底循;
? 恢復(fù)目錄或文件默認(rèn)的安全上下文:
restorecon [-R] /path/to/somewhere

④默認(rèn)安全上下文查詢(xún)與修改

Semanage:來(lái)自policycoreutils-python包

Ⅰ.查看默認(rèn)的安全上下文
semanage fcontext –l
Ⅱ.添加安全上下文
semanage fcontext -a –t httpd_sys_content_t ‘/testdir(/.*)?’
restorecon –Rv /testdir
Ⅲ.刪除安全上下文
semanage fcontext -d –t httpd_sys_content_t
‘/testdir(/.*)?’
Ⅳ.查看端口標(biāo)簽
semanage port –l
Ⅴ.添加端口
semanage port -a -t port_label -p tcp|udp PORT
semanage port -a -t http_port_t -p tcp 9527
Ⅵ.刪除端口
semanage port -d -t port_label -p tcp|udp PORT
semanage port -d -t http_port_t -p tcp 9527
Ⅶ.修改現(xiàn)有端口為新標(biāo)簽
semanage port -m -t port_label -p tcp|udp PORT
semanage port -m -t http_port_t -p tcp 9527

5.SELinux布爾值

(1)布爾型規(guī)則:

getsebool
setsebool

(2)查看bool命令:

getsebool [-a] [boolean]
semanage boolean –l
semanage boolean -l –C 查看修改過(guò)的布爾值

(3)設(shè)置bool值命令:

setsebool [-P] boolean value(on,off)
setsebool [-P] Boolean=value(0,1)

6.SELinux日志管理

(1)將錯(cuò)誤的信息寫(xiě)入/var/log/message

yum install setroubleshoot(重啟生效)

(2)查看安全事件日志說(shuō)明

grep setroubleshoot /var/log/messages
sealert -l UUID

(3)掃描并分析日志

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

7.所需要的幫助

? yum –y install selinux-policy-devel ( centos7.2)
? yum –y install selinux-policy-doc
? mandb | makewhatis
? man -k _selinux

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末槐瑞,一起剝皮案震驚了整個(gè)濱河市熙涤,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌困檩,老刑警劉巖祠挫,帶你破解...
    沈念sama閱讀 218,941評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異悼沿,居然都是意外死亡等舔,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)糟趾,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)慌植,“玉大人,你說(shuō)我怎么就攤上這事义郑〉粒” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,345評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵非驮,是天一觀(guān)的道長(zhǎng)交汤。 經(jīng)常有香客問(wèn)我,道長(zhǎng)院尔,這世上最難降的妖魔是什么蜻展? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,851評(píng)論 1 295
  • 正文 為了忘掉前任喉誊,我火速辦了婚禮,結(jié)果婚禮上纵顾,老公的妹妹穿的比我還像新娘伍茄。我一直安慰自己,他們只是感情好施逾,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,868評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布敷矫。 她就那樣靜靜地躺著,像睡著了一般汉额。 火紅的嫁衣襯著肌膚如雪曹仗。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,688評(píng)論 1 305
  • 那天蠕搜,我揣著相機(jī)與錄音怎茫,去河邊找鬼。 笑死妓灌,一個(gè)胖子當(dāng)著我的面吹牛轨蛤,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播虫埂,決...
    沈念sama閱讀 40,414評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼祥山,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了掉伏?” 一聲冷哼從身側(cè)響起缝呕,我...
    開(kāi)封第一講書(shū)人閱讀 39,319評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎斧散,沒(méi)想到半個(gè)月后供常,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,775評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡颅湘,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評(píng)論 3 336
  • 正文 我和宋清朗相戀三年话侧,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片闯参。...
    茶點(diǎn)故事閱讀 40,096評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡瞻鹏,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出鹿寨,到底是詐尸還是另有隱情新博,我是刑警寧澤,帶...
    沈念sama閱讀 35,789評(píng)論 5 346
  • 正文 年R本政府宣布脚草,位于F島的核電站赫悄,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜埂淮,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,437評(píng)論 3 331
  • 文/蒙蒙 一姑隅、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧倔撞,春花似錦讲仰、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,993評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至躏啰,卻和暖如春趁矾,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背给僵。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,107評(píng)論 1 271
  • 我被黑心中介騙來(lái)泰國(guó)打工毫捣, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人想际。 一個(gè)月前我還...
    沈念sama閱讀 48,308評(píng)論 3 372
  • 正文 我出身青樓培漏,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親胡本。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,037評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • SELinux的基本概念設(shè)置SELinux 一畸悬、SELinux的基本概念 (一)定義: SELinux:Secur...
    哈嘍別樣閱讀 565評(píng)論 0 1
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理侧甫,服務(wù)發(fā)現(xiàn),斷路器蹋宦,智...
    卡卡羅2017閱讀 134,659評(píng)論 18 139
  • SELinux介紹 SELinux: Secure Enhanced Linux披粟, 是美國(guó)國(guó)家安全局(NSA=Th...
    頑媃啊閱讀 564評(píng)論 0 0
  • 一個(gè)程序被加載到內(nèi)存當(dāng)中運(yùn)行,那么在內(nèi)存內(nèi)的那個(gè)數(shù)據(jù)就被稱(chēng)為進(jìn)程(process)冷冗。進(jìn)程是操作系統(tǒng)上非常重要的概念...
    Zhang21閱讀 1,940評(píng)論 0 12
  • 歲在癸巳守屉,盛世逢春。仲春十六蒿辙,艷陽(yáng)高照拇泛,風(fēng)清氣正。蒙上下關(guān)愛(ài)思灌,始左右通聯(lián)俺叭,終戮力移樹(shù)。此樹(shù)翠柏泰偿,性寒...
    林暁東閱讀 416評(píng)論 0 0