linux安全---selinux安全控制

了解selinux,设置给文件selinux的安全上下文件,复制、移动对selinux规则的影响,设置apache、vsftpd的selinux规则

1.了解selinux

1)DAC:指用户访问资源的控制,即权限

MAC:selinux标签,限制进程访问资源,进程归用户所有;当用户调用进程去访问资源(file)时,检查selinux安全标签,匹配了才能访问。

selinux使用selinux用户、角色、类型和级别控制进程访问资源。

selinux属性的格式:user:role:type:level

ls  -Z  install.log

-rw-r--r--. root root system_u:object_r:admin_home_t:s0 install.log

2)selinux用户:不同于系统用户,selinux用户使用selinux策略的一部分,和系统用户有映射关系,一个系统用户对应一个selinux映射。semange查看关系。

semanage user -l

3)角色role:用户空间,进程的访问范围标记,如object_r

4)类型或者安全上下文,资源的标记,admin_home_t

5)安全级别:s0最常用

查看:进程、用户、文件的selinux属性

ps  -eZ  |grep http   ##查看http进程的selinux

id  -Z   ##当前用户的selinux设置

ls  -ldZ  /var/www/html  ##查看http网页跟目录的selinux属性

2.设置文件的selinux属性中安全上下文(type)

1)临时设置

echo 123123  >/var/www/html/index.html

cd  /var/www/html

ls  -Z  index.html   ##TYPE:httpd_sys_content_t,只允许apache的进程访问,访问测试

chcon -t admin_home_t  index.html   ##访问测试,无法访问到文件

restorecon  -F  -v  index.html   ##还原selinux属性,-F表示强制,-v详细

目录的selinux设置,在文件的基础上加“-R”选项即可。

2)永久生效

语法:semanage  fcontext  -{a|d|m} 文件  ##-a表示增加,-d删除,-l显示,-m修改

注意文件、目录使用绝对路径

文件:

semanage fcontext -a -t httpd_sys_content_t  /web/a.file  ##添加

cat /etc/selinux/targeted/contexts/files/file_contexts.local   ##发现a.file的selinux属性

restorecon  -v  /web/a.file  ##立即生效,restorecon恢复的依据就是file_contexts.local文件中的规则。

semanage fcontext -d -t httpd_sys_content_t  /web/a.file  ##删除a.file的selinux属性,相当于删除了file_contexts.local中的规则,不能使用vi等删除。

restorecon  -F -v  /web/a.file   ##立即生效

目录:

semanage fcontext -a -t httpd_sys_content_t "/web(/.*)?"    ##如果只写目录,目录下的内容的selinux属性不会被修改,使用正则匹配目录下的所有内容,"/web(/.*)"

restorecon -R -F -v  /web/  ##立即生效

semanage fcontext -d  -t httpd_sys_content_t "/web(/.*)?"  ##删除

restorecon  -R -F -v  /web/

3.复制、移动对selinux规则的影响

移动:selinux不变,覆盖时会覆盖selinux属性

mv  /root/index.html  /var/www/html/

ls  -Z /var/www/html/index.html   ##selinux未发生变化

cd  /home/

touch index.html

ls -Z /home/index.html   ##文件的type:home_root_t

mv  /home/index.html  /var/www/html/

ls  -Z  /var/www/html/index.html   ##selinux被覆盖,type变为home_root_t

复制:使用目标selinux的属性,覆盖时selinux属性不变

cp  /root/install.log  /var/www/html

ls  -Z /var/www/html/install.log  ##selinux的type:httpd_sys_content_t

cp  /root/install.log  /var/www/html/   ##覆盖,selinux属性不变

注意:对比移动和复制,复制更有利于保持selinux属性、推荐使用。

4.tar打包备份与selinux;特殊selinux type:file_t,default_t,user_tmp_t

tar打包时默认selinux丢失,使用“--selinux|--xattrs”可以保持selinux属性。

tar -zcvf /tmp/test-sel.tar.gz /var/www/html/ --selinux

特殊type:

file_t:文件没有selinux属性

default_t:文件或目录的selinux与file-context配置文件定义模式不匹配。

两种类型文件,设置了selinux属性的进程都不能访问。

user_tmp_t:用户临时文件的,所有的进程都可以访问。

时间: 2024-10-27 06:24:16

linux安全---selinux安全控制的相关文章

Linux之SElinux安全上下文件(1)

Linux之SElinux安全上下文件(1) SELinux:Secure Enhanced Linux,是美国国家安全局(NSA=The National Security Agency)和SCC(Secure Computing Courporation)开发的LInux的一个强制控制的安全模块.2000年以GNU GPL发布,Linux内核2.6版本后继承在内核中. 访问控制类别: DAC:Discretionary Access Control 自由访问控制 MAC:Mandatory

DTE Linux、SELinux与SEAndroid之间的对比分析

2000年,美国威廉玛丽学院的研究人员Serge等人在USENIX的4th annual Linux Showcase &Conference会议上发表了题为"Domainand Type Enforcement for Linux"的文章.该文章第一次将DTE模型用于Linux,实现了DTE Linux原型系统. 同年,美国国家安全局NSA的Stephen Smalley等人发布了开源的Linux安全框架SELinux,SELinux第一个版本基于Linux 2.5内核,并采

谢烟客---------Linux之SELinux的基本应用

SELinux基础/激活或关闭SELinux/改变object的域/启用或关闭程序功能 获取更多帮助 <SELinux权威指南> 或许应该叫:如何理解Windows Linux比Windows更安全,这样说不合理. 安全等级: A>B>C>D Linux(c2) Windows(c2) GUI界面:MAC>Windows 图形工作站:mac Windows 专业普及计算机系统.图形不如mac,又不够安全. SELinux基础 1)访问模型 Linux原有访问模型:自主访

Linux下SElinux详解

1.SElinux 全称:Security-Enhanced Linux,灵活的强制访问控制(MAC)系统,且内嵌于Linux Kernel中,仅                    集合最小权限访问, 2. 查看文件上下文: ls -Z [[email protected] ~]# ls -Z -rw-------. root root system_u:object_r:admin_home_t:s0 anaconda-ks.cfg -rw-r--r--. root root system

Linux的selinux的初级管理

SElinux,内核级加强型防火墙, SELinux[Security Enhanced Linux (安全强化 Linux)],是工作在内核中的MAC (Mandatory Access Control,强制访问控制系统)的一个实现,目的在于明确的指明某个进程可以访问哪些资源(文件.网络端口等).强制访问控制系统的用途在于增强系统 抵御 0-Day 攻击(利用尚未公开的漏洞实现的攻击行为)的能力.所以它不是网络防火墙或 ACL 的替代品,在用途上也不重复. 对于selinux的通俗理解:   

linux之SELinux

SELinux 概述:SELinux 全称Security Enhanced Linux(安全性增强的Linux),由美国国家安全局NSA(National Security Agency)开发,构建亍kernel 乀上的.拥有灵活而强制性的访问控制结构,旨在提高Linux 系统的安全性,提供强健的安全保证,可防御未知攻击,据称相当亍B1级的军事安全性能:已经被整合到2.6 以上kernel 中:传统Linux 在没有SELinux 保护的时候,倘若运行亍乀上的服务被骇客攻陷,其服务器最高权限就

Linux之Selinux几种模式之间的转换说明

在linux环境下执行某些程序时,偶尔会遇到来一个关于SELinux的强制模式不可执行的情况,这种情况下需要关闭SELinux或者将enforcing改为 permissive 模式后才能进行执行. selinux是Linux内核中提供的强制访问控制(MAC)系统下面就selinux的几种模式及其转换进行说明: SELinux 的启动.关闭与查看 1.并非所有的 Linux distributions 都支持 SELinux 目前 SELinux 支持三种模式,分别如下: •enforcing:

linux的SELinux的设置及防火墙服的设置

security-Enhanced  linux 美国NSA国家局主导开发,一套增强Linux系统安全的强制访问控制体系, 集成到Linux内核(2.6及以上)中运行. RHEL7基于SELinux体系针对用户.进程.目录和文件提供了预设的保护策略, 以及管理工具. SELinux的运行模式 enforcing(强制) permissive(宽松) disabled(彻底禁用) getenforce 查看当前SElinux状态 setenforce  0 或 1  设置当前SELinux状态 永

Linux系统账号安全控制

一.基本安全1.系统账号清理Linux中账号有root,手工创建的,维护系统运作的,和非登录用户,常见的非登录用户有bin.daemon.adm.mail.nobody.apache.mysql.ftp等,其中一部分很少用到,可以删除,如news.uucp.games.gopher.还有就是应用卸载后残留用户,需管理员手工删除,可以在/etc/passwd中查询grep "/sbin/nologin$" /etc/passwd有长期不使用账号的,不确定是否删除的,可以将用户锁定user