README.ja.md

March 7, 2026 · View on GitHub

ssh-audit-kit

SSH セキュリティ診断・ハードニング・レポートを単一シェルスクリプトで。
スクリプト1つ。コマンド1つ。完全な可視化。

English | 한국어 | 日本語 | Deutsch | Français | Español | Português | Italiano

License Bash Deps Single File


ssh-audit-kit とは?

ssh-audit-kit は SSH 設定、攻撃ログ、防御システム、アルゴリズム強度を分析し、スコア付きレポート(A+ から F)と具体的な改善提案を提供します。準備ができたら、1つのコマンドで自動バックアップとロールバック付きのハードニングを適用できます。

機能

  • sshd 設定分析 -- メイン設定とドロップインファイルを解析し、競合やオーバーライドを検出
  • 攻撃ログ分析 -- 認証失敗回数、上位 IP、試行されたユーザー名、時間パターン(過去7日間)
  • fail2ban ステータス -- jail の稼働状況、禁止 IP、設定内容
  • ssh-audit 連携 -- アルゴリズム強度、脆弱な暗号方式の検出
  • OpenSSH CVE チェック -- CVE-2024-6387 (regreSSHion)、CVE-2023-48795 (Terrapin)
  • セキュリティスコアリング -- 5カテゴリ100点満点、A+ から F のグレード評価
  • 自動ハードニング -- バックアップとロールバック付きの安全なワンコマンドハードニング
  • JSON 出力 -- 自動化のための機械可読レポート

クイックスタート

curl -fsSL https://raw.githubusercontent.com/deep-on/ssh-audit-kit/main/ssh-audit-kit.sh -o ssh-audit-kit
chmod +x ssh-audit-kit

./ssh-audit-kit check          # security checks (read-only)
./ssh-audit-kit report         # scored report
./ssh-audit-kit report --json  # JSON output
sudo ./ssh-audit-kit harden    # apply hardening

レポート例

╔══════════════════════════════════════════════════╗
║           ssh-audit-kit  v1.0.0                  ║
║           SSH Security Report                    ║
╚══════════════════════════════════════════════════╝

System: Ubuntu 22.04 | OpenSSH 8.9p1

── Authentication Security ─────────────── [28/30]
  ✔ PasswordAuthentication no
  ✔ PermitRootLogin no
  ✔ PubkeyAuthentication yes
  ✔ MaxAuthTries 3
  △ KbdInteractiveAuthentication not explicitly set

── Network Security ────────────────────── [20/20]
  ✔ Non-standard port (51022)
  ✔ AllowTcpForwarding no
  ✔ X11Forwarding no
  ✔ Compression no

── Algorithm Strength ──────────────────── [20/20]
  ✔ No weak algorithms detected
  ✔ ssh-audit: 0 fail, 0 warn

── Defense System ──────────────────────── [15/15]
  ✔ fail2ban active (sshd jail enabled)
  ✔ MaxStartups 10:30:100
  ✔ MaxAuthTries 3

── Logging & Monitoring ────────────────── [13/15]
  ✔ LogLevel VERBOSE
  △ No remote logging configured

══════════════════════════════════════════════════
  Score: 96/100    Grade: A+
  "Excellent SSH security configuration"
══════════════════════════════════════════════════

スコアリングシステム

カテゴリ配点チェック内容
認証30鍵認証、root ログイン、空パスワード、アクセス制限
ネットワーク20ポート、フォワーディング、圧縮
アルゴリズム強度20ssh-audit による脆弱な暗号方式/MAC/KEX の検出
防御15fail2ban、MaxStartups、クライアント存在確認設定
ログ15LogLevel、ログのアクセシビリティ、攻撃分析
グレードスコア説明
A+95-100優秀
A85-94強固
B70-84良好、一部改善を推奨
C50-69普通、改善が必要
D30-49脆弱、早急な対応が必要
F0-29危険、緊急対応が必要

ハードニング

ssh-audit-kit harden/etc/ssh/sshd_config.d/hardening.conf に書き込みます(メイン設定は変更しません):

  • パスワード認証、root ログイン、フォワーディング、圧縮を無効化
  • 厳格なセッション制限とクライアント存在確認タイムアウトを設定
  • 適用前に sshd -t で検証
  • 検証失敗時は自動ロールバック
  • 変更前にタイムスタンプ付きバックアップを作成

要件

  • Bash 4.0+
  • OpenSSH サーバー (sshd)
  • 任意: ssh-audit -- アルゴリズム分析用
  • 任意: fail2ban -- 防御ステータス用

対応システム

  • Ubuntu 20.04 / 22.04 / 24.04
  • Debian 11 / 12
  • RHEL / CentOS / Rocky / Alma 8 / 9

ライセンス

MIT