- NFS
漏洞详情:
可以对目标主机进行"showmount -e"操作,此操作将泄露目标主机大量敏感信息,比如目录结构。更糟糕的是,如果访问控制不严的话,攻击者有可能直接访问到目标主机上的数据。
解决方法:
限制可以获取NFS输出列表的IP和用户,只允许需挂载的客户的使用
步骤:
编辑配置文件/etc/exprots
]#/data 17.59.192.0/24(rw,sync,no_root_squash) ###限制允许什么ip地址或IP段访问。
]# systemctl restart rpcbind
]# systemctl restart nfs
- PHP、Httpd
漏洞详情:
PHP是广泛使用的通用目的脚本语言,特别适合于Web开发,可嵌入到HTML中。 PHP < 5.5.38, 5.6.x < 5.6.24, 7.x < 7.0.9,ext/session/session.c函数未正确保留某个哈希数据结构,存在安全漏洞,远程攻击者可造成拒绝服务(释放后重利用)。
Apache HTTP Server是Apache软件基金会的一个开放源代码的网页服务器。 httpd 2.2.0-2.2.32、httpd 2.4.0-2.4.25版本,第三方模块在身份验证阶段使用ap_get_basic_auth_pw(),会导致绕过身份验证要求。
解决方法:
目前厂商已发布新以修复漏洞,进行版本升级。
步骤:
php两种模式运行一种是基于httpd的模块中,另一种是运行php-fpm进程,我们一般仅在httpd模块中使用。
如果应用没有使用,就直接关闭服务。
]#ps -ef |grep httpd
]# systemctl stop httpd
]# systemctl disable httpd
如必须使用,如之前的nagios,就对找到对应的rpm包,rpm –Uvh *.rpm 进行更新,依赖的openssl也需进行升级。
- Python
漏洞详情:
Python是Python软件基金会的一套开源的、面向对象的程序设计语言,该语言具有可扩展、支持模块和包、支持多种平台等特点。CPython(又名Python)是一款用C语言实现的Python解释器。 CPython 2.7.13及之前的版本中的stringobject.c文件的‘PyString_DecodeEscape’函数存在整数溢出漏洞。攻击者可利用该漏洞造成基于堆的缓冲区溢出并可能执行任意代码。
解决方法:
目前厂商已发布新以修复漏洞,进行版本升级。
步骤:
python2.7.5升级2.7.14
解压包
]#tar xvf Python-2.7.14.tar.xz
编译安装
]#cd Python-2.7.14
]#./configure --prefix=/usr/local/
]#make && make install
将老版本更换
]#mv /usr/bin/python /usr/bin/python2.7.5
]#ln -s /usr/local/bin/python2.7 /usr/bin/python
修改配置,将下面两个文件中的开头#!/usr/bin/python改为#!/usr/bin/python2.7.5
]#vim /usr/bin/yum
]#vim /usr/libexec/urlgrabber-ext-down
- Docker
漏洞详情:
Docker Remote API如配置不当可导致未授权访问,被攻击者恶意利用。 攻击者无需认证即可访问到Docker数据,可能导致敏感信息泄露,黑客也可以删除Docker上的数据。 攻击者可进一步利用Docker自身特性,直接访问宿主机上的敏感信息,或对敏感文件进行修改,最终完全控制服务器。
解决方法:
对2375端口做网络访问控制,如设置iptables策略仅允许指定的IP来访问Docker接口,此处只允许本机访问。
步骤:
编辑docker的service文件/usr/lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock
修改为
ExecStart=/usr/bin/dockerd -H unix://var/run/docker.sock
重启服务systemctl restart docker(生产环境注意先关闭运行的容器)
- OpenSSL、OpenSSH
漏洞详情:
TLS是安全传输层协议,用于在两个通信应用程序之间提供保密性和数据完整性。 TLS, SSH, IPSec协商及其他产品中使用的DES及Triple DES密码存在大约四十亿块的生日界,这可使远程攻击者通过Sweet32攻击,获取纯文本数据。
OpenSSH 是一组用于安全地访问远程计算机的连接工具。 OpenSSH 7.4之前版本在sshd实现中存在安全漏洞,成功利用后可使攻击者通过构造的NEWKEYS消息,导致受影响应用崩溃。
解决方法:
目前厂商已发布新以修复漏洞,进行版本升级。
步骤:
*20211028新增:
openssl 升级至1.0.2r
openssh 升级至8.6(适配centos7)
目前已有集成好的包(在厦门部门ftp的目录下 /operation工具/centos系统漏洞相关软件包),使用前提需要配置好yum源。
tar zxvf update_ssh8.6p1.tar.gz
cd update_ssh8.6p1
sh update_openssh_8_6.sh
等待脚本跑完,会打印出ssh当前版本,对应升级无误即完成
- Redis未授权访问
漏洞详情:
Redis因配置不当可以未授权访问。攻击者无需认证访问的内部数据,可导致敏感数据信息泄露,也可以恶意执行flushall来情况所有数据。在redis以root权限运行时可以写crontab来执行命令反弹shell
解决方法:
限制redis客户端访问,修改redis.conf文件
增加redis访问密码。
步骤:
限制客户端访问
只允许本机访问如下
]#vim redis.conf
Bind 127.0.0.1
增加redis访问密码
redis服务端修改
]#vim redis.conf
requirepass XXXX
预处理相关
1.更新到最新,因为有写的认证代码
2.
]#vim redis.properties
redis.password=XXXX
- Memcached未授权访问
漏洞详情:
由于memcached安全设计缺陷,客户端连接服务端无需认证就可以读取、修改服务器缓存内容。
解决方法:
目前使用iptables进行防护。
步骤:
开启防火墙 (iptables服务) service iptables start
没有的话就yum 安装 yum install iptables-services
然后在启动防火墙—建议清空默认配置,生产环境谨慎操作,如有安装docker,不能清空配置。
iptables -F
1.设置允许访问的IP段/IP—下面的例子是指定ip 访问 11211端口
]#iptables -A INPUT -p tcp -s x.0.4.0/24 --dport 11211 -j ACCEPT
]#iptables -A INPUT -p tcp -s 127.0.0.1 --dport 11211 -j ACCEPT
]#iptables -A INPUT -p tcp -s x.0.4.0/24 --dport 11211 -j ACCEPT
2.禁用所有IP 访问11211/11212
]#iptables -A INPUT -p tcp --dport 11211 -j REJECT
]#iptables -A INPUT -p tcp --dport 11212 -j REJECT
3.保存策略
]#service iptables save
4.查看防火墙规则
]#iptables -L -n
- Mysql漏洞修复
我们使用的mysql版本太低5.6.15,
解决方法:
使用rpm包升级至5.6.50
步骤:
1.备份配置文件/etc/my.cnf
cp /etc/my.cnf /etc/my.cnf.bak
2.备份数据,备份方法比较多,这里介绍两种,多备份总是没错的 :
没有关闭服务,锁全表备份
FLUSH TABLES WITH READ LOCK;
mysql -u username -p password - --all-databases > all.sql
关闭mysql服务 直接拷贝数据文件目录
service mysql stop
cp -a /data/mysql /data/mysql_bak
3. 开始升级
把安装包考到服务器解压
tar xvf MySQL-5.6.50-1.el7.x86_64.rpm-bundle.tar -C /opt
cd /opt
rpm -Uvh *.rpm
4. 启动服务,验证是否正常
service mysql start
登录数据库验证,登录系统页面进行验证。