redhat linux6.5升级openssh到7.5p1

linux系统的安全加固,通常都会将openssh服务升级到最新版本,增强远程链接的安全性。linux

官网发布了openssh 7.4如下openssh版本存在严重漏洞例如:
1.OpenSSH 远程权限提高漏洞(CVE-2016-10010)
2.OpenSSH J-PAKE受权问题漏洞(CVE-2010-4478)
3.Openssh MaxAuthTries限制绕过漏洞(CVE-2015-5600)
OpenSSL>=1.0.1能够不用升级OpenSSL,可直接升级openssh。shell

升级需知:
查阅官方网站openssh,了解其最新的版本信息及其对系统内核和其它依赖组件的要求。
而后备份系统中现有的openssh信息,以备升级失败后进行回退。再根听说明优先完成其依赖组件的升级。
最后升级openssh,并进行验证。
openssh最新的版本是2019年4月17日释出的OpenSSH 8.0。安全

 1、首先打开两个或以上的shell链接,由于在升级过程当中若是升级失败会致使没法新建shell链接;或开一个telnet服务。
在安装以前先记下sshd.pid路径,由于在启动文件sshd中要更改此路径。服务器

下载openssl-1.0.2l.tar.gz、openssh-7.5p1.tar.gz包并将安装包传入服务器中;ssh

卸载现有版本openssh:rpm -e 'rpm -qa |grep openssh'ide

删除/etc/ssh/下全部文件,在卸载完openssh后此路径下文件不会删除,需手动删除;网站

2、具体步骤:
一、 安装依赖包yum -y install gcc libcap libcap-devel glibc-devel
二、 升级openssl
tar zxvf /tmp/openssl-1.0.2l.tar.gz -C /tmp
cd /tmp/openssl-1.0.2l
./config --prefix=/usr –shared
备注:(必定记得加上--shared选项, 不然openssh编译的时候会找不到新安装的openssl的library, 会报错: openssl的 header和library版本不匹配。)
make
make install
三、升级openssh
tar zxf /tmp/openssh-7.5p1.tar.gz -C /tmp3d

cd /tmp/openssh-7.5p1
./configure --prefix=/usr --sysconfdir=/etc/ssh --with-pam --with-zlib --with-md5-passwords
make
make install
echo "PermitRootLogin no" >>/etc/ssh/sshd_config
service sshd restart
四、验证
[root@localhost ~]# ssh -V
OpenSSH_7.5p1, OpenSSL 1.0.2l 29 May 2019
备注:
另外,安装目录为/usr/,由于在启动文件中有关于SSHD的路径,此安装目录默认为redhat启动文件的路径
可在配置文件/etc/ssh/sshd_config中修改rest

3、加固
修改hosts.all和hosts.deny
以ssh容许192.168.220.1和telnet容许192.168.220网段为例,具体在/etc/hosts.allow加入内容以下:
redhat linux6.5升级openssh到7.5p1
编辑/etc/hosts.deny文件
redhat linux6.5升级openssh到7.5p1blog

保存文件退出编缉后,重启ssh服务和telnet服务(可选)
备注:
1.一个IP访问请求连入,linux的检查策略是先看/etc/hosts.allow中是否容许,若是容许直接放行;若是没有,则再看/etc/hosts.deny中是否禁止,若是禁止那么就禁止连入。

2.对/etc/hosts.allow和/etc/hosts.deny的配置不用重启就当即生效,但无论重启不重启当前已有会话都不会受影响;也就是说对以前已经连入的,即使IP已配置为禁止登陆会话仍不会强制断开。不过不知是否全部linux都同样,由此第四步标为可选。

3.网上发现有些教程写成不是sshd而是in.sshd不是in.telnetd而是telnetd的,我的以为应该是独立启的不用加in.托管于xinetd的须要加in.

4、其余
一、若是升级中发生意外中断的,能够开telnet备用
启用
sed -i "s/yes/no/g" /etc/xinetd.d/telnet

service xinetd restart

mv /etc/securetty /etc/securettyBAK
停用
sed -i "s/no/yes/g" /etc/xinetd.d/telnet

service xinetd stop

mv /etc/securettyBAK /etc/securetty
二、升级后对ssh配置的加固
echo "PermitRootLogin no" >>/etc/ssh/sshd_config
找到#Port 22一段,这里是标识默认使用22端口,可修改成其余端口

echo "Ciphers aes128-cbc,aes192-cbc,aes256-cbc,aes128-ctr,aes192-ctr,aes256-ctr,3des-cbc,arcfour128,arcfour256,arcfour,blowfish-cbc,cast128-cbc" >>/etc/ssh/sshd_config

service sshd restart三、升级成功后输入密码没法登陆系统的缘由分析:一、未对配置文件进行修改,openssh7.5默认配置不容许使用root登陆系统二、pam配置文件错误或丢失三、配置文件中未启用pam选项:UsePAM

相关文章
相关标签/搜索