II 第十单元selinux的初级管理

简介:


1.什么时selinux
selinux,内核级加强型防火墙


基本 SELINUX 安全性概念
SELINUX ( 安全增强型 Linux ) 是可保护你系统安全性的额外机制在某种程度上 , 它可以被看作是与标准权限系统行的权限系统。在常规模式中 , 以用户身份运行进程,并且系统上的文件和其他资源都设置了权限 ( 控制哪些用户对哪些文件具有哪些访问权 SELINUX 的另一个不同之处在于 , 若要访问文件 , 你必须具有普通访问权限和 SELINUX 访问权限。因此 , 即使以超级用户身份 root 运行进程 , 根据进程以及文件或资源的 SELinux 安全性上下文可能拒绝访问文件或资源限 ) 标签

2.如何管理selinux级别
selinux开启或者关闭)
vim /etc/sysconfig/selinux
selinux=disabled        ##关闭状态
selinux=Enforcing       ##强制状态
selinux=Permissive      ##警告状态

getenforce          ##查看状态
当selinux开启时
setenforce 0|1          ##更改selinux运行
– 0 表示 permissive# 警告
– 1 表示 enforcing # 强制

3.如何更改文件安全上下文
(1)selinux 安全上下文访问规则
WEB 服务器的 HTTPD 进程设置了 SELINUX 上下文system_u:system_r:httpd_t 标签。该上下文的重要部分是第三个用冒号分隔的字段 SELINUX 类型 :httpd_t系统上的文件和资源也设置了 SELINUX 上下文标签 ,并且重要的部分是 SELINUX 类型。例如 ,/var/www/html 中的文件具有类型httpd_sys_content_t 。/tmp 和/var/tmp 中的文件通常具有类型 tmp_tSeliux 策略具有允许以httpd_t 身份运行的进程访问标记为 httpd_sys_content_t 的文件的规则。没有规则允许这些进程访问标记有 tmp_t 的文件 , 因此将拒绝这些访问 , 即使常规文件权限指出应该允许这些访问
临时更改)
(2)显示 SELinux 文件上下文
什么确定文件的初始 SELinux 上下文 ? 通常是父目录。将父目录的上下文指定给新创建的文件。这对 vimcp 和touch 等命令其作用 , 但是 , 如果文件是在其他位置创建的并且保留了权限 ( 与 mv 或 cp -a 一样 ) 则还将保留SELinux 上下文许多处理文件的命令具有一个用于显示或设置 SELinux 上下文的选项 ( 通常是 -Z ) 。例如 , ps 、 ls 、 cp 和 mkdir 都使用 -Z 选项显示或设置SELinux 上下文
显示上下文
– ps axZ
– ps -ZC
– ls -Z

临时更改)

chcon -t
一次性定制安全上下文,执行 restorecon 刷新后还原
chcon -t 安全上下文文件
chcon -t public_content_t /publicftp -R


  254 touch /mnt/westos
  260 mv /mnt/westos /var/ftp/pub/
  261 ls -Z /var/ftp/pub/
  262 ps auxZ | grep vsftpd
  263 chcon -t public_content_t /var/ftp/pub/westos
  264 ls -Z /var/ftp/pub/


wKiom1kBcDnDcjTxAACYLOKuQBs305.png-wh_50

wKioL1kBcDrCA-vOAAEQbtckNlw994.png-wh_50


永久更改)
semanage fcontext 可用与显示或修改
restorrecon 用来设置默认文件上下文的规则
semanage fcontext -l        ##列出内核安全上下文列表内容
semanage fcontext -a -t public_content_t '/publicftp(/.*)?'
semanage fcontext 使用扩展正则表达式来指定路径和文件名。 fcontext 规则中最常用的扩展正则表达式是(/.*)?, 表示随意地匹配 / 后跟任何数量的字符
restorecon -FvvR /publicftp/
semanage fcontext -d            ##删除内核安全上下文列表内容


  232 systemctl status vsftpd ##查看ftp文件共享服务状态,要是运行状态
  233 firewall-cmd --list-all ##查看火墙权限,允许ftp通过火墙
  248 getenforce  ##selinux的状态,Enforcing强制状态
  249 vim /etc/vsftpd/vsftpd.conf  ##ftp配置文件,匿名家目录为/westos
  250 systemctl restart vsftpd ##重置ftp文件共享
  251 mkdir /westos  ##建立/westos
  252 ls /westos     ##查看目录文件
  253 ps auxZ | grep vsftpd ##显示selinux文件上下文
  254 ls -lZ /var/ftp      
  255 ls -Zd /westos/
  256 semanage fcontext -l | grep westos ##列出安全上下文westos内容,
  257 semanage fcontext -l | grep var/ftp##列出安全上下文/var/ftp
内容 
  258 semanage fcontext -a -t public_content_t '/westos(/.*)?'
##永久更改文件安全上下文 -a 表示添加  -t 安全上下文类型 因为*,?等符号都有其特定含义所以要加‘’括起来。
  259 semanage fcontext -l | grep var/ftp 
  260 semanage fcontext -l | grep westos
  261 ls -Zd /westos/  查看 /westos的信息,没有因为没有更新
  262 restorecon -RvvF /westos/ ## 更新默认文件上下文是public_content_t
  263 ls -Zd /westos/  查看 /westos的信息
  264 touch /westos/file11 在/westos下建立文件
  265 ls -Z /westos/ 查看/westos下文件的信息

wKiom1kJZWfQzpM-AAEf0Bh-JwE190.png-wh_50


wKioL1kJZWjy5L3wAADvcoXAIH4031.png-wh_50


wKiom1kJZWmRMitXAAEsmihOS6o528.png-wh_50


wKioL1kJZWqh2W3TAAFXIgebbkI436.png-wh_50


wKiom1kJZmHTIoUFAACNcfFTLDU358.png-wh_50


wKioL1kJZmPzPRi_AAROLavj7bw581.png-wh_50

wKiom1kJZWigTMgjAAChcX7n65U026.png-wh_50

4.如何控制selinux对服务功能的开关
getsebool -a | grep 服务名称
getsebool -a | grep ftp  ##显示布尔值 
setsebool -P 功能bool值 on|off 或者0|1
setsebool -P ftpd_anon_write on ##修改功能布尔值


  265 setenforce 0  ##更改selinux运行级别Permissive警告状态 
  266 setenforce 1  ##更改selinux运行级别Enforcing强制状态
  267 getsebool -a | grep ftp ##显示ftp布尔值
  268 setsebool -P  ftp_home_dir on ##修改ftp_home_dir功能布尔值
  269 getsebool -a | grep ftp##显示ftp布尔值
  272 semanage boolean -l ##显示布尔值是否永久


初次上传文件时,上传限制
[kiosk@foundation44 ~]$ lftp 172.25.254.144 -u student
Password: 
lftp student@172.25.254.144:~> ls     
-rw-r--r--    1 1000     1000         2453 Apr 29 15:41 passwd
drwxr-xr-x    2 1000     1000            6 Apr 26 06:59 zhang
lftp student@172.25.254.144:~> put /etc/passwd
put: Access failed: 553 Could not create file. (passwd)

lftp student@172.25.254.144:~> quit

(1)setenforce 0  ##更改selinux运行级别Permissive警告状态

[kiosk@foundation44 ~]$ lftp 172.25.254.144 -u student
Password: 
lftp student@172.25.254.144:~> put /etc/passwd 
2453 bytes transferred in 10 econds (243b/s) 
     
lftp student@172.25.254.144:~> quit

(2)setenforce 1  ##更改selinux运行级别Enforcing强制状态


[kiosk@foundation44 ~]$ lftp 172.25.254.144 -u student
Password: 
lftp student@172.25.254.144:~> put /etc/passwd
put: Access failed: 553 Could not create file. (passwd)

lftp student@172.25.254.144:~> quit

(3)setsebool -P  ftp_home_dir on ##修改ftp_home_dir功能布尔值

[kiosk@foundation44 ~]$ lftp 172.25.254.144 -u student
Password: 
lftp student@172.25.254.144:~> put /etc/passwd
2453 bytes transferred in 10 seconds (244b/s)      

lftp student@172.25.254.144:~> quit

wKioL1kJZ1zhEdFwAADFSBFXs-Y677.png-wh_50


wKiom1kJZ13wvNJ4AACrIvEX0vc290.png-wh_50


wKiom1kJZ13RpHoUAAE2wzaDwtE264.png-wh_50

wKiom1kJZ6Hg3lERAABZAfwCEx4822.png-wh_50
5.监控selinux的错误信息
监控 SELinux 冲突
必须安装 setroubleshoot-server 软件包 , 才能将SELinux 消息发送至/var/log/messages
etroubleshoot-server 侦听/var/log/audit/audit.log 中的审核信息并将简短摘
要发送至 /var/log/messages

摘要包括 SELinux 冲突的唯一标识符 ( UUIDs),可用于收集更多信息。
Sealert -l UUID 用于生成特定事件的报告。 
Sealert -a /var/log/audit/audit.log 用于在该文件中生成所有事件的报告


   26 yum search setroubleshoot 
   27 yum install setroubleshoot.x86_64 -y ##安装软件包
   28 > /var/log/messages     ## 将SELinux 消息发送至 /var/log/message
   29 cat /var/log/messages     ##查看日志
   31 history

   15 touch /mnt/hellowestos1  ##建立文件
   16 mv /mnt/hellowestos1  /westos/ ##将文件移动到/westos
   17 cd /westos/     ##切换到/westos
   18 ls               ##查看
   19 cd
   20 ls -Z /westos/   ##查看/westos/下文件的安全上下文信息
   21 semanage fcontext -l | grep /westos/  ##列出安全上下文westos内容,
   22 semanage fcontext -a -t public_content_t '/westos(/.*)?'##永久更改文件安全上下文
   23 restorecon -RvvF /westos/ ## 更新默认文件上下文是public_content_t
   24 ls -Z /westos/ ##查看/westos/下文件的安全上下文信息
   25 history
(1)当新建的文件hellowestos1,没有更改安全上下文时查看不到hellowestos1
[kiosk@foundation44 ~]$ lftp 172.25.254.144
lftp 172.25.254.144:~> ls
-rw-r--r--    1 0        0               0 Apr 26 06:07 file1
-rw-r--r--    1 0        0               0 Apr 29 14:57 file11
-rw-r--r--    1 0        0               0 Apr 26 06:07 file2
-rw-r--r--    1 0        0               0 Apr 26 06:07 file3
-rw-r--r--    1 0        0               0 Apr 26 06:07 file4
-rw-r--r--    1 0        0               0 Apr 26 15:32 file{1}
-rw-r--r--    1 0        0               0 May 02 09:49 hellowestos
lftp 172.25.254.144:/> quit
(2)当新建的文件hellowestos1,更改安全上下文时可以看到hellowestos
[kiosk@foundation44 ~]$ lftp 172.25.254.144 
lftp 172.25.254.144:~> ls
-rw-r--r--    1 0        0               0 Apr 26 06:07 file1
-rw-r--r--    1 0        0               0 Apr 29 14:57 file11
-rw-r--r--    1 0        0               0 Apr 26 06:07 file2
-rw-r--r--    1 0        0               0 Apr 26 06:07 file3
-rw-r--r--    1 0        0               0 Apr 26 06:07 file4
-rw-r--r--    1 0        0              0 Apr 26 15:32file{1}
-rw-r--r--    1 0        0               0 May 02 09:49 hellowestos
-rw-r--r--    1 0        0               0 May 02 10:32hellowestos1

wKioL1kJaBPR92j9AADH1JsUZ_M845.png-wh_50

wKiom1kJaBSDjEsRAACyOmjqsWs322.png-wh_50

wKioL1kJaBXxBJCeAAGd-8CiRa8753.png-wh_50

wKiom1kJaBXR0HiuAADi8hJFTno599.png-wh_50










本文转自 如何何如  51CTO博客,原文链接:http://blog.51cto.com/12778805/1919977,如需转载请自行联系原作者
目录
相关文章
|
16天前
|
缓存 算法 Linux
Linux操作体系结构与功能流程
Linux操作体系结构与功能流程
9 2
|
2月前
|
存储 监控 IDE
【机组】单元模块的软件简介和安装
【机组】单元模块的软件简介和安装
73 0
|
8月前
|
存储 缓存 Linux
实验 通过命令和代码初步感受存储管理【操作系统】
实验 通过命令和代码初步感受存储管理【操作系统】
77 0
|
6月前
|
存储 算法 C语言
程序组织单元及其组成编程
程序组织单元及其组成编程
|
网络协议 Linux 网络架构
(*长期更新)软考网络工程师学习笔记——Section 13 Linux网络配置命令
(*长期更新)软考网络工程师学习笔记——Section 13 Linux网络配置命令
(*长期更新)软考网络工程师学习笔记——Section 13 Linux网络配置命令
|
安全 开发工具 网络安全