linux主机设备acl,Linux主机加固丨 防御者如何加强主机权限控制

在日常业务运维中,经常会受到权限的困扰,给多了就违背了最小权限原则,造成系统出现一些安全隐患,给少了业务又无法正常进行,下面我们来看看如何优雅的控制系统权限,保证系统安全。

0x01修改应用版本信息

修改应用版本信息虽然和权限无关,但对应用可以起到一定的保护作用,本节我们以tengine为例,来介绍如何修改应用的版本信息。其他apache 等方法类似。

1、修改配置文件隐藏版本信息

配置文件nginx.conf中http段添加 server_tokens off,但此方法只能隐藏版本号,服务信息还是可以看到的。

配置如下图所示。

913eda07e0ede8a8c422f481b5cfda1c.png

2、要想修改的彻底,可以通过修改源码进行隐藏

解压缩tar包,修改$BASE_DIR/src/core/nginx.h 文件。

修改前:

486053e1ed1e0afab54765ec8548e514.png

修改后:

bf714135a4780daff9152bc72b8c3f89.png

编译过程这里不做介绍,编译后运行效果如下图所示,可以看到http头中服务和版本信息都已经修改。

8591a931d73352ae34f16c361309ab6a.png

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直接修改。日志目录需要手工创建并赋权。

e7357e77abdc54c4e3252e3ddb1f3576.png

配置如上图所示,只允许使用的命令为:ls、echo、 cd、ll,只允许访问的路径为/home/tomcat/、/usr、/etc、/tmp、 /opt。 在受限shell下进行操作,可以看到不允许的操作被禁止。

212d18a6f5621a39bd7dc9ccf7857739.png

日志记录

adf9837cf841c06d2524183287cea72b.png

应用场景可以有很多,大家根据自己的实际业务环境灵活应用。

注意:前外不要把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(根据自己磁盘情况更改)

15eee4036e2fbce22ec1f05949c3c447.png

开启分区的acl权限:

临时开启:mount –o remount,acl 磁盘分区,永久开启的话需要修改/etc/fstab

a93c6d3f8d884bf821a31c92ca463f6b.png

场景:某文件只允许属主和其他用户A访问(只读),其余用户都不允许访问。

假设A用户名为tomcat,改文件只允许属主 root和其他用户tomcat访问(只读) 设置 acl前,tomcat用户读取操作被拒绝。

4ab045eb911c01e20f26e10d025b54b0.png

7aee8c7638b0573f33010375863674e5.png

设置acl后,tomcat用户可以读取, user1用户被拒绝。

b36960844a8c253802fcaacf0da4db89.png

a9dce7565623727779eae7924dd473b5.png

a93d650e55c44be74c1d94cbdc19378f.png

0x04 严格限制网络出入站规则

在攻击场景中,攻击者通常在获取到一定权限后,会反弹shell进行交互式操作,严格限制出入站规则,可以对此攻击行为进行有效阻断。

通常情况下,我们对入站访问策略会进行严格的限制,但出站策略经常被忽略,这就使得攻击者反弹shell成为可能,这里我们介绍使用iptables 进行有效限制。

bf58228d533b975b6b67de57377e10ae.png

iptables功能非常强大,大家可以仔细研究一下,有很多好玩的东西。

以上只一些简单的例子,抛个砖,引出一些思路,大家可以自由发挥,灵活应用,挖掘出更多好玩的东西。

*本文作者:悬镜安全实验室,转载请注明来自 FreeBuf.COM

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值