VPS初期設定完全ガイド:UbuntuでSSH・ファイアウォール・セキュリティを確実に設定する方法

VPSを購入したら最初にやるべきUbuntuの初期設定を解説。SSH鍵認証、UFWファイアウォール、fail2banなどセキュリティ対策をステップバイステップで紹介。

VPS初期設定UbuntuSSHファイアウォールセキュリティ2026/5/25

VPS(Virtual Private Server)を借りたら、まずはセキュリティを固める初期設定が必須です。特にUbuntuを使う場合、デフォルトのままでは危険が伴います。この記事では、SSHの鍵認証設定、ファイアウォール(UFW)、不正アクセス対策(fail2ban)など、実践的な手順を解説します。

前提条件

  • VPSを契約し、Ubuntu(22.04 LTS推奨)がインストール済み
  • ローカルPCにターミナル(WindowsならPowerShellやWSL、Macならターミナル)がある
  • VPSのIPアドレスとrootパスワードが分かっている
  • 1. 初期ログインとユーザー作成

    まずはrootでログインします。
    ssh root@<VPSのIPアドレス>
    

    初回ログイン後、すぐに一般ユーザーを作成しましょう。rootのまま作業するのは危険です。

    adduser ユーザー名
    <h1>パスワードを設定し、その他はEnterでスキップ</h1>
    

    作成したユーザーにsudo権限を付与します。

    usermod -aG sudo ユーザー名
    

    2. SSH鍵認証の設定

    パスワード認証はブルートフォース攻撃に弱いため、公開鍵認証に切り替えます。

    2.1 ローカルPCで鍵ペアを作成(まだの場合)

    ssh-keygen -t ed25519 -C "your_email@example.com"
    <h1>保存場所はデフォルトでOK、パスフレーズは任意</h1>
    

    2.2 公開鍵をVPSに転送

    ssh-copy-id ユーザー名@<VPSのIPアドレス>
    <h1>パスワードを聞かれるので入力</h1>
    

    2.3 SSH接続の確認

    ssh ユーザー名@<VPSのIPアドレス>
    <h1>パスワードなしでログインできれば成功</h1>
    

    3. SSHのセキュリティ強化

    SSHの設定ファイルを編集します。
    sudo nano /etc/ssh/sshd_config
    

    以下の設定を変更・追加します。

  • PermitRootLogin no(rootログイン禁止)
  • PasswordAuthentication no(パスワード認証禁止)
  • PubkeyAuthentication yes(公開鍵認証を有効化)
  • Port 2222など(ポート変更。デフォルト22は攻撃されやすい)
  • 変更後、サービスを再起動します。

    sudo systemctl restart ssh
    

    注意: ポートを変更した場合、次回ログイン時に -p 2222 オプションが必要です。接続できるか必ず確認してからセッションを切ってください。

    4. ファイアウォール(UFW)の設定

    UbuntuにはUFW(Uncomplicated Firewall)が標準搭載されています。

    4.1 UFWの有効化

    sudo ufw allow OpenSSH
    <h1>またはポート番号を指定: sudo ufw allow 2222/tcp</h1>
    sudo ufw enable
    sudo ufw status verbose
    

    4.2 必要なポートのみ許可

    例:Webサーバー(80,443)を開放する場合
    sudo ufw allow 80/tcp
    sudo ufw allow 443/tcp
    

    不要なポートは閉じておきます。

    5. fail2banの導入

    fail2banは不正なログイン試行を検知し、自動的にIPをブロックします。
    sudo apt update
    sudo apt install fail2ban -y
    

    設定ファイルをコピーして編集します。

    sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
    sudo nano /etc/fail2ban/jail.local
    

    [sshd] セクションを探し、以下のように設定します。

    [sshd]
    enabled = true
    port = ssh
    filter = sshd
    logpath = /var/log/auth.log
    maxretry = 5
    bantime = 3600
    

    サービスを起動・有効化します。

    sudo systemctl start fail2ban
    sudo systemctl enable fail2ban
    

    6. 自動更新の設定

    セキュリティパッチを自動適用するよう設定します。
    sudo apt install unattended-upgrades -y
    sudo dpkg-reconfigure --priority=low unattended-upgrades
    <h1>プロンプトで「Yes」を選択</h1>
    

    7. その他のセキュリティ対策

  • ログ監視: sudo journalctl -u ssh でSSHログを確認
  • 不要サービスの停止: sudo systemctl list-units --type=service --state=running で確認し、不要なものは停止
  • 定期的なアップデート: sudo apt update && sudo apt upgrade を習慣化

  • *この記事は実際のVPS環境での構築経験に基づいています。料金・スペックは執筆時点のものであり、最新情報は各事業者の公式サイトでご確認ください。*

    まとめ

    以上の手順で、VPSの初期設定は完了です。特にSSH鍵認証とファイアウォールは必須です。この設定を怠ると、VPSが乗っ取られるリスクが高まります。ぜひ実践してください。