歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> selinux應用

selinux應用

日期:2017/2/27 16:06:26   编辑:Linux教程
強制訪問控制 (MAC) 、對任意訪問控制(DAC) 規則集稱呼為策略,它決定了如何限制控制 進程可以是限制的或為定義的 策略定義了什麼資源限制了進程可以訪問到 任何沒有顯式的動作,缺省都是拒絕的 所有文件和進程都有一個安全上下文屬性 這個上下文屬性有多個元素, 取決於安全的需求 user:role:type:sensitivity:category 用戶:角色:類型:敏感度:分類 user_u:object_r:tmp_t:s0:c0 第一個字段:用戶 第二個字段:角色 第三個字段:類型 第四個字段:與MLS,MCS有關 說明:SEliunx目標策略只於第三個字段有關,即類型字段(TYPE);有待完善。 不是所有的系統都顯示 s0:c0 查看SElinux上下文 使用命令 ps–Z 和 ls –Z 每個進程都屬於個SElinux域; 每個文件都被賦予一個SElinux上下文。 相關的域和上下文可以使用ls(scontext)和ps(scontext)命令的命令選項 –Z 來顯示 例: [root@station31 ~]# ls -lZ /etc/syslog.conf -rw-r--r-- root root system_u:object_r:syslog_conf_t /etc/syslog.conf [root@station31 ~]# ps aux -Z | grep syslog | grep -v grep system_u:system_r:syslogd_t root 2496 0.0 0.1 1728 580 ? Ss 22:13 0:00 syslogd -m 0 進程目標策略scontext、目的目標策略dcontext之間關系記錄在一個特定數據庫。修改目標策略使程序功能不能正常使用 測試: [root@station31 ~]# chcon -t tmp_t /etc/syslog.conf 更改類型 [root@station31 ~]# service vsftpd restart [root@station31 ~]# tail -f /var/log/secure 登錄信息不記錄 [root@station31 ~]# ls -lZ /etc/syslog.conf -rw-r--r-- root root system_u:object_r:tmp_t /etc/syslog.conf [root@station31 ~]# restorecon /etc/syslog.conf 還原類型,因為數據庫中記錄 [root@station31 ~]# ls -lZ /etc/syslog.conf -rw-r--r-- root root system_u:object_r:syslog_conf_t /etc/syslog.conf 強制(enforcing): 任何違法SElinux的操作都被禁止。 允許(permissive):任何違反SElinux的操作都會受到一個警告信息。但是行動可以繼續。 停用(disabled): 不啟用SElinux策略。 不要隨便頻繁停用開啟selinux,若頻繁該系統啟動時將更改全盤屬性,開機時間長 setenforce和getenforce命令 setenforce 0/1 0 表示允許;1 表示強制(臨時該) getenforce 查看當前SElinux的狀態。 可在 GRUB 中使用 selinux=0(kernel後)關閉 目標策略在安裝時就裝載了 · 多數本地進程為 unconfined · 對於類型強制性使用類型元素 · 安全上下文屬性可以通過 chcon 改變 chcon -t tmp_t /etc/hosts · 可以使用 restorecon 恢復 restorecon /var/ftp/pub 配置文件: /etc/sysconfig/selinux 鏈接文件 /etc/selinux/config 源文件 selinux文件類型 管理的服務類型稱呼為域 在策略中的允許規則定義了什麼文件類型在什麼域下可以訪問 策略是以二進制格式保存的, 不易被查看到其中的規則 可以通過 semanage 查看類型 semanage fcontext -l 查看定義規則 ·表示任意字符 *表示次數 ?0次或1次 ^/除”/” semanage fcontext -a -t httpd_sys_content_t "/web(/.*)?" 添加規則,只能在末尾 public_content_t public_content_rw_t 布爾值 開啟selinux強制模式、ftp,且設置匿名可讀寫、目錄有寫權限,但是匿名不能寫,為什麼? [root@station31 ~]# getsebool -a | grep ftp allow_ftpd_anon_write --> off allow_ftpd_full_access --> off allow_ftpd_use_cifs --> off allow_ftpd_use_nfs --> off allow_tftp_anon_write --> off ftp_home_dir --> off ftpd_connect_db --> off ftpd_disable_trans --> off ftpd_is_daemon --> on httpd_enable_ftp_server --> off tftpd_disable_trans --> off [root@station31 ~]# setsebool -P allow_ftpd_anon_write=1 設置永久生效(-P) [root@station31 ~]# chcon -t public_content_rw_t /var/ftp/pub 排錯方法: 網絡→iptables→配置文件→權限→selinux
Copyright © Linux教程網 All Rights Reserved