フロントエンド/デザイナー向け OpenSSH セキュリティアップデート CVE-2024-6387 対応

2024/07/04に公開

2024/7/4現在

  • フロントエンド/デザイナー起点で結局何をすれば良いか、全体概要も含めてまとめてみました
  • 全容は把握していませんが、シンプルに開発環境の OpenSSH のアップデートを実施する方針のケースです
  • 今回は特にローカルの Mac、Win で Ubuntu を使っている作業者がメイン対象です
    • 個人的には WSL2 環境のアップデートが必要でした
  • サーバーまわりは専門知識のあるエンジニアに相談しましょう
  • ローカル環境のアップデートが必須かどうかは定かでは無いですが、アップデートした方がより良いと思います
  • OpenSSH 自体使っていなければ必要無いかもしれません

1. 背景

2024 年 7 月 1 日、OpenSSH において重大なセキュリティ脆弱性(CVE-2024-6387)が発見されました。この脆弱性は、OpenSSH 8.5p1 以降のバージョンに影響を与え、認証されていないリモート攻撃者が特定の条件下でシステムにアクセスできる可能性があります。

脆弱性の概要

  • CVE ID: CVE-2024-6387
  • 影響を受けるバージョン: OpenSSH 8.5p1 以降
  • 深刻度: 高 (CVSS v3.1 スコア: 8.1)
  • 問題の種類: シグナル処理におけるレースコンディション

この脆弱性は、2006 年に修正された類似の問題(CVE-2006-5051)の再発です。攻撃者は、設定された時間内に認証に失敗することで、この脆弱性を悪用する可能性があります。

2. 影響を受けるシステム

  • macOS
  • Windows(WSL2 を含む)
  • Linux(Ubuntu、Red Hat、CentOS 等)

3. 各 OS 別の対応方法

OpenSSH 自体使っていなければ必要無いと思います

3.1 macOS

  1. バージョン確認:

    ssh -V
    
  2. Homebrew を使用している場合:

    brew update
    brew upgrade openssh
    
  3. システムの OpenSSH を使用している場合:

    softwareupdate --all --install --force
    
  4. 設定ファイルの修正:

    sudo nano(or vi) /etc/ssh/sshd_config
    

    以下の行を追加または修正:

    LoginGraceTime 0
    
  5. SSH サービスの再起動:

    sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist
    sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist
    

3.2 Windows (WSL2 Ubuntu)

  1. バージョン確認:

    ssh -V
    
  2. システム更新:

    sudo apt update
    sudo apt upgrade openssh-server
    
  3. 設定ファイルの修正:

    sudo nano /etc/ssh/sshd_config
    

    以下の行を追加または修正:

    LoginGraceTime 0
    
  4. SSH サービスの再起動:

    sudo service ssh restart
    

3.3 Ubuntu (ネイティブ)

  1. バージョン確認:

    ssh -V
    
  2. システム更新:

    sudo apt update
    sudo apt upgrade openssh-server
    
  3. 設定ファイルの修正:

    sudo nano /etc/ssh/sshd_config
    

    以下の行を追加または修正:

    LoginGraceTime 0
    
  4. SSH サービスの再起動:

    sudo systemctl restart sshd
    

4. 追加のセキュリティ対策

  1. 強力なパスワードポリシーの実施
  2. 公開鍵認証の使用
  3. root ログインの無効化
  4. ファイアウォールの適切な設定
  5. 失敗したログイン試行の制限(fail2ban など)

5. 継続的なセキュリティ管理

  • セキュリティアドバイザリーの定期的なチェック
  • システムの自動更新の設定(可能な場合)
  • ログの定期的な確認
  • インシデント対応計画の定期的な見直しと更新

6. 注意点

  • LoginGraceTime 0の設定は、DoS 攻撃のリスクを増加させる可能性があります。環境に応じて適切な値を設定してください。
  • 更新後も、システムの全体的なセキュリティを継続的に評価し、改善することが重要です。
  • チーム内でこの脆弱性と対策について周知し、必要に応じてトレーニングを実施してください。

7. 参考リンク

このガイドを参考に、速やかにシステムのセキュリティアップデートを実施してください。セキュリティは継続的なプロセスであり、常に最新の脅威に対して警戒を怠らないようにしましょう。


LoginGraceTime の説明

LoginGraceTime とは

LoginGraceTime は SSH サーバー(sshd)の設定パラメータの一つで、ユーザーがログインを完了するまでの制限時間を指定します。

設定の形式

LoginGraceTime [時間]
  • 時間は秒単位で指定します。
  • 0 を指定すると、制限時間なしを意味します。

LoginGraceTime 0 の意味

LoginGraceTime 0 と設定すると:

  1. 意味:ログイン処理の制限時間がなくなります。
  2. 効果:ユーザーは認証を完了するまで無制限の時間を持つことになります。

この設定が推奨される理由(CVE-2024-6387 との関連)

  1. 脆弱性の回避:

    • CVE-2024-6387 は、ログイン処理中の特定のタイミングで発生する可能性があります。
    • 制限時間をなくすことで、この脆弱性が悪用される可能性を減らします。
  2. セキュリティとの関係:

    • 通常、短いログイン制限時間はセキュリティ上好ましいとされます。
    • しかし、この特定の脆弱性に対しては、制限時間をなくすことが防御策となります。

注意点

  1. DoS(サービス拒否)攻撃のリスク:

    • この設定により、悪意のある接続が長時間維持される可能性が増加します。
    • サーバーリソースの消費につながる可能性があります。
  2. 代替設定:

    • 完全に 0 にせず、非常に長い時間(例:3600 秒 = 1 時間)を設定することも考えられます。
  3. 一時的な対策:

    • この設定は CVE-2024-6387 に対する一時的な対策であり、恒久的な解決策ではありません。
  4. 他のセキュリティ対策との併用:

    • ファイアウォール設定、接続制限、強力な認証方法など、他のセキュリティ対策と組み合わせて使用することが重要です。

推奨アクション

  1. OpenSSH を最新バージョンに更新する。
  2. 一時的に LoginGraceTime 0 を設定する。
  3. サーバーの動作を注意深く監視する。
  4. 恒久的な修正がリリースされたら、通常の LoginGraceTime 設定に戻す。

この設定は、CVE-2024-6387 に対する一時的な対策として推奨されていますが、環境やセキュリティ要件に応じて慎重に適用する必要があります。


参照

以下のような更に専門性を持った記事をご参照ください

Discussion