亚洲韩日午夜视频,欧美日韩在线精品一区二区三区,韩国超清无码一区二区三区,亚洲国产成人影院播放,久草新在线,在线看片AV色

您好,歡迎來到思海網絡,我們將竭誠為您提供優質的服務! 誠征網絡推廣 | 網站備案 | 幫助中心 | 軟件下載 | 購買流程 | 付款方式 | 聯系我們 [ 會員登錄/注冊 ]
促銷推廣
客服中心
業務咨詢
有事點擊這里…  531199185
有事點擊這里…  61352289
點擊這里給我發消息  81721488
有事點擊這里…  376585780
有事點擊這里…  872642803
有事點擊這里…  459248018
有事點擊這里…  61352288
有事點擊這里…  380791050
技術支持
有事點擊這里…  714236853
有事點擊這里…  719304487
有事點擊這里…  1208894568
有事點擊這里…  61352289
在線客服
有事點擊這里…  531199185
有事點擊這里…  61352288
有事點擊這里…  983054746
有事點擊這里…  893984210
當前位置:首頁 >> 技術文章 >> 文章瀏覽
技術文章

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

添加時間:2017-6-11 20:03:11  添加: 思海網絡 
selinux簡介

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

DAC:Discretionary Access Control自由訪問控制

MAC:Mandatory Access Control 強制訪問控制

DAC環境下進程是無束縛的

MAC環境下策略的規則決定控制的嚴格程度

MAC環境下進程可以被限制的

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

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

selinux的工作類型

selinux一共有四種工作類型

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

targeted:用來保護常見的網絡服務,僅有限進程受到selinux控制,系統當中默認設置類型

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

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

selinux安全上下文

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

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

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

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

system_u:object_r:admin_home_t:s0

user:role:type:sensitivity:category

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

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

type:指定數據類型,規則重定義何種進程類型訪問何種文件,target策略基于type實現,多服務功用,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  查看系統中的默認安全上下文

 @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標簽能夠執行的操作由安全策略里定義

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

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

設置selinux

配置selinux

selinux是否啟用

給文件重新打安全標簽

給端口設置安全標簽

設定某些操作的布爾型開關

selinux的日志管理

selinux的狀態

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

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

disabled:禁用,允許任何操作

getenforce:獲取selinux當前狀態

sestatus:查看selinux狀態

setenforce  0|1

         0:設置為permissive

         1:設置為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 設置selinux的狀態

SELINUXTYPE=targeted 設置selinux的工作類型

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

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

修改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     

恢復是根據策略庫當中的策略進行還原

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

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

查看默認的安全上下文

semanage fcontext –l



添加安全上下文

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

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

刪除安全上下文

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

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

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  查看修改過的布爾值

設置bool值命令

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

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

setsebool  -P   httpd_enable_homedirs  on|1

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

setsebool  httpd_enable_homedirs=on

selinux的日志管理

需要安裝settroublesshoot*安裝此包需要重啟系統才能生效,它會將錯誤日志記錄到/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幫助的數據才能查詢

man -k _selinux

例如man  httpd_selinux



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


關鍵字:CentOS、Selinux、安全防護
分享到:

頂部 】 【 關閉
版權所有:佛山思海電腦網絡有限公司 ©1998-2024 All Rights Reserved.
聯系電話:(0757)22630313、22633833
中華人民共和國增值電信業務經營許可證: 粵B1.B2-20030321 備案號:粵B2-20030321-1
網站公安備案編號:44060602000007 交互式欄目專項備案編號:200303DD003  
察察 工商 網安 舉報有獎  警警  手機打開網站