MaxAuthTriesとは?SSH認証失敗回数を制限して不正アクセスを防ぐ設定方法

目次
MaxAuthTriesの仕組みを理解してSSHのセキュリティを強化しよう
SSHサーバはインターネット上で最も攻撃対象になりやすいサービスの一つです。
特にパスワード認証を有効にしている環境では、総当たり攻撃(ブルートフォース攻撃)や辞書攻撃が日常的に行われています。
このような攻撃への対策として利用できる設定の一つがMaxAuthTriesです。
MaxAuthTriesはSSH認証の失敗回数を制限する機能であり、不正ログイン対策として広く利用されています。
本記事ではMaxAuthTriesの役割や設定方法、実務での推奨値について詳しく解説します。
MaxAuthTriesとは
MaxAuthTriesはSSH接続時に許可する認証失敗回数を制御する設定です。
指定した回数以上の認証失敗が発生すると、SSHサーバは接続を強制的に切断します。
例えば以下のような設定です。
MaxAuthTries 3この場合、3回認証に失敗すると接続が切断されます。
なぜ必要なのか
SSHサーバは常に攻撃対象になっています。
攻撃者は以下のような方法で侵入を試みます。
- 総当たり攻撃
- 辞書攻撃
- 漏洩パスワード攻撃
- 自動化ツールによる認証試行
認証回数を制限することで攻撃効率を下げることができます。
デフォルト値
OpenSSHのデフォルト値は環境によって異なりますが、一般的には以下です。
MaxAuthTries 66回失敗すると切断されます。
比較的余裕のある設定になっています。
設定ファイルの場所
設定はSSHサーバ設定ファイルで行います。
/etc/ssh/sshd_configLinux管理者が頻繁に編集する設定ファイルです。
現在の設定を確認する
設定確認例です。
# grep MaxAuthTries /etc/ssh/sshd_config設定がなければデフォルト値が利用されます。
設定例
一般的な設定例です。
MaxAuthTries 33回失敗で切断されます。
比較的厳しい設定です。
より厳しい設定例
MaxAuthTries 22回失敗で切断されます。
セキュリティ重視の環境で利用されます。
設定反映方法
編集後は構文チェックを行います。
sshd -t
問題なければ再起動します。
systemctl restart sshd
状態確認も行いましょう。
systemctl status sshd
認証失敗時の動作
以下のような状況を考えます。
MaxAuthTries 3
ログイン試行です。
- 1回目失敗
- 2回目失敗
- 3回目失敗
- 接続切断
再接続しなければ続行できません。
公開鍵認証との関係
公開鍵認証環境でも影響があります。
例えば大量の鍵をssh-agentへ登録している場合です。
サーバは順番に認証を試行します。
その結果、MaxAuthTriesへ到達することがあります。
Too many authentication failuresエラー
よくあるエラーです。
Received disconnect from server:
Too many authentication failures原因の多くはssh-agentです。
解決方法
利用する鍵を明示します。
$ ssh -i ~/.ssh/id_ed25519 user@server
または以下を利用します。
IdentitiesOnly yes不要な鍵試行を防げます。
ログで確認する
認証失敗はログに記録されます。
# journalctl -u sshd
または
#tail -f /var/log/secure環境によって異なります。
Fail2banとの違い
混同されやすい設定です。
| 項目 | MaxAuthTries | Fail2ban |
|---|---|---|
| 対象 | 1接続 | IPアドレス |
| 動作 | 切断 | 遮断 |
| 目的 | 認証回数制限 | 攻撃元排除 |
併用することで効果が高まります。
実務でよく使われる設定
一般的には以下です。
MaxAuthTries 3
または
MaxAuthTries 4多くの企業環境で利用されています。
厳しすぎる設定の問題
設定を小さくしすぎると運用面で問題が発生します。
- タイプミスで即切断
- 公開鍵認証で失敗しやすい
- サポート問い合わせ増加
セキュリティと利便性のバランスが重要です。
他のセキュリティ設定との組み合わせ
以下との併用が推奨されます。
- PasswordAuthentication no
- PermitRootLogin no
- AllowUsers
- Fail2ban
- MFA
多層防御が重要です。
クラウド環境での活用
AWSやAzureでも利用できます。
公開鍵認証が主流ですが、認証試行回数制限は有効な対策です。
セキュリティ基準の一部として採用されることもあります。
監査対応での利用
企業監査では以下が確認される場合があります。
- 認証回数制限
- アクセス制御
- ログ監査
- 管理者認証
MaxAuthTriesも評価対象になることがあります。
おすすめ設定例
一般的な企業環境では以下が無難です。
MaxAuthTries 3
PasswordAuthentication no
PermitRootLogin noセキュリティと運用性のバランスが取れています。
まとめ
MaxAuthTriesはSSH認証の失敗回数を制限し、不正ログイン攻撃の効率を下げるための重要な設定です。
通常は3~4回程度に設定し、公開鍵認証やFail2banなどと組み合わせて利用します。
ただし設定を厳しくしすぎると運用面で問題が発生するため、環境に応じた調整が必要です。
安全なSSH運用を実現するために、MaxAuthTriesの仕組みを理解して適切に設定しましょう。





