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

MaxAuthTriesとは?

MaxAuthTriesの仕組みを理解してSSHのセキュリティを強化しよう

SSHサーバはインターネット上で最も攻撃対象になりやすいサービスの一つです。

特にパスワード認証を有効にしている環境では、総当たり攻撃(ブルートフォース攻撃)や辞書攻撃が日常的に行われています。

このような攻撃への対策として利用できる設定の一つがMaxAuthTriesです。

MaxAuthTriesはSSH認証の失敗回数を制限する機能であり、不正ログイン対策として広く利用されています。

本記事ではMaxAuthTriesの役割や設定方法、実務での推奨値について詳しく解説します。

MaxAuthTriesとは

MaxAuthTriesはSSH接続時に許可する認証失敗回数を制御する設定です。

指定した回数以上の認証失敗が発生すると、SSHサーバは接続を強制的に切断します。

例えば以下のような設定です。

MaxAuthTries 3

この場合、3回認証に失敗すると接続が切断されます。

なぜ必要なのか

SSHサーバは常に攻撃対象になっています。

攻撃者は以下のような方法で侵入を試みます。

  • 総当たり攻撃
  • 辞書攻撃
  • 漏洩パスワード攻撃
  • 自動化ツールによる認証試行

認証回数を制限することで攻撃効率を下げることができます。

デフォルト値

OpenSSHのデフォルト値は環境によって異なりますが、一般的には以下です。

MaxAuthTries 6

6回失敗すると切断されます。

比較的余裕のある設定になっています。

設定ファイルの場所

設定はSSHサーバ設定ファイルで行います。

/etc/ssh/sshd_config

Linux管理者が頻繁に編集する設定ファイルです。

現在の設定を確認する

設定確認例です。

# grep MaxAuthTries /etc/ssh/sshd_config

設定がなければデフォルト値が利用されます。

設定例

一般的な設定例です。

MaxAuthTries 3

3回失敗で切断されます。

比較的厳しい設定です。

より厳しい設定例

MaxAuthTries 2

2回失敗で切断されます。

セキュリティ重視の環境で利用されます。

設定反映方法

編集後は構文チェックを行います。

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との違い

混同されやすい設定です。

項目MaxAuthTriesFail2ban
対象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の仕組みを理解して適切に設定しましょう。