SELinux

一:SELinux概念

1: 簡介

SELinux: Secure Enhanced Linux,是美國國家安全局(NSA=The National Security Agency)和SCC(Secure Computing Corporation)開發的Linux的一個強制訪問控制的安全模塊。2000年以GNU GPL發佈,Linux內核2.6版本後集成在內核中
特性:
MAC環境下策略的規則決定控制的嚴格程度
MAC環境下進程能夠被限制的
策略被用來定義被限制的進程可以使用那些資源(文件和端口)
默認狀況下,沒有被明確容許的行爲將被拒絕linux

2:類型

查看: cat /etc/selinux/config
SELINUXTYPE=targeted minimum mls
目標進程被保護:保護本質上是讓進程不能夠隨心所欲,在必定的範圍下活動.
不在範圍內的進程則不予管理安全

clipboard.png

3:targeted

SELinux:一切皆對象
安全上下文五個元素:
User:指示登陸系統的用戶類型,如root,user_u,system_u,多數本地進程都屬於自由(unconfined)進程
Role:定義文件,進程和用戶的用途:文件:object_r,進程和用戶:system_r
Type:指定數據類型,規則中定義何種進程類型訪問何種文件
Sensitivity:限制訪問的須要,由組織定義的分層安全級別,如unclassified,secret,top,secret, 一個對象有且只有一個sensitivity,分0-15級,s0最低,Target策略默認使用s0
Category:對於特定組織劃分不分層的分類,如FBI Secret,NSA secret, 一個對象能夠有多個categroy,c0-c1023共1024個分類,Target 策略不使用category
如:
system_u:object_r:admin_home_t:s0 tcp

clipboard.png

type:admin_home_t
根據文件類型能夠下策略規定。
多服務公用:public_content_tspa

ll -Z 查看真實的類型
semanage fcontext -l 查看指望的安全上下文
clipboard.png3d

二:SELinux策略

1:啓動/禁用

SELinux的狀態:

enforcing:強制,每個受限的進程都必然受限
permissive:容許,每個受限的進程違規操做不會被禁止,但會被記錄於審計日誌
disabled:禁用SELinuxrest

相關命令:

getenforce:獲取selinux當前狀態查看:
sestatus 此命令查看的更清楚
setenforce 0|1日誌

0: 設置爲permissive
 1: 設置爲enforcing

此條命令是不能夠設置爲diabledcode

semanage fcontext -l 查看指望的安全上下文:對象

clipboard.png

配置文件:

/etc/selinux/config
SELinux策略轉換及生效blog

    • 1:enforcing->permissive

      使用命令 setenforce 0
      permissive---> enforcing 
      使用命令 setenforce 1
    • 2: permissive或enforcing轉換爲disabled
      須要在配置文件/etc/selinux/config中把 SELINUX=enforing 改成 SELINUX=disabled

      並須要重啓電腦,方可生效
    • 3 disabled 轉換爲 permissive或enforcing
      須要在配置文件/etc/selinux/config中把 SELINUX=disabled 改成 SELINUX=enforcing

      並須要重啓電腦,方可生效

    clipboard.png

    clipboard.png

    2:管理文件標籤

    此節爲rhce考題,須要好好掌握

    • 改變文件標籤:
      chcon –t 文件標籤 file

    • 改變目錄標籤
      chcon –Rt 文件標籤 file

    • 恢復文件標籤至正常狀態:

      1)restorecon   file
      2)參考正常值:semanage fcontext –l 
          修改標籤:chcon –t 文件標籤 file
    • 恢復目錄的標籤:

      restorecon –R DIRECTORY
    • 添加安全上下文:
      至關於在安全上下文的庫裏面增長記錄,restorecon恢復文件的標籤,就是從參考庫的標籤,而後作相應的修改

    semanage fcontext –a –t httpd_sys_content_t ‘/testdir(/.*)?’

    三:管理端口標籤

    • 查看端口標籤
      semanage port –l 查看系統默認的端口與對應的應用

    • 增長端口:
      semanageport -a -t port_label-p tcp|udpPOR

    clipboard.png

    • 刪除端口標籤:
      semanageport -d -t port_label-p tcp|udpPORT
      semanage port -d -t http_port_t -p tcp 9527

    clipboard.png

    • 修改端口標籤:

      此端口要被定義過,沒有被定義的標籤不能被更改

      clipboard.png

    四:管理SELinux布爾值開關

    查看:

    semanage boolean –l

    clipboard.png

    更改

    更改bool值(臨時生效):
    setbool httpd_enable_homedirs on 臨時生效
    永久更改存放
    1爲on
    0爲off
    setbool –P httpd_enable_homedir=1

    clipboard.png

    clipboard.png

    相關文章
    相關標籤/搜索
    本站公眾號
       歡迎關注本站公眾號,獲取更多信息