Linux主机加固丨如何优雅的控制系统权限?
来源:互联网 发布:无产阶级 知乎 编辑:程序博客网 时间:2024/06/08 16:09
终于等到你,还好我没放弃。悬镜安全实验室一月一更新的技术文章又和大家见面了。
不是技术不愿意更新,实在是太忙了。
每天项目多的做不完,这不19大将要召开了
悬镜安全实验室作为国信504红队的重要组成部分之一
守护国家网络安全,那可是义不容辞的事情。
之前有不少用户说,你们不是做主机加固的吗,要不分享点加固类型的文章?
你知道的,加固类型的文章,成体系化的那真是少的可怜。
我们的目标是在未来的每月分享中,都会以主机加固类型文章为主,辅之渗透测试,应急响应等的文章
备注:本文为悬镜安全实验室原创文章,我们欢迎大家转载,但转载一定要标注原创来源,否则后果自负。
OK,下面进入我们的技术分享阶段。
综述
在日常业务运维中,经常会受到权限的困扰,给多了就违背了最小权限原则,造成系统出现一些安全隐患,给少了业务又无法正常进行,下面我们来看看如何优雅的控制系统权限,保证系统安全。
0x01修改应用版本信息
修改应用版本信息虽然和权限无关,但对应用可以起到一定的保护作用,本节我们以tengine为例,来介绍如何修改应用的版本信息。
其他apache等方法类似。
1、修改配置文件隐藏版本信息
配置文件nginx.conf中http段添加server_tokens off,但此方法只能隐藏版本号,服务信息还是可以看到的。
配置如下图所示。
2、要想修改的彻底,可以通过修改源码进行隐藏,解压缩tar包,修改$BASE_DIR/src/core/nginx.h文件。修改前:
修改后:
编译过程这里不做介绍,编译后运行效果如下图所示,可以看到http头中服务和版本信息都已经修改。
0x02构建受限的shell环境
有时候我们想限制用户登录后的行为,让用户在一个受限的shell环境操作,这里我们介绍如何利用lshell来快速实现,lshell提供了一个针对每个用户可配置的限制性shell,配置文件非常的简单,可以很容易的严格限制用户可以访问哪些目录,可以使用哪些命令,同时可以对非法操作进行日志记录。安装过程不做介绍,yum安装后配置文件路径为/etc/lshell.conf。
主要的配置项有logpath:配置日志路径、allowed:允许执行的命令、forbidden:禁止使用的字符或者命令、path:只允许访问的路径、env_vars:环境变量。
配置好后,修改你想要限制的用户shell,chsh -s /usr/bin/lshell $USER_NAME,或者vipw直接修改。日志目录需要手工创建并赋权。
配置如上图所示,只允许使用的命令为:ls、echo、cd、ll,只允许访问的路径为/home/tomcat/、/usr、/etc、/tmp、/opt。在受限shell下进行操作,可以看到不允许的操作被禁止。
日志记录
应用场景可以有很多,大家根据自己的实际业务环境灵活应用。
注意:前外不要把bash、sh等命令允许,一旦允许这些命令,该用户就可以逃逸出lshell的受限环境了。
0x03 linux ACL
linux默认的3种基本权限(rwx)以及3种特殊权限(suid,sgid,sticky)在平常情况下做适当调整即可,但是如果出现多个组多个用户情况下对某些文件或目录做权限配置就会发现不够分配,所以为了解决此类情况linux内核出现了acl(访问控制列表)模块来进行分层管理。
使用acl前要安装acl和libacl,查看系统是否支持acl,Linux默认是支持的。
dumpe2fs -h /dev/sda1|grep acl(根据自己磁盘情况更改)
开启分区的acl权限:
临时开启:mount –o remount,acl磁盘分区,永久开启的话需要修改/etc/fstab
场景:某文件只允许属主和其他用户A访问(只读),其余用户都不允许访问。
假设A用户名为tomcat,改文件只允许属主root和其他用户tomcat访问(只读)设置acl前,tomcat用户读取操作被拒绝。
设置acl后,tomcat用户可以读取,user1用户被拒绝。
0x04 严格限制网络出入站规则
在攻击场景中,攻击者通常在获取到一定权限后,会反弹shell进行交互式操作,严格限制出入站规则,可以对此攻击行为进行有效阻断。
通常情况下,我们对入站访问策略会进行严格的限制,但出站策略经常被忽略,这就使得攻击者反弹shell成为可能,这里我们介绍使用iptables进行有效限制。
iptables功能非常强大,大家可以仔细研究一下,有很多好玩的东西。
以上只一些简单的例子,抛个砖,引出一些思路,大家可以自由发挥,灵活应用,挖掘出更多好玩的东西。
- Linux主机加固丨如何优雅的控制系统权限?
- LINUX主机安全加固
- LINUX主机安全加固
- Linux系统下主机加固
- 如何加固Linux服务器
- 如何加固Linux系统
- 主机加固
- Linux学习总结(28)——Linux主机加固
- 对linux主机进行安全加固(基线配…
- linux云主机加固系列_Tomcat配置安全优化
- 如何取消服务器/主机空间目录脚本的执行权限
- 如何取消服务器/主机空间目录脚本的执行权限
- 如何取消服务器/主机空间目录脚本的执行权限
- 如何取消服务器/主机空间目录脚本的执行权限
- 如何优雅的大学生活
- 如何优雅的提问
- 理解基于Acegi的权限控制系统(图)- -
- 元数据级别的权限控制系统
- eclipse配置maven并创建maven项目
- oracle-使用数据泵对不同用户和不同表空间的数据迁移
- Android开发RecycleView的适配器(adapter)无法更新集合中数据
- hdu 6213-Chinese Zodiac (map)
- spring boot中使用@Value注解
- Linux主机加固丨如何优雅的控制系统权限?
- fastJson java后台转换json格式数据
- SSH原理与运用(一):远程登录
- Java 赋值语句 类型转换
- kafka无法消费消息
- python爬虫实例项目大全
- 元注释
- 【转自论坛】Python字符串处理指令列表以及os,os.path模块的使用方法
- word 和excel打开时弹出安装配置窗口且相应图标不显示