CentOS系统漏洞的修复历程
一,SH相关
1,OpenSSH 命令注入漏洞(CVE-2020-15778)
详细描述 | OpenSSH(OpenBSD Secure Shell)是OpenBSD计划组的一套用于安全访问远程计算机的连接工具。该工具是SSH协议的开源实现,支持对所有的传输进行加密,可有效阻止窃听、连接劫持以及其他网络级的攻击。 OpenSSH 8.5p1及之前版本中的scp的scp.c文件存在命令注入漏洞。该漏洞源于外部输入数据构造可执行命令过程中,网络系统或产品未正确过滤其中的特殊元素。攻击者可利用该漏洞执行非法命令。 |
---|---|
解决办法 | 厂商补丁: 目前厂商暂未发布修复措施解决此安全问题,建议使用此软件的用户随时关注厂商主页或参考网址以获取解决办法: https://www.openssh.com/ 临时缓解措施: 可以禁用scp,改用rsync等缓解风险(可能会导致小文件机器内拷贝变慢) |
禁用scp
rpm -qa|grep openssh-*
yum remove openssh-clients -y
删除了openssh-clients后,再执行scp,就会报下面的错误:
-bash: scp: command not found
2,检测到目标主机上运行着NTP服务
详细描述 | 通过NTP查询可以获取远端主机很多信息,包括操作系统、当前时间等。如果不是十分必要,应该禁用该服务。 |
---|---|
解决办法 | 由于该服务对于常规应用来说并无必要,NSFocus建议您关闭NTPD。 |
解决方法:关闭NTPD
service ntpd status
service ntpd stop
service ntpd status
chkconfig --list ntpd
chkconfig --level 35 ntpd off
chkconfig --list ntpd
3,允许Traceroute探测
详细描述 | 本插件使用Traceroute探测来获取扫描器与远程主机之间的路由信息。攻击者也可以利用这些信息来了解目标网络的网络拓扑。 |
---|---|
解决办法 | 在防火墙中禁用Time Exceeded类型的ICMP包 |
sudo iptables -A INPUT -p ICMP --icmp-type timestamp-request -j DROP
sudo iptables -A INPUT -p ICMP --icmp-type timestamp-reply -j DROP
sudo iptables -A INPUT -p ICMP --icmp-type time-exceeded -j DROP
sudo iptables -A OUTPUT -p ICMP --icmp-type time-exceeded -j DROP
4,SSH版本信息可被获取(待确认)
详细描述 | SSH服务允许远程攻击者获得ssh的具体信息,如版本号等等。这可能为攻击者发动进一步攻击提供帮助。 |
---|---|
解决办法 | NSFOCUS建议您采取以下措施以降低威胁: * 修改源代码或者配置文件改变SSH服务的缺省banner。 |
https://blog.csdn.net/zcb_data/article/details/80499189
https://www.nps.ink/345915.html
5,可通过HTTP获取远端WWW服务信息
本插件检测远端HTTP Server信息。这可能使得攻击者了解远程系统类型以便进行下一步的攻击。 | |
---|---|
解决办法 | NSFOCUS建议您采取以下措施以降低威胁: * 改变您的HTTP服务器的缺省banner。 |
https://my.oschina.net/guanxinsui/blog/1486352
https://blog.csdn.net/muzili12a3/article/details/54731120
6,OpenSSH 用户枚举漏洞(CVE-2018-15919)和OpenSSH 安全漏洞(CVE-2017-15906)
解决方法:升级OpenSSH
下载openssh-7.6p1.tar.gz
下载地址:https://mirrors.sonic.net/pub/OpenBSD/OpenSSH/portable/openssh-7.6p1.tar.gz
# 查看当前版本
ssh -V
# 关闭sshd服务595943
service sshd stop
yum install gcc pam-devel openssl-devel
tar -zxf openssh-7.6p1.tar.gz
cd openssh-7.6p1
./configure --prefix=/usr --sysconfdir=/etc/ssh -with-md5-passwords -with-pam -without-hardening
make && make install
说明:以上安装是保留系统原来的sshd_config 配置文件。
如果重启sshd时无法重启或重启失败,输入命令sshd -t
查看失败原因。
对密钥文件进行授权(根据对应的key文件)
chmod 600 /etc/ssh/ssh_host_ed25519_key
如果启动时报Unsupported option GSSAPIAuthentication,那么编辑文件
vim /etc/ssh/sshd_config
把GSSAPIAuthentication yes 和GSSAPICleanupCredentials yes 前面加上注释(注释掉)
最后
vi /usr/lib/systemd/system/sshd.service
把Type=notify换成Type=simple,这个解决shell阻塞的问题(通俗讲就是有时连接成功有时拒绝连接,不稳定)
# 然后初始化
systemctl daemon-reload
# 启动
systemctl start sshd.service
帮助:可以使用cat /var/log/messages查看systemctl命令启动失败的日志!
https://segmentfault.com/a/1190000008890926
https://www.cnblogs.com/brishenzhou/p/8857830.html
https://blog.csdn.net/m0_37184307/article/details/105730567
7,OpenSSH CBC模式信息泄露漏洞(CVE-2008-5161)
详细描述 | OpenSSH是一种开放源码的SSH协议的实现,初始版本用于OpenBSD平台,现在已经被移植到多种Unix/Linux类操作系统下。 如果配置为CBC模式的话,OpenSSH没有正确地处理分组密码算法加密的SSH会话中所出现的错误,导致可能泄露密文中任意块最多32位纯文本。在以标准配置使用OpenSSH时,攻击者恢复32位纯文本的成功概率为2{-18},此外另一种攻击变种恢复14位纯文本的成功概率为2。 |
---|---|
解决办法 | 临时解决方法: * 在SSH会话中仅使用CTR模式加密算法,如AES-CTR。 厂商补丁: OpenSSH ------- 目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载: https://downloads.ssh.com/ 对于具体Linux发行版中使用的版本,可以参考如下链接,确认系统是否受该漏洞影响: Redhat ------- https://rhn.redhat.com/errata/RHSA-2009-1287.html Suse ------- http://support.novell.com/security/cve/CVE-2008-5161.html Ubuntu ------- http://people.canonical.com/~ubuntu-security/cve/2008/CVE-2008-5161.html |
解决方法:修改ssh配置文件
-------------------------------------------
个性签名:独学而无友,则孤陋而寡闻。做一个灵魂有趣的人!
如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!
万水千山总是情,打赏一分行不行,所以如果你心情还比较高兴,也是可以扫码打赏博主,哈哈哈(っ•̀ω•́)っ✎⁾⁾!