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

# OpenSSH セキュリティアップデート CVE-2024-6387 対応

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. バージョン確認:

   ```bash
   ssh -V
   ```

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

   ```bash
   brew update
   brew upgrade openssh
   ```

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

   ```bash
   softwareupdate --all --install --force
   ```

4. 設定ファイルの修正:

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

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

   ```
   LoginGraceTime 0
   ```

5. SSH サービスの再起動:
   ```bash
   sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist
   sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist
   ```

### 3.2 Windows (WSL2 Ubuntu)

1. バージョン確認:

   ```bash
   ssh -V
   ```

2. システム更新:

   ```bash
   sudo apt update
   sudo apt upgrade openssh-server
   ```

3. 設定ファイルの修正:

   ```bash
   sudo nano /etc/ssh/sshd_config
   ```

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

   ```
   LoginGraceTime 0
   ```

4. SSH サービスの再起動:
   ```bash
   sudo service ssh restart
   ```

### 3.3 Ubuntu (ネイティブ)

1. バージョン確認:

   ```bash
   ssh -V
   ```

2. システム更新:

   ```bash
   sudo apt update
   sudo apt upgrade openssh-server
   ```

3. 設定ファイルの修正:

   ```bash
   sudo nano /etc/ssh/sshd_config
   ```

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

   ```
   LoginGraceTime 0
   ```

4. SSH サービスの再起動:
   ```bash
   sudo systemctl restart sshd
   ```

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

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

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

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

## 6. 注意点

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

## 7. 参考リンク

- [OpenSSH Security Advisory: CVE-2024-6387](https://www.openssh.com/txt/release-9.8)
- [National Vulnerability Database: CVE-2024-6387](https://nvd.nist.gov/vuln/detail/CVE-2024-6387)
- [Ubuntu Security Notice USN-6859-1](https://ubuntu.com/security/notices/USN-6859-1)

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

---

## 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 に対する一時的な対策として推奨されていますが、環境やセキュリティ要件に応じて慎重に適用する必要があります。

---

## 参照

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

- [OpenSSH の脆弱性 CVE-2024-6387 についてまとめてみた - piyolog](https://piyolog.hatenadiary.jp/entry/2024/07/02/032122)
- [OpenSSH に重大な脆弱性 ～ リモートで root 権限でのコードが実行される脆弱性 - Nishiki-Hub](https://nishikiout.net/entry/2024/07/02/002845#Ubuntu)
- [OpenSSH に重大な脅威となる脆弱性「regreSSHion」(CVE-2024-6387)が発覚、ほぼすべての Linux システムに影響 - GIGAZINE](https://gigazine.net/news/20240702-regresshion-cve-2024-6387/)
- [【重要】OpenSSH に含まれる脆弱性（CVE-2024-6387）について \| さくらインターネット](https://www.sakura.ad.jp/corporate/information/announcements/2024/07/03/1968216261/)
- [【緊急】OpenSSH の脆弱性について](https://zenn.dev/cloud_ace/articles/cve_2024-040)
- [「OpenSSH」にルート権限で認証なしに任意のコードが実行される致命的な脆弱性 - 窓の杜](https://forest.watch.impress.co.jp/docs/news/1604882.html)
- [Security bulletins  \|  Compute Engine Documentation  \|  Google Cloud](https://cloud.google.com/compute/docs/security-bulletins?hl=en#gcp-2024-040)