CentOS的Ssh漏洞修复

官方网站下载最新版
http://www.zlib.net/
https://www.openssl.org/source/
http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/

CentOS

  • 查看版本
openssl version

ssh -V
sshd -V

cat /etc/os-release
  • 升级zlib
cd ./zlib-1.3
./configure --prefix=/usr/local/zlib
make && make install
echo '/usr/local/zlib/lib' >> /etc/ld.so.conf  
ldconfig -v
yum -y install gcc
yum -y install gcc-c++

升级openssl

cd openssl-1.1.1w
./config --prefix=/usr/local/ssl -d shared
make
make install   
echo '/usr/local/ssl/lib' >> /etc/ld.so.conf
ldconfig -v
  • 升级openSSH
cd openssh-9.5p1
./configure --prefix=/usr/local/openssh --with-zlib=/usr/local/zlib --with-ssl-dir=/usr/local/ssl --without-openssl-header-check
make
make install
  • 配置ssh
echo 'PermitRootLogin yes' >>/usr/local/openssh/etc/sshd_config
echo 'PubkeyAuthentication yes' >>/usr/local/openssh/etc/sshd_config
echo 'PasswordAuthentication yes' >>/usr/local/openssh/etc/sshd_config
mv -f /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
cp -f /usr/local/openssh/etc/sshd_config /etc/ssh/sshd_config
mv -f /usr/sbin/sshd /usr/sbin/sshd.bak
cp -f  /usr/local/openssh/sbin/sshd /usr/sbin/sshd
mv -f /usr/bin/ssh /usr/bin/ssh.bak
cp -f  /usr/local/openssh/bin/ssh /usr/bin/ssh
mv -f /usr/bin/ssh-keygen /usr/bin/ssh-keygen.bak
cp -f /usr/local/openssh/bin/ssh-keygen /usr/bin/ssh-keygen
mv -f /etc/ssh/ssh_host_ecdsa_key.pub /etc/ssh/ssh_host_ecdsa_key.pub.bak
cp -f /usr/local/openssh/etc/ssh_host_ecdsa_key.pub /etc/ssh/ssh_host_ecdsa_key.pub
cp -f contrib/redhat/sshd.init /etc/init.d/sshd
chmod +x /etc/init.d/sshd
chkconfig --add sshd
chkconfig sshd on
chmod 600 /etc/ssh/ssh_host_rsa_key
chmod 600 /etc/ssh/ssh_host_ecdsa_key
chown -R root.root /var/empty/sshd
chmod 744 /var/empty/sshd
rm -f /usr/lib/systemd/system/sshd.service
systemctl enable sshd
systemctl restart sshd  && systemctl status sshd -l && ssh -V
Linux系统下修复OpenSSH漏洞通常有以下几种常见方法: ### 1. 更新OpenSSH软件包 大多数Linux发行版会及时发布包含漏洞修复OpenSSH更新包。可以使用系统自带的包管理工具来更新OpenSSH。 #### Debian或Ubuntu系统 使用`apt`命令进行更新: ```bash sudo apt update sudo apt upgrade openssh-server openssh-client ``` #### Red Hat、CentOS或Fedora系统 使用`yum`(适用于较旧版本)或`dnf`(适用于较新版本)进行更新: 对于CentOS 7及以下版本: ```bash sudo yum update openssh-server openssh-clients ``` 对于CentOS 8、Fedora等使用`dnf`的系统: ```bash sudo dnf update openssh-server openssh-clients ``` ### 2. 手动编译安装最新版本 如果系统的软件源中没有及时更新的OpenSSH版本,或者需要使用最新的开发版本,可以手动编译安装。 #### 步骤如下 - 下载最新版本的OpenSSH源代码:可以从OpenSSH官方网站(https://www.openssh.com/ )下载最新的稳定版本。 ```bash wget https://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-<version>.tar.gz ``` 将`<version>`替换为实际的版本号。 - 解压源代码包: ```bash tar -zxvf openssh-<version>.tar.gz cd openssh-<version> ``` - 配置、编译和安装: ```bash ./configure make sudo make install ``` ### 3. 配置安全策略 除了更新软件本身,还可以通过合理的配置来增强OpenSSH的安全性,避免已知漏洞的利用。 #### 例如 - 限制允许登录的用户:编辑`/etc/ssh/sshd_config`文件,添加或修改以下行: ```plaintext AllowUsers user1 user2 ``` 将`user1`和`user2`替换为允许登录的用户名。 - 禁用不安全的认证方式:在`sshd_config`文件中,禁用不安全的认证方式,如密码认证(如果可能),启用公钥认证: ```plaintext PasswordAuthentication no PubkeyAuthentication yes ``` - 限制访问IP地址:可以使用防火墙(如`iptables`或`firewalld`)来限制只有特定IP地址可以访问SSH服务。 ```bash # 使用iptables允许特定IP地址访问SSH服务 sudo iptables -A INPUT -p tcp -s <ip_address> --dport 22 -j ACCEPT sudo iptables -A INPUT -p tcp --dport 22 -j DROP ``` 将`<ip_address>`替换为允许访问的IP地址。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值