存在open SSH注入安全漏洞怎么办?
如题,当然是升级open SSH了。
这个是linux系统漏洞,如果是购买了阿里云,腾讯云,华为云,百度云,政务云等主机安全服务的,都有修复漏洞的功能,如果没有就只能手动升级。
升级前做好镜像,备份等,避免搞瘫。。
环境:centos
输入命令查看当前的ssh版本
ssh -V
输入命令查看当前ssh运行目录
find / -name sshd.pid
我这得到的结果/run/sshd.pid,保存下来,后面会用到。
因为升级ssh要先卸载再安装,所以最好安装Telnet,避免安装出错导致无法远程服务器。
yum install telnet-server #安装Telnet
systemctl enable telnet.socket
systemctl start telnet.socket
cat /etc/securetty
vim /etc/securetty#修改使得root用户可以直接登录
systemctl restart xinetd.service
升级openssh最好先备份一下,我这没备份,备份教程网上找。
下载最新版本的openssh
yum install -y gcc openssl-devel pam-devel rpm-build
wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.4p1.tar.gz
tar -zxvf openssh-8.4p1.tar.gz#解压
ssh -V #查看版本
cd openssh-7.4pl
cd openssh-8.4p1#切换到新版本目录
./configure --prefix=/usr --sysconfdir=/etc/ssh --with-pam --with-zlib --with-md5-passwords --with-tcp-wrappers #编译安装 OpenSSH
make && make install #编译安装 OpenSSH
ssh -V #查看版本
rm -f /etc/ssh/ssh_host_*
vim /usr/local/etc/sshd_config #配置openssh,添加PermitRootLogin yes
/etc/init.d/sshd stop #停止ssh,注意此时断开ssh远程,将无法远程
/etc/init.d/sshd start #启动ssh
我这启动失败
sshd -t #查看报错原因
systemctl status sshd.service #查看状态
semanage port -l | grep ssh #查询当前 ssh 服务端口
/etc/init.d/sshd start
journalctl -xe #查看系统日志
netstat -nultp|grep 22 #查看22端口和服务
ps -A| grep sshd #查看包含sshd的行
cp ./contrib/redhat/sshd.init /etc/init.d/sshd
cp -a contrib/redhat/sshd.pam /etc/pam.d/sshd.pam
mv /usr/lib/systemd/system/sshd.service /usr/lib/systemd/system/sshd.service_bak
systemctl daemon-reload
systemctl restart sshd
systemctl status sshd
sshd -t
chmod 600 /etc/ssh/ssh_host_rsa_key #配置权限
chmod 600 /etc/ssh/ssh_host_ecdsa_key #配置权限
service sshd star
/etc/init.d/sshd start #启动完成