Openssh-9.3p2 AlmaLinux8

AlmaLinux8 に セキュリティ的に対応したOpensshのソース(openssh-9.3p2.tar.gz)からのインストール方法

# dnf remove openssh
# wget -c https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.3p2.tar.gz
# tar xvfzp openssh-9.3p2.tar.gz -C /usr/local/src/

# dnf install pam-devel
# cd /usr/local/src/openssh-9.3p2/
# ./configure --with-zlib=/usr/local --with-tcp-wrappers  \
--with-ssl-dir=/usr/local/ssl --with-ssl-engine --with-pam \
--with-md5-passwords --bindir=/usr/bin --sbindir=/usr/sbin \
--libexecdir=/usr/libexec --sysconfdir=/etc/ssh
# make
# chmod 600 /etc/ssh/ssh_host_*_key
# make install
# make clean

# vi /etc/systemd/system/sshd.service
[Unit]
Description = sshd 9.3 p2

[Service]
ExecStart = /usr/sbin/sshd
Restart = always
Type = simple

[Install]
WantedBy = multi-user.target

# systemctl list-unit-files --type=service | grep sshd
# systemctl enable sshd
# systemctl list-unit-files --type=service | grep sshd
# reboot

🔐 OpenSSH 9.3p2 の概要

OpenSSH 9.3p2 は、OpenBSD プロジェクトによって開発されているオープンソースの SSH (Secure Shell) 実装「OpenSSH」のバージョン 9.3 のポータブル版 (portable release 2) を指します。ポータブル版(p2)は、OpenBSD 以外のシステム(Linux、macOS、他のUNIX系)で動作するように調整されたバージョンです。

  • リリース日: 2023年7月19日(OpenSSH 9.3p2)
  • 主な目的: セキュアなリモートログイン、リモートコマンド実行、ファイル転送(scp, sftp)など

🆕 主な変更点・特徴(OpenSSH 9.3p2)

OpenSSH 9.3 自体の主な変更点に加えて、ポータブルリリース(p2)には以下のような点があります:

🔧 セキュリティ関連

  • CVE-2023-38408 の修正
    • このバージョンの最大のポイントは、CVE-2023-38408 に対する セキュリティパッチの適用です。
    • この脆弱性は、ssh-agent を悪用し、攻撃者が任意のコードを実行できる可能性があるものでした。
    • 影響を受けるのは、OpenSSH が FIDO/U2F キーを扱う環境下で、特に ssh-agent のソケットを公開しているような環境。
    • OpenSSH 9.3p2 では、FIDO ライブラリの扱い方を調整し、この脆弱性を回避。

💡 安定性・信頼性の向上

  • FIDO セキュリティキーの使用方法の改善
  • 様々な Linux ディストリビューションやオペレーティングシステムにおけるビルドの互換性向上

🔒 セキュリティ強化オプション

  • ssh-agent で外部ライブラリの読み込みを制限
  • より安全なデフォルト設定

🔍 コンポーネント一覧

OpenSSH は以下のようなツール群を含みます:

コンポーネント説明
sshクライアント:リモートマシンへ接続
sshdサーバ:SSH 接続を受け付ける
scpファイルコピー(rcp ベース)
sftpファイル転送(より安全)
ssh-agent鍵をメモリに保持し、認証時に使用
ssh-addssh-agent に鍵を追加
ssh-keygen鍵ペアの生成・管理
ssh-keyscanリモートホストの鍵を取得
ssh-keysign一部の認証プロセスでの署名補助

🧪 対応OS・依存ライブラリ

  • 対応OS:
    • Linux (多くのディストリビューション)
    • macOS
    • FreeBSD / NetBSD / OpenBSD
    • Solaris など
  • 主な依存:
    • zlib
    • OpenSSL(もしくは LibreSSL)
    • libfido2(FIDO サポート時)
    • PAM(Pluggable Authentication Modules)

🏗️ ビルドとインストール(概要)

bashコピーする編集する./configure
make
sudo make install
  • FIDO を使いたい場合は --with-security-key-builtin などのフラグを指定。