1、 修复ssh相关漏洞


漏洞列表:


OpenSSH auth_password函数拒绝服务漏洞(CVE-2016-6515)


OpenSSH do_setup_env函数权限提升漏洞(CVE-2015-8325)


OpenSSH glob表达式拒绝服务漏洞(CVE-2010-4755)


OpenSSH J-PAKE授权问题漏洞(CVE-2010-4478)


Openssh MaxAuthTries限制绕过漏洞(CVE-2015-5600)


OpenSSH 'schnorr.c'远程内存破坏漏洞(CVE-2014-1692)


OpenSSH sshd mm_answer_pam_free_ctx释放后重利用漏洞(CVE-2015-6564)


OpenSSH SSH守护进程安全漏洞(CVE-2016-6210)


OpenSSH 'x11_open_helper()'函数安全限制绕过漏洞(CVE-2015-5352)


OpenSSH 允许多次 KEXINIT 导致拒绝服务漏洞(CVE-2016-8858)【原理扫描】


OpenSSH多个拒绝服务漏洞(CVE-2016-10708)


OpenSSH 安全漏洞(CVE-2016-1908)


OpenSSH 安全漏洞(CVE-2017-15906)


OpenSSH 安全限制绕过漏洞(CVE-2016-10012)


OpenSSH 安全限制绕过漏洞(CVE-2016-10012) 


OpenSSH 拒绝服务漏洞(CVE-2016-1907)


OpenSSH 用户枚举漏洞(CVE-2018-15473)【原理扫描】


OpenSSH 用户枚举漏洞(CVE-2018-15919)


OpenSSH 远程代码执行漏洞(CVE-2016-10009)


OpenSSH默认服务器配置拒绝服务漏洞(CVE-2010-5107)


OpenSSL "SSL-Death-Alert" 拒绝服务漏洞(CVE-2016-8610)【原理扫描】


OpenSSL 拒绝服务漏洞(CVE-2018-0739)


 


系统:centos7


 


把源码包上传到需要修复的主机,然后执行下面脚本


 


脚本:


#!/bin/bash


yum install -y gcc gcc-c++


 


yum install -y openssl-devel zlib-devel 


 


mkdir /root/backup


 


mv /etc/ssh /root/backup/


 


tar -zxf openssh-7.9p1.tar.gz 


 


cd openssh-7.9p1


./configure --prefix=/usr --sysconfdir=/etc/ssh


 


make 


 


systemctl stop sshd.service


 


rpm -e --nodeps `rpm -qa | grep openssh`


 


make install 


 


cp contrib/redhat/sshd.init /etc/init.d/sshd


 


systemctl enable sshd.service


 


# 如果主机允许root用户直连,可以加入下面这个配置


sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config


 


systemctl start sshd.service


systemctl enable sshd.service


 


替换为:


service sshd start


chkconfig sshd on


 


如需回滚:


mkdir /root/backup2


mv /etc/ssh /root/backup2


service sshd stop


mv /etc/init.d/sshd /root/backup2


cd openssh-7.9p1


make uninstall


 


yum -y install openssh-clients openssh-server openssh


 


ssh -V


OpenSSH_7.4p1, OpenSSL 1.0.2k-fips  26 Jan 2017


 


systemctl enable sshd.service


systemctl start sshd.service


 


注意:


如果有其他主机与这台主机配置了无密码登录


需要在其他主机相应用户下执行 ssh-keygen -R IP or HOSTNAME ,然后执行登录操作


如果还是不行,则删除.ssh/known_hosts 文件中相应的信息,然后执行ssh-copy-id USER@IP or HOSTNAME


 


2、 修复mysql相关漏洞


漏洞列表:


MySQL远程代码执行及权限提升漏洞(CVE-2016-6662)


Oracle MySQL Client组件任意代码执行漏洞(CVE-2016-0546)


Oracle MySQL Server: Pluggable Authentication子组件安全漏洞(CVE-2016-0639)


Oracle MySQL Server 安全漏洞(CVE-2018-2696)


Oracle MySQL Server组件安全漏洞(CVE-2018-2562)


Oracle MySQL Server组件安全漏洞(CVE-2018-2612)


Oracle MySQL Server组件安全漏洞(CVE-2018-2647)


Oracle MySQL Server远程安全漏洞(CVE-2017-3599)


Oracle MySQL 安全漏洞(CVE-2016-0705)


修复方法分为两种分别对应两种情况:


2.1、rpm包安装方式(mysql-5.7.18-1.el7.x86_64.rpm-bundle.tar)


下载mysql比较新的包mysql-5.7.26


 


更新安装(服务不用停止)


yum update -y mysql-community-*.rpm


 


2.2、tar包解压(mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz)


tar -zxf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz -C /usr/local


 


停止现有的服务


service mysql stop


 


然后备份


cd /usr/local


mv mysql mysql-5.7.17


 


切换


mv mysql-5.7.26-linux-glibc2.12-x86_64 mysql


 


启动服务


service mysql start


 


异常解决:


问题1、应用查询报错:


Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Expression #2 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'c.PRODUCT_LINE' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by


 


mysql> select @@sql_mode;


+-----------------------------------------------------------------------------------------------------------------------------------------