赞
踩
最近的护网行动,被查出来了好几个关于OpenSSH 的漏洞。这是因为服务器系统安装后,直接使用了系统自带版本的OpenSSH ,此版本已经很老了,存在很多高低危漏洞。
系统信息如下:
centos: 7
openssh: 1.0.1
安装OpenSSH :9.4p1 需要最少 OpenSSL :1.1.1 以上,因此请先查看文章OpenSSL升级
yum -y install xinetd telnet-server
默认情况下,系统是不允许root用户telnet远程登录的。如果要使用root用户直接登录,需设置如下内容。或者可以添加一个可以登录的用户,登录并su到root用户(建议采用此方法,保证系统安全)。此步骤可跳过!
允许root用户通过telnet登陆:
编辑/etc/pam.d/login,注释掉下面这行
vi /etc/pam.d/login
#把auth的限制去掉
auth [user_unknown=ignore success=ok ignore=ignore default=bad] pam_securetty.so
开启root用户远程登陆。此步骤可跳过!
vi /etc/pam.d/remote
auth required pam_securetty.so
systemctl restart telnet.socket
systemctl restart xinetd
firewall-cmd --zone=public --add-port=23/tcp --permanent
#检查是否关闭:
getenforce
#如果未关闭,关闭之
setenforce 0
上面只是临时关闭了,重启后不生效。下面改配置文件,使永久生效。
vi /etc/selinux/config
#修改:
SELINUX=disabled
#保存退出。
yum -y install gcc make perl zlib zlib-devel pam pam-devel
# 安装完毕后执行下面命令,确保所有依赖包正常安装
rpm -qa | egrep "gcc|make|perl|zlib|zlib-devel|pam|pam-devel"
#停止ssh服务 systemctl stop sshd #备份ssh配置文件 cp -r /etc/ssh /etc/ssh.old # 查看系统原有openssh包 rpm -qa | grep openssh #删除旧版本 rpm -e --nodeps `rpm -qa | grep openssh` #解压新版本 tar -zxvf openssh-9.4p1.tar.gz cd openssh-9.4p1 # 编译配置 这里请注意--with-ssl-dir 是你openssl安装的目录 ./configure --prefix=/usr --sysconfdir=/etc/ssh --with-md5-passwords --with-pam --with-zlib --with-tcp-wrappers --with-ssl-dir=/usr/local/ssl --without-hardening #编译安装 make && make install #调整文件权限 chmod 600 /etc/ssh/ssh_host_rsa_key /etc/ssh/ssh_host_ecdsa_key /etc/ssh/ssh_host_ed25519_key #复制配置文件 cp -a contrib/redhat/sshd.init /etc/init.d/sshd chmod u+x /etc/init.d/sshd #还原 原配置文件 mv ../sshd.backup /etc/pam.d/sshd mv ../sshd_config.backup /etc/ssh/sshd_config #添加自启动 chkconfig --add sshd chkconfig sshd on #重启服务 systemctl restart sshd # 查看版本, 验证结果 - 显示9.4p1即成功 ssh -V
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。