这几天因为安全漏洞扫描,扫描到时大量OpenSSH漏洞,需安全加固,主要是升级版本,以前对于升级打补丁总是不在意的,可这次中间遇到一些小问题整理成册,希望对大家有点帮助,以下是具体实现方法:
针对SUSE RedHat Linux系统
OpenSSH 5.0 版本升级6.0操作手册
一.升级前准备
1.首先在官网上下载SSH安装所需依赖包,一般三个包就可以了
zlib-1.2.5.tar.gz
openssl-1.0.1e.tar.gz
openssh-6.6p1.tar.gz
2.启用TELNET,或VNC工具连接避免SSH升级失败后无法远程操作
一般linux服务器默认是安装TELNET的,可以通过命令查看
Rpm -qa |grep telnet
如已安装,更改配置启用TELNET
vi/etc/xinetd.d/telnet
disable = no
service xinetdrestart
/etc/securetty加入
pts/0
pts/1
pts/2
pts/3
/etc/pam.d/login文件注释掉:
#auth [user_unknown=ignore success=okignore=ignore
#auth_err=die default=bad] pam_securetty.so 如有注释,无请忽略
至此telnet服务已启用,在另台机做测试,如果无TELNET服务,请安装TELNET包后在进行SSH升级
二.ssh程序升级
1.
备份启动脚本,以及ssh服务主配置目录
# cp/etc/init.d/sshd /ssh5bak
# cp/etc/ssh /ssh5bak
2.
解压安装zlib
# tar -zxf zlib-1.2.5.tar.gz //首先安装zlib库,否则会报zlib.c错误无法进行
# cd zlib-1.2.5
# ./configure--shared
# make &&make install
3.解压安装openssl包:
# tar -zxf openssl-1.0.1.tar.gz
# cd openssl-1.0.1
# ./config share
# make
# make test
# make install
# mv /usr/bin/openssl/usr/bin/openssl.OFF
# mv/usr/include/openssl /usr/include/openssl.OFF
//该步骤可能提示无文件,忽略即可
# ln -s /usr/local/ssl/bin/openssl/usr/bin/openssl
# ln -s /usr/local/ssl/include/openssl/usr/include/openssl
//移走原先系统自带的openssl,将自己编译产生的新文件进行链接。
4.配置库文件搜索路径
# echo "/usr/local/ssl/lib" >>/etc/ld.so.conf
# /sbin/ldconfig -v
# openssl version -a
三.卸载原有ssh服务
# rpm –qa|grep openssh //查询系统原安装的openssh包,全部卸载。使用rpm –e命令卸载,如果出现报错请添加 –nodeps参数如下
# rpm -eopenssh-askpass --nodeps
四.安装升级SSH
# tar -zxfopenssh-6.6p1.tar.gz
# ./configure--prefix=/usr/ --sysconfdir=/etc/ssh --with-zlib --with-ssl-dir=/usr/local/ssl --with-md5-passwords --mandir=/usr/share/man
# make
# makeinstall
五.启动服务
进入/usr/local/openssh
# cp -pcontrib/redhat/sshd.init /etc/init.d/sshd(redhat)
# cp –pcontrib/suse/rc.sshd /etc/init.d/sshd(suse)
//其他版本操作系统具体查看contrib对应目录和readme。
# chmod+x /etc/init.d/sshd
# chkconfig--add sshd
# cpsshd_config /etc/ssh/sshd_config (如提示覆盖,yes回车)
# cp sshd/usr/sbin/sshd
# cp –p ssh /usr/bin/ssh
#service sshd start ----
启动SSH服务
#ssh –V ----查看当前版本