lqc_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查看关系。
需要安装软件:
yum -y install policycoreutils-python
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
1)tar打包时默认selinux丢失,使用“--selinux|--xattrs”可以保持selinux属性。
tar -zcvf /tmp/test-sel.tar.gz /var/www/html/ --selinux
2)特殊type:
file_t:文件没有selinux属性
default_t:文件或目录的selinux与file-context配置文件定义模式不匹配。
两种类型文件,设置了selinux属性的进程都不能访问。
user_tmp_t:用户临时文件的,所有的进程都可以访问。
5.vsftpd/apache
vsftpd:允许匿名:
getsebool -a |grep httpd |grep on$ ##查看sebool
setsebool allow_ftpd_anon_write=on
chcon -R -t public_content_rw_t /var/ftp/pub
chmod 777 /var/ftp/pub/
http:设置
setsebool httpd_enable_cgi=off
semanage fcontext -a -t httpd_sys_content_t "/usr/local/httpd/htdocs(/.*)?"
restorecon -R -v /usr/local/httpd/htdocs
转载于:https://blog.51cto.com/liuqicheng/1874418
lqc_selinux的安全控制相关推荐
- iptables 实现地址转换与安全控制
目标:模拟生产环境的基本拓扑,实现通过源地址转换内网多台主机公共一个IP地址访问互联网,并通过目标地址转换,把www等多个服务器放到互联中,并实现安全控制,基本拓扑结构如下: 在这个拓扑结构中来说,就 ...
- SOAP 及其安全控制--转载
原文地址:http://my.oschina.net/huangyong/blog/287791 目录[-] 1. 基于用户令牌的身份认证 2. 基于数字签名的身份认证 3. SOAP 消息的加密与解 ...
- springboot 访问html_Spring Boot中使用Spring Security进行安全控制
我们在编写Web应用时,经常需要对页面做一些安全控制,比如:对于没有访问权限的用户需要转到登录表单页面.要实现访问控制的方法多种多样,可以通过Aop.拦截器实现,也可以通过框架实现(如:Apache ...
- 在springboot中使用springsecurity实现安全控制
SpringSecurity官方文档 我们在编写web应用时经常要对一些页面做安全控制,比如:对于没有访问权限的用户需要转到登录表单页面.要实现访问控制方法的多种多样,可以通过AOP.拦截器实现,也可 ...
- Nginx的安全控制及SSL加密介绍
Nginx的安全控制 关于web服务器的安全是比较大的一个话题,里面所涉及的内容很多,Nginx反向代理是如何来提升web服务器的安全呢? 安全隔离 什么是安全隔离? 通过代理分开了客户端到应用程序服 ...
- 系统安全及应用(账户安全控制,系统引导和登录,弱口令检测和登录控制,PAM认证,端口扫描,用户切换和提权)
文章目录 系统安全及应用 账户安全控制 基本安全措施 chattr--锁定账号配置文件 密码安全控制( chage) 要求用户下次登录时修改密码 命令历史,自动注销 注销时自动清空命令历史: bash ...
- Linux系统安全及应用(账号控制、su、sudo、开关机安全控制、终端登录安全控制等)
Linux系统安全及应用 一.账号安全控制 1.系统账号清理 2.密码安全控制 2.1设置密码有效期 2.2要求用户下次登录时修改密码 3.命令历史限制 4.终端自动注销 二.su命令 1.使用su命 ...
- Linux系统安全与应用(二)——安全机制、安全控制、弱口令检测JR、网络扫描NMAP和控制台命令Netstat
Linux系统安全与应用(二)--安全机制.安全控制.弱口令检测JR.网络扫描NMAP和控制台命令Netstat 一.使用sudo机制提升权限 1.su命令的缺点 2.sudo的用途和用法 3.配置s ...
- java 控制jsp_JSP学习之Java Web中的安全控制实例详解
普通用户界面 修改登录的Servlet,修改后的代码如下: LoginProcess.java代码: package servlet; import javabean.User; import jav ...
最新文章
- AAAI2020 | SNERL:抛开mention级别的监督,实体链接、关系抽取我都行
- 一张心酸得不想起名字的照片,人艰就别拆了好吗 | 每日趣闻
- html宽度自适应怎么调整li超出隐藏,HTML篇之CSS样式——div ul li 嵌套后解决高度自适应方法...
- 以太坊服务器是什么_搭建以太坊节点服务器https API
- Spring AOP编程-传统AOP开发切点表达式写法介绍
- JDK——NIO系统调用浅析
- 项目经理人必须要遵循的14个成功原则
- 一、自然语言处理概述
- 华为手机线刷工具_华为手机天气小工具误删/移除/丢失/不见了怎么办?
- 洛谷P2497:基站建设(splay、斜率优化)
- XGBoost、LightGBM与CatBoost算法对比与调参
- 【scala】2.控制结构和函数
- 实参与形参不兼容怎么解决_上岗证报名照片无法上传非官方解决方案
- BZOJ 2733: [HNOI2012]永无乡 启发式合并treap
- Keras Model AttributeError:’str‘ object has no attribute ’call‘
- abab的四字成语_abab的四字成语有哪些成语大全
- 传输层 可靠传输 连续ARQ协议和滑动窗口协议
- Gallery模块管理系统相册,支持从相册中选择图片或视频文件、保存图片或视频文件到相册等功能。通过plus.gallery获取相册管理对象
- 《谁说大象不能跳舞》值得一读
- hexo next auto_excerpt无法使用
热门文章
- Ubuntu 20.04 安装微信(亲测)
- x-pack-core-7.12.0破解许可到2050年到期
- 【翻译】西川善司的「实验做出的游戏图形」「GUILTY GEAR Xrd -SIGN-」中实现的「纯卡通动画的实时3D图形」的秘密,后篇...
- Python中__dict__用法
- some和every的区别和用法
- 用MATLAB实现费诺编码
- Pytorch Unet深入浅出
- VPS服务器能够做些什么?
- 社会工程学之信息刺探
- 自然语言处理中传统词向量表示VS深度学习语言模型(一)