openssh5.3手記7にアップグレード
緑盟掃出centos 6はopensshを持参して大量の高危険な抜け穴が存在し、以下のアップグレード手記があり、再掃く際に抜け穴がなくなった.
centos 6 64ビットホストでテストに合格
アップグレード前のバージョン
openssl-1.0.1e-48.el6_8.1.x86_64
openssh-5.3p1-118.1.el6_8.x86_64
アップグレード後のバージョン
OpenSSL 1.0.2j
OpenSSH 7.3p1
インストールを最小化してすぐにアップグレードする場合は、ベースのものをインストールしたりupdateしたりしなければなりません.そうしないと、後でアップグレードすると問題が発生する可能性があります.
最初のステップは、まず公式サイトに行って、この2つのパッケージを/tmpディレクトリの下にダウンロードします.
gccを取り付ける
アップグレードプロセスが予期せぬsshセッションを切断しないか、telnetサービスを開始するかを確認します.
telnetログインサーバを交換して後続のコマンドを実行します
古いopensslとopensshを削除
Opensslのインストール
Opensshのインストール
インストール完了
以下の参考文に感謝します.
http://www.cnblogs.com/jyzhao/p/5817199.html
http://www.linuxfromscratch.org/blfs/view/svn/postlfs/openssh.html
http://www.linuxfromscratch.org/blfs/view/svn/postlfs/openssl.html
centos 6 64ビットホストでテストに合格
アップグレード前のバージョン
openssl-1.0.1e-48.el6_8.1.x86_64
openssh-5.3p1-118.1.el6_8.x86_64
アップグレード後のバージョン
OpenSSL 1.0.2j
OpenSSH 7.3p1
インストールを最小化してすぐにアップグレードする場合は、ベースのものをインストールしたりupdateしたりしなければなりません.そうしないと、後でアップグレードすると問題が発生する可能性があります.
yum -y install wget openssh-clients openssl-devel
最初のステップは、まず公式サイトに行って、この2つのパッケージを/tmpディレクトリの下にダウンロードします.
wget http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-7.3p1.tar.gz
wget https://openssl.org/source/openssl-1.0.2j.tar.gz
gccを取り付ける
yum install gcc
アップグレードプロセスが予期せぬsshセッションを切断しないか、telnetサービスを開始するかを確認します.
yum install telnet-server xinetd
sed -i '/disable/s/yes/no/g' /etc/xinetd.d/telnet
service xinetd restart
telnetログインサーバを交換して後続のコマンドを実行します
# ssh ssh
cp -raf /etc/ssh /etc/ssh.old
cp -raf /etc/init.d/sshd /etc/init.d/sshd.old
cp -raf /root/.ssh/ /root/.ssh.old
r_list=`cat /etc/passwd | awk -F ":" '{if($3>=500) print $6}'`
for i in $r_list;do
cp -raf $i/.ssh/ $i/.ssh.old
done
古いopensslとopensshを削除
rpm -qa | grep openssh | xargs rpm -e --nodeps
rpm -qa | grep openssl | xargs rpm -e --nodeps
Opensslのインストール
tar zxf openssl-1.0.2j.tar.gz
cd openssl-1.0.2j
./config --prefix=/usr \
--openssldir=/etc/ssl \
--libdir=lib \
--shared \
zlib-dynamic
make depend && make
make MANDIR=/usr/share/man MANSUFFIX=ssl install &&
install -dv -m755 /usr/share/doc/openssl-1.0.2j &&
cp -vfr doc/* /usr/share/doc/openssl-1.0.2j
ln -s /usr/lib/libcrypto.so.1.0.0 /usr/lib64/libcrypto.so.10
ln -s /usr/lib/libssl.so.1.0.0 /usr/lib64/libssl.so.10
ln -s /usr/lib/libcrypto.so.1.0.0 /usr/lib/libcrypto.so.10
ln -s /usr/lib/libssl.so.1.0.0 /usr/lib/libssl.so.10
openssl version
# , OpenSSL 1.0.2j 26 Sep 2016
Opensshのインストール
cd /tmp/
tar zxf openssh-7.3p1.tar.gz
cd openssh-7.3p1
#
sed -i '/SSH_VERSION/s/OpenSSH_7.3/Goodbye/g' version.h
sed -i '/SSH_PORTABLE/s/p1/./g' version.h
echo "/usr/include/openssl/">>/etc/ld.so.conf
ldconfig
./configure --prefix=/usr \
--sysconfdir=/etc/ssh \
--with-md5-passwords \
--with-ssl-dir=/etc/ssl/ \
--with-privsep-path=/var/empty/sshd
make
make install &&
install -v -m755 contrib/ssh-copy-id /usr/bin &&
install -v -m644 contrib/ssh-copy-id.1 \
/usr/share/man/man1 &&
install -v -m755 -d /usr/share/doc/openssh-7.3p1 &&
install -v -m644 INSTALL LICENCE OVERVIEW README* \
/usr/share/doc/openssh-7.3p1
cp -raf /etc/init.d/sshd.old /etc/init.d/sshd
mv /etc/ssh/sshd_config /etc/ssh/sshd_config.new
cp -raf /etc/ssh.old/sshd_config /etc/ssh/sshd_config
sed -i 's/GSSAPI/#GSSAPI/g' /etc/ssh/sshd_config
sed -i 's/UsePAM/#UsePAM/g' /etc/ssh/sshd_config
service sshd restart
インストール完了
以下の参考文に感謝します.
http://www.cnblogs.com/jyzhao/p/5817199.html
http://www.linuxfromscratch.org/blfs/view/svn/postlfs/openssh.html
http://www.linuxfromscratch.org/blfs/view/svn/postlfs/openssl.html