VPS初期設定のセキュリティ対策17選【コマンド解説】

このページにはプロモーションが含まれています。
VPS初期設定のセキュリティ対策17選【コマンド完全版】のトップ画像

VPSのセキュリティ設定をしようとしても「肝心のコマンドがわからない」という方は多いですよね。

別記事「VPSの初期設定でやるべきセキュリティ対策17選」では、何をなぜやるかを解説しました。この記事はその実行編です。Ubuntu・Debian・CentOS系(Rocky Linux / AlmaLinux含む)の3つのOSに対応した、コピペで使えるコマンドを17項目すべて掲載しています。

この記事でわかること
  • VPSセキュリティ設定17項目の実行コマンド(OS別)
  • Ubuntu / Debian / CentOS系に対応したコマンド比較
  • 最短1時間で終わる「最低限4項目」の具体手順
  • 初心者がはまりやすいコマンドミスと注意点

対象OSは以下の3系統です。この記事全体を通じて、各コマンドをOS別に整理しています。

スクロールできます
OS系統代表的なOSパッケージ管理
Ubuntu系Ubuntu 22.04 / 24.04apt
Debian系Debian 11 / 12apt
CentOS系Rocky Linux / AlmaLinux / CentOSdnf

目次

【結論】最短1時間でやるなら「この5項目」だけ

すべてを一度に実施する必要はありません。時間がない場合は、まずこの5項目を優先してください。これだけで実用レベルのセキュリティを確保できます。

  • ① rootログイン禁止(乗っ取りリスクを即排除)
  • ④ SSH鍵認証の設定(総当たり攻撃を無力化)
  • ⑤ パスワード認証の無効化(鍵認証と必ずセットで)
  • ⑥ ファイアウォール設定(不要な通信を全遮断)
  • ⑧ OS・パッケージの定期更新(脆弱性のある古いソフトを排除)

VPS起動後30分以内にSSHへの不正アクセス試行が始まることがあります。「後でやる」は通用しない世界です。契約したらすぐにセキュリティ設定を最優先で行ってください。


目次|17項目コマンド一覧


【SSH・ログイン系】超重要5項目

①〜⑤はVPS運用の大前提です。この5項目だけでパスワード総当たり攻撃・root直接乗っ取りの大部分を防げます。必ず最初に実施してください。

① rootログイン禁止

rootへの直接ログインを禁止します。1回突破されただけでサーバーが完全に制御されるため、最優先で設定してください。

手順1:設定ファイルを開く

スクロールできます
OSコマンド
Ubuntu / Debiansudo nano /etc/ssh/sshd_config
CentOS系sudo vi /etc/ssh/sshd_config

手順2:以下の設定を追記・変更する(OS共通)

PermitRootLogin no

手順3:SSHサービスを再起動する

スクロールできます
OSコマンド
Ubuntu / Debiansudo systemctl restart ssh
CentOS系sudo systemctl restart sshd

再起動前に、一般ユーザー(②で作成)でのログインテストを必ず行ってください。rootを閉じた後にログインできなくなると詰みます。


② 一般ユーザー作成 + sudo権限付与

①とセットで実施します。一般ユーザーを作成し、必要なときだけsudoで管理操作を行う運用に切り替えます。

スクロールできます
OSユーザー作成sudo権限付与
Ubuntu / Debianadduser usernameusermod -aG sudo username
CentOS系adduser username
passwd username
usermod -aG wheel username

username の部分は任意の名前に置き換えてください。rootやadminなど推測されやすい名前は避けましょう。


③ SSHポート変更(22番 → 任意の番号)

SSHのデフォルトポートは22番です。自動スキャンボットのほとんどが22番を狙うため、変更するだけで不正ログイン試行数が大幅に減ります。

sshd_configを開き(①と同じファイル)、以下を設定します。

Port 2222

その後、SSHサービスを再起動します(①の再起動コマンドと同じ)。

ファイアウォール設定(⑥)の前にポート変更すると、自分がサーバーにアクセスできなくなります。ポート変更後は、必ずファイアウォールで変更後のポートを開放してから古い22番を閉じてください。


④ SSH鍵認証の設定

パスワード認証は辞書攻撃・総当たり攻撃で突破されるリスクがあります。SSH鍵認証に切り替えることで、セキュリティ強度が桁違いに上がります。

手順1:ローカル端末で鍵ペアを生成する(OS共通)

ssh-keygen -t ed25519

手順2:公開鍵をVPSにコピーする(OS共通)

ssh-copy-id -p 2222 username@サーバーのIPアドレス

生成した秘密鍵(id_ed25519)は複数の場所にバックアップしてください。紛失するとログイン不能になります。VPSサービスのコンソール機能から復旧できないケースもあります。


⑤ パスワード認証の無効化

④SSH鍵認証の設定完了後、必ずセットで実施します。鍵認証だけ設定してパスワード認証を残していると、パスワードへの攻撃経路が残り続けます。

sshd_configを開き(①と同じファイル)、以下を設定します。

PasswordAuthentication no

その後、SSHサービスを再起動します(①の再起動コマンドと同じ)。

④の鍵認証が正常に動作していることを確認してから実施してください。確認前にパスワード認証を無効化すると、SSH接続が完全にできなくなる可能性があります。設定後は別のターミナルウィンドウで接続テストを行い、既存の接続を切る前に動作確認するのが鉄則です。


【ネットワーク・基本防御】重要5項目

⑥〜⑩はネットワーク層での防御です。特にファイアウォール(⑥)はSSH設定と同じくらい重要です。

⑥ ファイアウォール設定

Ubuntu / DebianはUFW、CentOS系はfirewalldを使います。SSH・HTTP・HTTPSの3ポートを開放し、それ以外を原則遮断します。

Ubuntu / Debian

sudo apt install ufw -y
sudo ufw allow 2222
sudo ufw allow 80
sudo ufw allow 443
sudo ufw enable

CentOS系

sudo dnf install firewalld -y
sudo systemctl enable –now firewalld
sudo firewall-cmd –permanent –add-port=2222/tcp
sudo firewall-cmd –permanent –add-service=http
sudo firewall-cmd –permanent –add-service=https
sudo firewall-cmd –reload

ufw enable を実行する前に、sudo ufw status で設定内容を必ず確認してください。SSHポートの許可を忘れたまま有効化すると、自分もアクセスできなくなります。


⑦ 不要ポートの閉鎖

FTP(21番)・SMTP(25番)など、使用しないポートは明示的に閉じておきます。

Ubuntu / Debian

sudo ufw deny 21
sudo ufw deny 25

CentOS系

sudo firewall-cmd –permanent –remove-service=ftp
sudo firewall-cmd –reload


⑧ OSアップデート

既知の脆弱性を修正する最もシンプルで効果的な対策です。VPS起動後に必ず実施し、その後も定期的に行います。

スクロールできます
OSコマンド
Ubuntu / Debiansudo apt update && sudo apt upgrade -y
CentOS系sudo dnf update -y

⑨ 不要サービスの停止

使っていないサービスが動いていると、それ自体が攻撃対象になります。稼働中のサービスを確認し、不要なものは停止・無効化します。

稼働中のサービスを一覧表示する(OS共通)

systemctl list-unit-files –type=service –state=enabled

不要なサービスを停止・無効化する(OS共通)

sudo systemctl stop サービス名
sudo systemctl disable サービス名

停止対象の判断に迷う場合は、各サービス名で検索して用途を確認してから操作してください。必要なサービスを誤って停止するとWebサーバーやDBが落ちる可能性があります。


⑩ パスワードポリシーの設定

SSH鍵認証を設定していても、sudoパスワードなど残るパスワードは強力にしておく必要があります。

スクロールできます
OSコマンド
Ubuntu / Debiansudo nano /etc/login.defs
CentOS系sudo vi /etc/login.defs

以下の設定を追記・変更します(OS共通)。

PASS_MIN_LEN 12


【攻撃対策】強化4項目

⑪ fail2ban の導入

一定回数ログインに失敗したIPアドレスを自動でブロックするツールです。導入後、攻撃ログが激減します。

インストール

スクロールできます
OSコマンド
Ubuntu / Debiansudo apt install fail2ban -y
CentOS系sudo dnf install fail2ban -y

設定ファイルを作成する(OS共通)

sudo nano /etc/fail2ban/jail.local

以下の内容を記述する(OS共通)

[sshd]
enabled = true
port = 2222
maxretry = 5
bantime = 3600

fail2banを再起動する(OS共通)

sudo systemctl restart fail2ban
sudo systemctl enable fail2ban

port = 2222 の部分は③で設定した実際のSSHポート番号に合わせてください。デフォルトの22番から変更した場合は必ず修正が必要です。


⑫ ログイン試行回数の制限

SSHへの1セッションあたりの認証試行回数を制限します。③と同じsshd_configに追記します。

MaxAuthTries 3

変更後は①と同じ手順でSSHサービスを再起動します。


⑬ 認証ログの監視

ログをリアルタイムで確認することで、不正アクセスの兆候を早期に発見できます。

スクロールできます
OSログ確認コマンド
Ubuntu / Debiansudo tail -f /var/log/auth.log
CentOS系sudo tail -f /var/log/secure

fail2banによるBANの状況を確認したい場合は以下を使います(OS共通)。

sudo fail2ban-client status sshd


⑭ セキュリティアップデートの自動化

セキュリティパッチを自動的に適用する設定です。複数台のVPSを管理している場合や手動更新を忘れがちな方に特に有効です。

Ubuntu / Debian

sudo apt install unattended-upgrades -y
sudo dpkg-reconfigure unattended-upgrades

CentOS系

sudo dnf install dnf-automatic -y
sudo systemctl enable –now dnf-automatic.timer


【運用・保守】継続対策3項目

⑮ バックアップ

バックアップはコマンドではなく、各VPSサービスの管理画面から設定するのが最も確実です。

スクロールできます
サービスバックアップ方法費用目安
管理画面からスナップショット設定数百円/月〜
Xserver VPS自動バックアップ機能あり無料
さくらのVPSバックアップオプション月額2,420円〜
※料金は2026年4月時点。各公式サイトで必ずご確認ください。

VPSは「壊れる前提」で運用するのが鉄則です。スナップショットは不要になったものをこまめに削除しないと課金が増え続けます。定期的に整理する習慣をつけましょう。


⑯ HTTPS(SSL)設定

Webサーバーを公開する場合は、Let’s Encryptを使った無料SSL証明書を必ず設定します。HTTP(非暗号化)のまま公開するのはセキュリティ上問題があるだけでなく、SEOにも悪影響を与えます。

スクロールできます
OSインストールコマンド
Ubuntu / Debiansudo apt install certbot python3-certbot-nginx -y
CentOS系sudo dnf install certbot python3-certbot-nginx -y

証明書の取得・自動設定(OS共通)

sudo certbot –nginx


⑰ 2段階認証(TOTP)の導入

SSH鍵認証に加えてTOTP(時間ベースのワンタイムパスワード)を組み合わせる設定です。鍵が万が一漏洩しても第2の認証が壁になり、乗っ取りリスクを大幅に低減できます。

インストール

スクロールできます
OSコマンド
Ubuntu / Debiansudo apt install libpam-google-authenticator -y
CentOS系sudo dnf install google-authenticator -y

初期設定・PAM連携(OS共通)

google-authenticator

sudo nano /etc/pam.d/sshd

開いたファイルに以下を追記します。

auth required pam_google_authenticator.so


17項目のコマンド早見表|OS別まとめ

全17項目をOS別に一覧化しました。設定作業の際の確認用にお使いください。

スクロールできます
#項目Ubuntu / DebianCentOS系優先度
rootログイン禁止nano /etc/ssh/sshd_configvi /etc/ssh/sshd_config最高
一般ユーザー作成adduser / usermod -aG sudoadduser / usermod -aG wheel最高
SSHポート変更sshd_config → Port 2222
SSH鍵認証ssh-keygen -t ed25519 / ssh-copy-id最高
パスワード認証無効化sshd_config → PasswordAuthentication no最高
ファイアウォールufw allow / ufw enablefirewall-cmd --add-port最高
不要ポート閉鎖ufw deny 21 / 25firewall-cmd --remove-service
OSアップデートapt update && apt upgrade -ydnf update -y最高
不要サービス停止systemctl stop / disable
パスワードポリシーnano /etc/login.defsvi /etc/login.defs
fail2banapt install fail2bandnf install fail2ban
試行回数制限sshd_config → MaxAuthTries 3
ログ監視tail -f /var/log/auth.logtail -f /var/log/secure
自動アップデートapt install unattended-upgradesdnf install dnf-automatic
バックアップ管理画面から設定
HTTPS(SSL)apt install certbotdnf install certbot
2段階認証apt install libpam-google-authenticatordnf install google-authenticator低〜中

作業の進め方|優先順位別ロードマップ

17項目をすべて一度にやる必要はありません。用途に合わせて段階的に進めることをおすすめします。

STEP
まずやること(30〜60分)

①rootログイン禁止・②一般ユーザー作成・④SSH鍵認証・⑤パスワード認証無効化・⑥ファイアウォールの5項目。これだけで大多数の攻撃を防げます。学習・検証用VPSでも必ず実施してください。

STEP
次にやること(+30〜60分)

⑧OSアップデート・⑪fail2ban・③SSHポート変更・⑮バックアップを追加。個人開発・ポートフォリオ公開を予定している場合はここまで対応しましょう。

STEP
本番環境・副業SaaS向け(17項目すべて)

⑭自動アップデート・⑬ログ監視・⑯HTTPS・⑰2段階認証まで設定することで、本格的な運用に耐えられるセキュリティレベルを実現できます。


よくある質問(FAQ)

コマンドを実行する前にスナップショットは必要ですか?

はじめてセキュリティ設定を行う場合は、初期状態のスナップショットを取ってから作業することを強くおすすめします。ファイアウォール設定やSSHの変更を誤ると自分もサーバーにアクセスできなくなるため、スナップショットがあれば即座に巻き戻せます。ConoHa VPSやXserver VPSは管理画面から数クリックで設定できます。

Ubuntu・Debian・CentOS系でコマンドが違うのはなぜですか?

OSの系統によってパッケージ管理システムと設定ファイルの扱い方が異なります。Ubuntu・DebianはDebianベースでaptを使い、CentOS系(Rocky Linux・AlmaLinux)はRHELベースでdnfを使います。SSHの設定ファイル自体は同じ場所(/etc/ssh/sshd_config)にありますが、SSHサービスの再起動コマンド名がsshsshdで異なります。

SSHポートを変更した後、接続できなくなりました。どうすればいいですか?

各VPSサービスが提供するコンソール機能(ConoHa VPS・Xserver VPSともに管理画面から利用可能)からサーバーに直接接続して設定を修正できます。コンソール接続はSSHポートの設定に依存しないため、ファイアウォールやSSH設定を誤ってもアクセスを回復できます。スナップショットを取ってあれば、そこから巻き戻すのが最も手軽です。

ConoHa VPS・Xserver VPS・さくらのVPSで、コマンド手順は変わりますか?

同じOSを選択している場合、コマンドレベルの手順はほぼ共通です。ただし、バックアップ(スナップショット)・ファイアウォールの管理画面側の設定・コンソール機能の使い方はサービスごとに異なります。各サービスの公式ドキュメントも合わせて参照してください。


まとめ|コマンドを覚えるより「順番」が大事

VPS初期設定のセキュリティコマンド17項目を、Ubuntu・Debian・CentOS系に分けて解説しました。

STEP
VPSは初期状態が最も危険

起動直後から自動スキャンボットの標的になります。「後でやる」は通用しません。

STEP
最初の1時間で5項目を完了する

root禁止・鍵認証・パスワード認証無効化・ファイアウォール・OSアップデート。これで一般的な攻撃の大部分を防げます。

STEP
設定は「用途に合ったレベル」で止めてよい

17項目すべてを最初からやる必要はありません。学習用なら5項目、本番環境なら全項目が目安です。

各設定の「なぜやるのか」や優先順位の考え方については、下記の記事で詳しく解説しています。コマンドを実行する前にあわせて読んでおくと、設定ミスを防ぎやすくなります。

よかったらシェアしてね!
  • URLをコピーしました!
目次