0
点赞
收藏
分享

微信扫一扫

常见运维安全陋习(1)

运维安全事件频发,一方面固然是因为运维或安全规范空白或者没有落地,另一方面也在于运维人员缺乏强烈的运维安全意识,在日常工作中存在这样那样的安全陋习导致。可以对号入座,仔细想想曾几何时自己是否也踩过同样的坑?

1、防火墙

1.1 修改防火墙后没有还原配置,甚至清空关闭iptables或者firewalld

出于测试需要临时清空iptables或者firewalld可以理解,但是很多人会忘记还原,也没有设置自动还原机制

iptables -F

1.2 单机安装docker之后忽略检查iptables,导致docker修改iptables开放外网

docker技术给我们带来的便利自不必言,但是因为docker带来的安全风险却一点也不少。而且,docker daemon默认是能控制宿主iptables的,如果docker daemon使用tcp socket或者启动的容器可被外部访问,则连宿主一同 沦陷也不在话下。比如下面一启动容器则将tcp/443端口对外开放了。

systemctl restart docker
*nat
:PREROUTING ACCEPT [8435539:534512144]
:INPUT ACCEPT [1599326:97042024]
:OUTPUT ACCEPT [4783949:343318408]
:POSTROUTING ACCEPT [4783949:343318408]
:DOCKER - [0:0]
-A PREROUTING -m addrtype --dst-type LOCAL -j DOCKER
-A OUTPUT ! -d 127.0.0.0/8 -m addrtype --dst-type LOCAL -j DOCKER
-A POSTROUTING -s 172.17.0.0/16 ! -o docker0 -j MASQUERADE
-A POSTROUTING -s 172.17.0.1/32 -d 172.17.0.1/32 -p tcp -m tcp --dport 443 -j MASQUERADE
-A FORWARD -o docker0 -j DOCKER
-A FORWARD -o docker0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i docker0 ! -o docker0 -j ACCEPT
-A FORWARD -i docker0 -o docker0 -j ACCEPT
-A DOCKER -d 172.23.0.3/32 ! -i br-1bf61a2fa2e7 -o br-1bf61a2fa2e7 -p tcp -m tcp --dport 443 -j ACCEPT
*filter
:INPUT ACCEPT [1599326:97042024]
:OUTPUT ACCEPT [4783949:343318408]
-A INPUT -s 10.0.0.0/8 -j ACCEPT
-A INPUT -s 127.0.0.1 -j ACCEPT
-A INPUT -j DROP
#最后的规则被绕过

2、脚本

没有检查“*”、空格、变量

如果我们认可“不光用户的输入是不可信的,自己的输入也是不可信”,这样的坑就会少踩。

rm -rf /var1/var2


3、服务

服务启动默认监听全部地址

绝大部分应用默认配置便是如此,在没有有效访问控制的情况下开启监听所有地址,离危险也不远了。

bind-address 0.0.0.0

4、文件权限

给文件开放过大的权限时,任何人都能读写

这个跟phpinfo有点像,能给入侵者推一把。

chmod 777 dir
chmod 666 script

5、用root启动服务

对于大多数运维人员而言,一上机器就切到root,后面用root启动服务仿佛一气呵成。

[root@nn1 ~]# #nohup ./server &

6、认证和访问控制

这个跟监听任意地址比较像,通常也是默认配置使然,使用者也没有意识去加固。

#requirepass test
举报

相关推荐

0 条评论