对于新安装的Linux服务器,默认OpenSSH及OpenSSL都不是最新的,需要进行升级以拒绝服务器漏洞攻击。本次介绍的是升级生产环境下CentOS6.x系列服务器平滑升级OpenSSL及OpenSSH的方法。

一、服务器漏洞说明

二、环境描述

1)操作系统:CentOS 6.x系列 64位

2)修补前后

  使用源码安装的方式

  

3)连接工具SecureCrt、XShell

三、升级

最好先多开几个root登录的shell窗口万一升级失败可以回退回来,或者安装dropbear只是为了在升级失败sshd启动不起来时,依然可以登录系统

3.1 下载响应源码安装包

3.1.1 下载OpenSSL源码包

下载地址:https://www.openssl.org/source/

3.1.2 下载1.0.2版本的openssl

下载地址:https://www.openssl.org/source/openssl-1.0.2j.tar.gz

3.1.3 下载OpenSSH源码包

下载地址:http://openbsd.hk/pub/OpenBSD/OpenSSH/portable/

3.2 安装Zlib

http://zlib.net/zlib-1.2.8.tar.gz
tar -zxvf zlib-1.2..tar.gz
cd zlib-1.2.
./configure --shared

make

make test

make install

3.3 安装OpenSSL

tar zxf openssl-1.0.2j.tar.gz
cd openssl-1.0.2j/
./config shared (默认安装路径/usr/local/ssl)

make
make test
(确认编译是否有问题)

make install

把老的openssl文件进行备份

mv /usr/bin/openssl /usr/bin/openssl.bak  (文件存在的话就执行这个命令)
mv /usr/include/openssl /usr/include/openssl.bak (文件存在的话就执行这个命令)

做链接

ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl  (做链接)
ln -s /usr/local/ssl/include/openssl /usr/include/openssl (做链接)

vi /etc/ld.so.conf 

在第一行加  /usr/local/ssl/lib

之后

ldconfig

让配置文件生效

最后查看当前openssl版本信息

openssl version -a

3.4 安装OpenSSH

tar zxf openssh-.3p1-CVE--.tar.gz

如为原版openssh-7.3p1包则添加下图代码,此包已经添加过。

cd openssh-.3p1/

解压openssh源码包,修改源码包根目录中的kex.c文件

搜debug("SSH2_MSG_KEXINIT received"); 在这附近

加ssh_dispatch_set(ssh, SSH2_MSG_KEXINIT, NULL);

./configure --prefix=/usr/local/myssh --sysconfdir=/usr/local/myssh/ssh --with-openssl-includes=/usr/local/ssl/include -with-ssl-dir=/usr/local/ssl --with-privsep-path=/var/myempty --with-privsep-user=sshd --with-zlib --with-ssl-engine --with-md5-passwords --disable-etc-default-login

(标红的部分是openssh安装的文件目录,可以自定义)

make

(make之后没有报错)

make install

修改新的OpenSSH配置文件

vi /usr/local/myssh/ssh/sshd_config

修改端口号和版本号

cd /usr/local/openssh-.3p1
cp contrib/redhat/sshd.init /etc/init.d/sshd

(把启动脚本拷贝到init.d下)

mv /usr/sbin/sshd /usr/sbin/sshd.bak

(将以前的sshd进行备份)

ln -s /usr/local/myssh/sbin/sshd /usr/sbin/sshd

(做链接)

service sshd restart

最后再用其他主机telnet这台主机,会发现已经升级到OpenSSH_7.3

CentOS6.x服务器OpenSSH平滑升级到7.3p版本——拒绝服务器漏洞攻击的更多相关文章

  1. CentOS6.x服务器OpenSSH平滑7.3p版本——拒绝服务器漏洞攻击

    对于新安装的Linux服务器,默认OpenSSH及OpenSSL都不是最新的,需要进行升级以拒绝服务器漏洞攻击.本次介绍的是升级生产环境下CentOS6.x系列服务器平滑升级OpenSSL及OpenS ...

  2. Nginx服务器的平滑启动、平缓停止、平滑升级

    注:Nginx服务在运行时,会保持一个主进程(master process)和一个或多个工作进程(worker process). 每一个进程都会有一个PID进程号,可以通过向主进程的PID进程号发送 ...

  3. Nginx学习——Nginx启动、停止、重启和信号控制以及平滑升级

    1.Nginx 启动与停止 (1)启动方式 启动格式:Nginx可执行文件地址 -c Nginx配置文件地址 /etc/local/nginx/sbin/nginx -c /root/dufy/ngi ...

  4. 关于centos7和centos6中平滑升级nginx到新版本v1.12.1修复nginx最新漏洞CVE-2017-7529的解决方案

    关于centos7和centos6中平滑升级nginx到新版本v1.12.1修复CVE-2017-7529漏洞的解决方案 漏洞描述 2017年7月11日,Nginx官方发布最新的安全公告,在Nginx ...

  5. Centos6.5 离线 Openssh 升级

    目录 OpenSSH 升级 一.基于 Dropbear 设置备用 ssh 服务器 二. Openssh 更新 2.1 ssh配置 备份 2.2 openssh 升级 Openssl 升级(由于Open ...

  6. 高性能Web服务器Nginx的配置与部署研究(14)平滑升级你的Nginx

    1.概述(可以直接跳过看第2部分) Nginx方便地帮助我们实现了平滑升级.其原理简单概括,就是: (1)在不停掉老进程的情况下,启动新进程. (2)老进程负责处理仍然没有处理完的请求,但不再接受处理 ...

  7. nginx启动、重启、重新加载配置文件和平滑升级

    Nginx有一个主进程和几个工作进程,主进程的主要作用就是读取.评估配置文件和管理工作进程,工作进程对请求做实际处理.工作进程的数量是在配置文件中配置的,一般设置为cpu的核心数*线程数. nginx ...

  8. 如何安全的将VMware vCenter Server使用的SQL Server Express数据库平滑升级到完整版

    背景: 由于建设初期使用的vSphere vCenter for Windows版,其中安装自动化过程中会使用SQL Server Express的免费版数据库进行基础环境构建.而此时随着业务量的增加 ...

  9. 让你的网站免费支持 HTTPS 及 Nginx 平滑升级

    为什么要使用 HTTPS ? 首先来说一下 HTTP 与 HTTPS 协议的区别吧,他们的根本区别就是 HTTPS 在 HTTP 协议的基础上加入了 SSL 层,在传输层对网络连接进行加密.简单点说在 ...

随机推荐

  1. day07_雷神_面向对象进阶

    day07 1.接口类(抽象类) 接口类和抽象类是一种规范,写代码时的规范. 两个思想: 一个是统一接口,一个是定义规则. 最终版本:接口类,抽象类,是一种规范,写代码时的规范 强制性的规定. fro ...

  2. Android-Java-类与对象的关系

    类class 例如:class Student {},很多人把class Student {}称为对象或实体,其实这样并不合理,应该称为描述实体/描述对象: 因为被称为对象或实体的是,new Stud ...

  3. iOS 应用如何完全支持 IPv6-ONLY 网络?

    iOS 应用如何完全支持 IPv6-ONLY 网络?¶ 警告 您当前查看的页面是未经授权的转载! 如果当前版本排版错误,请前往查看最新版本:http://www.cnblogs.com/qin-nz/ ...

  4. Elasticsearch 系列2 --- 安装elasticsearch-head管理工具

    elasticsearch-head是elasticsearch的一个管理页面,它的官网是https://github.com/mobz/elasticsearch-head 通过官网我们得知,ES5 ...

  5. 设置 Nuget 本地源、在线私有源、自动构建打包

    设置 Nuget 本地源.在线私有源.自动构建打包 本文演示如果在项目中生成 Nuget 包,并添加 Nuget 本地源,不用发布到 Nuget 服务器.再附带使用在线私有源的简单方法,以及提交代码自 ...

  6. Python大法之告别脚本小子系列—各类URL采集器编写

    本文作者:i春秋签约作家——阿甫哥哥 系列文章专辑:https://bbs.ichunqiu.com/forum.php?mod=collection&action=view&ctid ...

  7. MySQL 中文字符集排序

    SELECT 字段名 FROM 表 ORDER BY CONVERT(字段名 USING gbk) ASC;

  8. Android MediaPlayer setDataSource failed

    今天在尝试使用MediaPlayer播放音乐时出了一个问题,在使用 mp.setDataSource(this,Uri.parse("/sdcard/Music/adele.mp3" ...

  9. B2C电商项目

    经历四个月的自学. 结合所学的知识(HTML,CSS,javascript,jQuery,Mysql,Redis,Django,celery,fastDfs,haystack,whoosh,uWSGI ...

  10. python互斥锁

    互斥锁 进程之间数据隔离, 但是多个进程可以共享同一块数据,比如共享同一套文件系统,所以访问同一个文件,或同一个打印终端,是没有问题的,而共享带来的是竞争,竞争带来的结果就是错乱,如下 from mu ...