这周,客户的安全扫描平台出了份漏洞检测报告,其中有个OpenSSH版本过低导致的漏洞,二话不说,升级OpenSSH就完了!
内网环境,需要下载相关离线包:
用到的文件,其中gcc是一个gcc安装的rpm目录:
gcc目录内容,其中pcre应该可以不用下载:
安装步骤:
gcc安装:
cd gcc/
rpm -Uvh *.rpm --nodeps --force
zlib安装:
cd zlib-1.2.13
./configure --prefix=/usr/local/zlib
make && make install
perl安装:
cd perl-5.36.1
./Configure -des -Dprefix=$HOME/localperl
make
make install
openssl安装:
cd openssl-3.1.1
./config --prefix=/usr/local/ssl -d shared
make && make install
echo '/usr/local/ssl/lib' >> /etc/ld.so.conf
ldconfig -v
mv /usr/bin/openssl /usr/bin/openssl.old
ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/ssl/lib64/libssl.so.3 /usr/lib64/libssl.so.3
ln -s /usr/local/ssl/lib64/libcrypto.so.3 /usr/lib64/libcrypto.so.3
openssl version
openssh安装:
cd /home/tool/openssh-9.3p1
./configure --prefix=/usr/local/openssh --with-zlib=/usr/local/zlib --with-ssl-dir=/usr/local/ssl
make && make install
mv /usr/sbin/sshd /usr/sbin/sshd.bak
mv /usr/bin/ssh /usr/bin/ssh.bak
mv /usr/bin/ssh-keygen /usr/bin/ssh-keygen.bak
mv /etc/ssh /etc/ssh.bak
cp /usr/local/openssh/sbin/sshd /usr/sbin/
cp /usr/local/openssh/bin/ssh /usr/bin/
cp /usr/local/openssh/bin/ssh-keygen /usr/bin/
ln -s /usr/local/openssh/etc /etc/ssh
openssh配置:
echo 'PermitRootLogin yes' >>/usr/local/openssh/etc/sshd_config
echo 'PasswordAuthentication yes' >>/usr/local/openssh/etc/sshd_config
cp /home/tool/openssh-9.3p1/contrib/redhat/sshd.init /etc/init.d/sshd
mkdir -p /etc/ssh_bak
mv /usr/lib/systemd/system/sshd.service /etc/ssh_bak/
重新启动sshd服务
systemctl daemon-reload
systemctl restart sshd