ping命令常用于网络检测,确定两台主机之间是否可以通信,其使用的是ICMP(Internet控制报文协议),为了保护主机,就会禁用ICMP协议来防止其它主机对服务器攻击,我们可以通过配置文件即时禁止该协议。
方法一,临时禁止ICMP协议
系统默认是允许ICMP协议的,我们要使用root用户配置以下文件:/proc/sys/net/ipv4/icmp_echo_ignore_all,即设置文件中的忽略icmp报文的参数为1,具体命令如下;
# echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all
# cat /proc/sys/net/ipv4/icmp_echo_ignore_all
1
如果该参数为1,表示禁止忽略ICMP报文的所有请求,
系统默认值为0,表示允许其它主机ping该主机。
此时在其它主机上ping该主机则出现“请求超时”的结果。
方法二:编辑防火墙配置
Iptables防火墙是集成于Linux内核的IP信息包过滤系统。方法二不能和上面的方法一组合使用。在使用方法二时不能已经使用方法一禁止了Ping.
禁止Ping,输入:
-A INPUT -p icmp --icmp-type timestamp-request -j DROP
-A INPUT -p icmp --icmp-type timestamp-reply -j DROP
-A:添加防火墙规则.
INPUT:入站规则.
-p icmp:指定包检查的协议为ICMP协议.
--icmp-type timestamp-reply:指定ICMP类型为timestamp-reply.
-j:指定目标规则,即包匹配则应到做什么,"DROP"表示丢弃.
漏洞二:允许Traceroute探测
-A FORWARD -p icmp -j DROP
-A FORWARD -p icmp --icmp-type 11 -j DROP
漏洞三:检测到远端运行着Telnet服务
解决:卸载telnet服务
yum remove telnet
yum list
漏洞四:检测到远端RPCBIND/PORTMAP正在运行中(CVE-1999-0632)
停用命令
service nfslock stop
chkconfig nfslock off
rpcbind服务停止命令
service portmap stop
漏洞五: 检测到远端rpc.statd服务正在运行中
(和项目组确认没有使用NFS后再操作)
# /etc/init.d/portmap stop && chkconfig portmap off # /etc/init.d/rpcidmapd stop && chkconfig rpcidmapd off # /etc/init.d/nfslock stop && chkconfig nfslock off
漏洞六: 远端服务器运行着EPMD服务
解决:卸载erlang服务
find / -name "erlang"
rm -rf
漏洞七: 远程MySQL/MariaDB/Percona Server版本泄露
漏洞八: openssh版本
#rpm -qa|grep openssh
漏洞九: ZooKeeper 未授权访问【原理扫描】
为ZooKeeper配置相应的访问权限。
方式一: 1)增加一个认证用户 addauth digest 用户名:密码明文 eg. addauth digest user1:password1
2)设置权限 setAcl /path auth:用户名:密码明文:权限 eg. setAcl /test auth:user1:password1:cdrwa
3)查看Acl设置 getAcl /path
方式二: setAcl /path digest:用户名:密码密文:权限
第一步:cd到zookeeper的bin目录下执行: ./zkCli.sh -server localhost:2181
第二步:点击回车后,查看节点路径(例如查到的是dubbo): ls /
第三步:创建用户:addauth digest test:test123
第四步:追加操作权限(/dubbo是第二步查到的):setAcl /zookeeper auth:test:test123:cdrwa
第五步 :查看节点:getAcl /zookeeper
auth和digest通过用户名和密码方式可以有效进行权限控制,因应用中使用duboo和zookeeper做结合,有网友说Dubbo并没有实现认证的逻辑,实际测试发现确实无法进行注册。
报出如下错误:
java.lang.IllegalStateException: Failed to register
cause: org.apache.zookeeper.KeeperException$NoAuthException: KeeperErrorCode = NoAuth for /dubbo/com.common.crud.IEntityDao
参考资料:
https://yq.aliyun.com/articles/284281?utm_content=m_37169
3、最后只剩下了IP限制方式,通过IP白名单对连接ZK的客户端进行限制。
操作步骤:
因zookeeper不支持节点间权限的继承,所以需要对关键节点进行权限控制。
目前只对“/”、“/dubbo”、“/zookeeper”进行限制。
/bin/
./zkCli.sh -server ip:port
setAcl / ip:xx.xx.xx.152:cdrwa,ip:xx.xx.xx.151:cdrwa,ip:xx.xx.xx.156:cdrwa
setAcl /dubbo ip:xx.xx.xx.152:cdrwa,ip:xx.xx.xx.151:cdrwa,ip:xx.xx.xx.156:cdrwa
setAcl /zookeeper ip:xx.xx.xx.152:cdrwa,ip:xx.xx.xx.151:cdrwa,ip:xx.xx.xx.156:cdrwa
漏洞十: Zookeeper 远程信息泄漏【原理扫描】