記事ディレクトリ
Opensshのアップグレード方法
シーン紹介:
プロジェクト チームの Linux サーバーは NSFOCUS によってスキャンされ、openssh バージョン 5.3 に脆弱性があることが判明したため、バージョン 7.5 にアップグレードする必要があります。アップグレード プロセスは次のとおりです。
1. openssh をインストールして、アップグレードされていないバージョンをシミュレートします
使用: https://www.openssl.org/source/openssl-1.1.1h.tar.gz を使用して、アップグレードされていないバージョンのバージョン 1.1.1 をダウンロードします。
openssl-1.1.1h.tar.gz を opt ディレクトリにドラッグします
#解压
tar zxvf openssl-1.1.1h.tar.gz
#编译安装
cd openssl-1.1.1h/
#创建openssl目录
mkdir /usr/local/openssl
./config --prefix=/usr/local/openssl
make && make install
#查看安装文件
which openssl
/usr/bin/openssl
#安装openssh
yum install openssh-server -y
2. 現在の SSH サービスのバージョンを表示します。
#查看现有版本
ssh -V
OpenSSH_7.4p1, OpenSSL 1.0.2k-fips 26 Jan 2017
以前にインストールされたパッケージを検出します (openssl と openssh を更新する必要があります。openssh は openssl に依存します)。
rpm -qa | grep openssl
xmlsec1-openssl-1.2.20-5.el7.x86_64
openssl-1.0.2k-8.el7.x86_64
openssl-libs-1.0.2k-8.el7.x86_64
rpm -qa | grep openssh
openssh-7.4p1-22.el7_9.x86_64
openssh-server-7.4p1-22.el7_9.x86_64
openssh-clients-7.4p1-22.el7_9.x86_64
3. Telnet を起動し、rzsz ツールをインストールし、openssh のアンインストールによるホストへのログインの失敗を防ぐための共通アカウントを作成します。
yum install telnet telnet-server -y
yum install lrzsz -y
useradd beiqing
passwd beiqing
4. openssh の rpm インストール パッケージをアンインストールします (注: ここでは ssl インストール パッケージはアンインストールされません)。
rpm -e rpm -qa | grep openssh
5. openssh をアップグレードする
1.ソースコードからopensshをインストールする
公式 Web サイトから https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/ をダウンロードします
openssh-7.5p1.tar.gz インストール パッケージを opt にドラッグしました
#解压安装包
tar zxvf openssh-7.5p1.tar.gz
2.ソースコードからopensshをインストールする
cd openssh-7.5p1/
./configure --prefix=/usr/local/openssh --sysconfdir=/etc/ssh --with-pam --with-ssl-dir=/usr/local/openssl --with-md5-passwords --mandir=/usr/share/man --with-zlib=/usr/local/zlib
ここでは、実行の最後にエラーが報告されることがよくあります。たとえば、openssl-devel などのさまざまな rpm パッケージがインストールされておらず、インストール パッケージ間に相互依存関係や競合があります。これらを順番にインストールできます。主なことは、次の rpm パッケージがインストールされているかどうかを確認することです。
keyutils-libs-devel-1.4-4.el6.x86_64.rpm
krb5-devel-1.10.3-10.el6_4.6.x86_64.rpm
libcom_err-devel-1.41.12-18.el6.x86_64.rpm
libselinux-devel-2.0.94-5.3.el6_4.1.x86_64.rpm
libsepol-devel-2.0.41-4.el6.x86_64.rpm
openssl-1.0.1e-15.el6.x86_64.rpm
パム開発
openssl-devel-1.0.1e-15.el6.x86_64.rpm
pkgconfig-0.23-9.1.el6.x86_64.rpm
vsftpd-3.0.2-9.el7.x86_64.rpm
zlib-devel-1.2.3-29.el6.x86_64.rpm
yum install keyutils-libs rpm-build -y
yum install krb5-devel
yum install libcom_err-devel.i686 -y
yum -y install libselinux-devel.i686
yum -y install pam-devel.x86_64
yum -y install openssl-devel.x86_64
yum -y install pkgconfig.i686
yum -y install vsftpd.x86_64
yum -y install zlib-devel.i686
#rpm安装完整后,再重新编译
cd openssh-7.5p1/
./configure --prefix=/usr/local/openssh --sysconfdir=/etc/ssh --with-pam --with-ssl-dir=/usr/local/openssl --with-md5-passwords --mandir=/usr/share/man --with-zlib=/usr/local/zlib
openssl エラーレポートが見つからない場合は、それをインストールしてください
yum install openssl-devel.i686
make && make install
3. 関連する構成ファイルを変更します。
#备注:此处contrib路径为解压后的安装包路径,比如:/opt/openssh-7.5p1/contrib
cp -p /opt/openssh-7.5p1/contrib/redhat/sshd.init /etc/init.d/sshd
#给用户增加执行权限
chmod u+x /etc/init.d/sshd
vim /etc/ssh/sshd_config
#把文件中的下列内容修改为下列状态:
#UsePAM no
PasswordAuthentication yes
PermitEmptyPasswords no
HostbasedAuthentication no
IgnoreRhosts yes
PermitRootLogin no
#把sshd添加到系统服务中
chkconfig --add sshd
#添加到可执行文件
cp /usr/local/sbin/sshd /usr/sbin/sshd
#启动sshd服务
systemctl restart sshd
4. sshdサービスのバージョンを再度確認する
ssh -V
OpenSSH_7.5p1, OpenSSL 1.0.2k-fips 26 Jan 2017
sshd
#添加到可执行文件
cp /usr/local/sbin/sshd /usr/sbin/sshd
#启动sshd服务
systemctl restart sshd
4. sshdサービスのバージョンを再度確認する
ssh -V
OpenSSH_7.5p1, OpenSSL 1.0.2k-fips 26 Jan 2017