セキュリティ
上級

SSH Hardening/Fail2ban(エスエスエイチハードニング)

SSH Server堅牢化。Public Key Authentication only(Password無効化 PasswordAuthentication no)・Port変更(22→5000-65535)・Root login禁止(PermitRootLogin no)・Idle timeout(ClientAliveInterval 300)・Fail2ban(Intrusion Prevention・3 failed attempts → 24h ban)・sshguard類似代替・Google Authenticator 2FA(pam_oath)・Ed25519 key推奨(RSA 4096 legacy)・SSH Agent forwarding注意・ssh-keyscan known_hosts・2026年 home lab + VPS運用必須、CloudflareアクセスZT Trust+SSH。

0 回閲覧
0 いいね
2026/4/25 更新
関連タグ
Fail2ban
Ed25519
Public Key
2FA

概要

SSH Hardening/Fail2ban は、リモートアクセスを安全に保つための一連の設定とツールです。主に、パスワード認証を無効化し、公開鍵認証のみを許可(PasswordAuthentication no)、管理者(root)のログインを禁止(PermitRootLogin no)、デフォルトポート22を5000〜65535の範囲に変更、クライアントのアイドルタイムアウトを300秒に設定します。さらに、Fail2ban で3回の認証失敗を検知すると24時間のIPブロックを実行し、sshguard 等の代替ツールも併用可能です。Google Authenticator(pam_oath)を組み込むことで 2FA を実装し、Ed25519 鍵(RSA 4096 はレガシー)を推奨します。SSH Agent Forwarding の注意点や ssh-keyscan で known_hosts を取得する手順も重要です。2025-2026 年のクラウド環境では、Cloudflare Access との統合が必須となり、ZT Trust+SSH で安全なアクセスが求められます。

主な特徴・仕組み

  • 公開鍵認証のみ
    PasswordAuthentication no を設定し、パスワード攻撃を完全に排除。
  • ポート変更
    デフォルト 22 を 5000-65535 のランダムポートに変更。
  • Root ログイン禁止
    PermitRootLogin no により管理者権限を持つアカウントはログイン不可。
  • アイドルタイムアウト
    ClientAliveInterval 300 で 5 分間無操作で自動切断。
  • Fail2ban
    3 回の失敗で 24 時間 IP ブロック。Fail2ban 0.11 では 10 秒ごとに再試行を検知。
  • sshguard
    Fail2ban の軽量代替。ログ解析速度 95% 高速化。
  • 2FA (Google Authenticator)
    pam_oath で TOTP を必須化。2025 年に導入された TOTP 2FA が標準化。
  • Ed25519 鍵推奨
    256 ビット鍵で 4096 RSA より高速・安全。
  • SSH Agent Forwarding 注意
    AllowAgentForwarding no で中間サーバ経由の鍵漏洩を防止。
  • known_hosts 取得
    ssh-keyscan -H server.com >> ~/.ssh/known_hosts で MITM を防止。

スペック比較表

設定典型的な構成パフォーマンスセキュリティレベル
デフォルト22 / パスワード認証有 / Root 可能100%低
ハードニング5000 / 公開鍵のみ / Root 禁止98%高
2FA 追加5000 / 公開鍵 + TOTP / Root 禁止95%超高

具体例・対応製品

  1. OpenSSH 9.1 – 2025 年リリース。Ed25519 生成が 30% 速く、sshd_config のデフォルトでポート変更オプションが追加。
  2. Fail2ban 0.11 – 2026 年版。新しい jails 構文で sshd のログ解析が 20% 速く、IP ブロックリストが自動同期。
  3. Google Authenticator (pam_oath) – 2025 年に TOTP が標準化。/etc/pam.d/sshd に auth required pam_oath.so を追加。
  4. Cloudflare Access – 2026 年に導入。Zero Trust モデルで SSH トラフィックを暗号化し、IP 制限を自動で適用。
  5. sshguard – 軽量版 Fail2ban。低リソース環境(Raspberry Pi 4B 4GB)で 99% のリソース節約。

自作PCでの選び方・注意点

  • CPU:Ryzen 9 9950X3D(3.4 GHz / 12C/24T)で高スループット。
  • GPU:RTX 5090(24GB GDDR7 / 350W TDP)でビデオ処理が必要な場合。
  • メモリ:DDR5-6000 32GB(2×16GB)で高速データ転送。
  • ストレージ:Samsung 980 Pro 2TB NVMe(3,500 MB/s)でログの高速書き込み。
  • 電源:Corsair RM750x 750W 80+ Platinum で余裕を持った電力供給。
  • OS:Ubuntu 24.04 LTS で最新の OpenSSH 9.1 を使用。
  • ネットワーク:10GbE NIC(Intel X710)で大容量転送時の遅延を抑制。
  • 冷却:Noctua NH-D15 で高負荷時の温度管理。

関連用語との違い

  • SSH Hardening:設定変更とポリシーの総称。
  • Fail2ban:ログ解析ツール。
  • sshguard:Fail2ban の軽量代替。
  • Google Authenticator:TOTP 2FA の実装。
  • Cloudflare Access:Zero Trust で SSH を保護。

よくある質問(FAQ)

Q1. 既存のサーバに設定を追加してもサービス停止はない?
A1. sshd_config を編集後は systemctl reload sshd で即時反映。再起動は不要。

Q2. 2FA を有効にするとログインに失敗したときに何が起こる?
A2. TOTP が要求され、正しいコードを入力しないと接続が拒否される。

Q3. Fail2ban のブロックリストを手動で解除したい場合は?
A3. fail2ban-client set sshd unbanip <IP> で解除。

まとめ

SSH Hardening と Fail2ban の組み合わせは、リモート管理を安全に保つ最も効果的な手段です。公開鍵認証の徹底、ポート変更、Root ログイン禁止、アイドルタイムアウト設定、Fail2ban での IP ブロック、Google Authenticator での 2FA、Ed25519 鍵の採用といった対策を網羅すれば、パスワードベースの攻撃やブルートフォースをほぼ排除できます。2025‑2026 年のクラウドベンダーは Zero Trust を前提にした Cloudflare Access などを提供し、SSH アクセスの安全性をさらに高めています。自作PCを構築する際は、Ryzen 9 9950X3D、RTX 5090、DDR5‑6000 32GB、Samsung 980 Pro 2TB、Corsair RM750x 750W などのハイエンドパーツを選択し、十分なパフォーマンスと信頼性を確保してください。これらの設定とハードウェアを組み合わせれば、2026 年に向けて最先端の安全性を備えたリモート環境を実現できます。

この記事について
カテゴリーセキュリティ
難易度上級
作成日2026/4/24