Linux SysOpsにおけるSSHのベストプラクティスガイド
SSH の Linux SysOps におけるベストプラクティスのガイド:1. SSH キーでのログイン:パスワードではなく SSH キーで認証することで、セキュリティを向上できます。公開鍵と秘密鍵のペアを生成し、公開鍵をターゲットサーバーの `~/.ssh/authorized_keys` ファイルに追加します。2. root ユーザーのログイン無効化:root ユーザーの直接ログインを無効にすることで、root パスワードを推測しようとする攻撃者を阻止できます。`PermitRootLogin no` を設定して root ユーザーのログインを無効にします。3. 非標準ポートの使用:SSH サービスがリッスンするポートを非標準ポートに変更することで、インターネットへの露呈を減らします。`/etc/ssh/sshd_config` ファイルの `Port` オプションを変更して SSH ポートを変更します。4. ログイン試行回数制限の追加:SSH ログイン試行回数制限(例:`MaxAuthTries 3` の設定)を追加することで、総当たり攻撃を防ぎます。5. ファイアウォールの有効化:ファイアウォールを使用して SSH サービスへのアクセスを制限します。信頼できる IP アドレスからの SSH 接続のみを許可します。6. TCP ラッパーの使用:TCP ラッパーを使用して、SSH サービスへのアクセスをさらに制限します。`/etc/hosts.allow` ファイルと `/etc/hosts.deny` ファイルを編集して、アクセスを許可または拒否するルールを設定します。7. 定期的な SSH キーの交換:定期的に SSH キーを交換することで、キーの盗難リスクを軽減できます。3〜6 か月ごとに新しいキーペアを生成することを推奨します。8. SSH プロトコルバージョン 1 の無効化:SSH プロトコルバージョン 1 にはセキュリティの脆弱性があるため、無効にする必要があります。`Protocol 2` を設定して、SSH プロトコルバージョン 2 のみを許可します。9. 強力なパスワードとキーパスフレーズの使用:SSH キーとユーザーパスワードに強力なパスワードとキーパスフレーズを使用することで、セキュリティを向上できます。一般的なパスワードや簡単なパスフレーズの使用を避けます。10. SSH ログの定期的な確認:SSH ログを定期的に確認することで、異常なログイン試行や潜在的なセキュリティの問題を早期に検出できます。fail2ban などのツールを使用して悪意のある IP アドレスを自動的にブロックします。このガイドは一般的な推奨事項であり、実際の環境や要件に応じて実装を調整する必要があることに注意してください。