【VPSセキュリティ】コマンド1発で完了!SSHポート変更・UFW・Fail2banを自動設定する7層セキュリティ強化ガイド

【VPS初期設定】コマンド1発で完了!SSH・UFW・Fail2ban自動セキュリティ強化 Webツール・便利機能

新しいVPSを入手した際、アプリのインストールやWebサイト構築よりも最優先で行うべき作業が「セキュリティの堅牢化(Hardening)」です。

デフォルトの22番ポートは常に世界中からボットによるブルートフォース(総当たり)攻撃に晒されており、何の対策もしていない「素のVPS」は短期間で侵入されるリスクがあります。手動で行うと手間がかかる設定作業も、オープンソースツール「vps-security-hardening」を使えば、ローカル環境からコマンド1発で全自動実行できます。

自動化される7層のセキュリティ対策

このスクリプトはリモート接続経由で実行され、以下のセキュリティ設定を自動で適用・検証します。

  1. SSH接続チェックとOSアップデート:ネットワーク応答を確認後、パッケージ更新とセキュリティパッチを適用。
  2. 新規sudoユーザーの作成:管理者権限を持つ一般ユーザーを作成し、root直でのログインを禁止。
  3. SSH鍵認証の必須化とパスワードログイン禁止:パスワード認証(PasswordAuthentication no)を完全無効化し、SSH鍵認証のみに制限。
  4. SSHポートの変更:デフォルトの22番ポートを任意の高位ポートへ変更し、自動スキャン攻撃を回避。
  5. Fail2banの導入と自動ブロック:ログイン失敗を繰り返す悪質なIPアドレスを自動的にアクセス拒否。
  6. UFWファイアウォールの設定:不要なポートをすべて遮断し、新しいSSHポートのみを許可(22番ポートは削除)。
  7. Dockerのファイアウォールバイパス対策:Dockerがiptablesを操作してUFWルールを迂回してしまうセキュリティホールを自動修正。

コマンドの実行方法と事前準備

1. 事前準備(2つの前提条件)

  • クラウド側のポート開放:VPS提供元(ConoHa、AWS、さくらのVPSなど)の管理画面(セキュリティグループ/パケットフィルター)で、新しく設定するSSHポートをあらかじめ許可しておきます。
  • ローカル環境への sshpass インストール:最初のパスワード接続のためにローカル端末へ sshpass を導入します。
    • macOS: brew install sshpass
    • Linux (Ubuntu/Debian): sudo apt install sshpass

2. 実行コマンド

以下のパラメータをご自身の環境に合わせて書き換えて実行します。

Bash

./scripts/harden-vps.sh \
  --ip <VPS_IP> \
  --root-pass <ROOT_PASSWORD> \
  --user <NEW_USER> \
  --user-pass <NEW_USER_PASSWORD> \
  --port <SSH_PORT>

ライセンス:MIT License

対応OS:Ubuntu / Debian シリーズ

评论

タイトルとURLをコピーしました