VPSは自由度が高い一方、共用レンタルサーバーと違って、OSやSSH、ファイアウォールなどの管理を利用者自身で行う場面が増えます。
ただし、最初から高度なセキュリティ製品をそろえる必要はありません。初心者がまず行うべきなのは、「侵入口を減らす」「更新を止めない」「壊れても戻せる」の3つです。
30秒でわかる結論
- VPSを作成したら、最初にOSを最新状態へ更新する
- 日常作業をrootユーザーだけで行わず、sudoを使える一般ユーザーを作る
- SSHは公開鍵認証を準備してから、パスワード認証やrootログインを制限する
- ファイアウォールは「必要なポートだけ開ける」が基本
- Webサーバーなら一般にSSH・HTTP・HTTPSなど、実際に使用する通信だけ許可する
- 自動セキュリティ更新、バックアップ、ログ確認まで行って初めて「最低限」がそろう
- SSH設定を変えるときは、現在の接続を切る前に別ターミナルから再接続できることを確認する
VPSはなぜセキュリティ対策が必要?
VPSは、仮想的に専用のサーバー環境を借りて利用するサービスです。OSを自分で操作できるため、Webサーバー、ゲームサーバー、開発環境など幅広い用途に利用できます。
その代わり、共用レンタルサーバーでは事業者側が管理していた部分まで、自分で管理する必要があります。
| 項目 | 一般的な共用サーバー | VPS |
|---|---|---|
| OS更新 | 事業者側が管理する部分が多い | 利用者が管理する |
| SSH設定 | 制限されていることが多い | 利用者が設定できる |
| ファイアウォール | 事業者側の対策が中心 | 利用者側の設定も重要 |
| アプリ更新 | 一部を事業者が管理 | 基本的に利用者が管理 |
| バックアップ | サービス仕様による | 利用者自身で設計する必要がある |
ここで伝えたいポイント
VPSでは「サーバー会社が安全にしてくれる」と考えないことが重要です。VPS事業者がインフラ側を保護していても、OS上で何を公開し、どのユーザーでログインできるようにするかは利用者側の設定です。
初心者が最低限やるべき対策は7つ
| 優先度 | 対策 | 目的 |
|---|---|---|
| 最優先 | OS・パッケージ更新 | 既知の脆弱性を放置しない |
| 最優先 | 一般ユーザー+sudo | root常用を避ける |
| 最優先 | SSH公開鍵認証 | パスワード総当たりへの耐性を高める |
| 最優先 | 不要ポートを閉じる | 外部から接続できる入口を減らす |
| 重要 | 自動セキュリティ更新 | 更新忘れを防ぐ |
| 重要 | バックアップ | 侵害・誤操作・障害から戻せるようにする |
| 重要 | ログ・稼働確認 | 異常に早く気づく |
初心者はまず「更新・SSH・ファイアウォール・バックアップ」の4本柱
高度な侵入検知や複雑なネットワーク設計より先に、この4つを確実に設定してください。基本設定が不十分なまま高機能なセキュリティ製品を追加しても、土台が弱いままです。
1.最初にOSとパッケージを更新する
VPSを作成したら、まずOSに提供されている更新を適用します。
Ubuntu系であれば、代表的には次のようにパッケージ情報を更新し、適用可能な更新をインストールします。
sudo apt update
sudo apt upgrade
OSイメージを作成した直後でも、そのイメージが作られた日から現在までにセキュリティ更新が公開されている可能性があります。
更新は「最初の1回」だけでは不十分
脆弱性はVPS契約後にも発見されます。そのため、初期設定時だけ更新して終わりではなく、運用中も継続してアップデートする必要があります。
Ubuntu Serverでは、セキュリティ更新を自動適用するための「unattended-upgrades」が標準的に利用されます。
数字で考える
月1回しか手動更新しない場合、更新公開の翌日に脆弱性が見つかれば、次の作業日まで約1か月近く未更新状態が続く可能性があります。自動更新を使えば、人が忘れるリスクを減らせます。
2.rootを常用せず一般ユーザーを作る
rootはLinuxでほぼすべての操作ができる強力な管理者アカウントです。
便利ですが、日常作業をすべてrootで行うと、コマンドの入力ミスやアカウント侵害が起きたときの影響も最大になります。
基本は、通常作業用の一般ユーザーを作成し、管理者権限が必要なときだけsudoを利用します。
通常作業=一般ユーザー
管理作業=必要なときだけ sudo
注意
rootログインを無効化する前に、必ず一般ユーザーでSSHログインでき、sudoが正常に使えることを確認してください。順番を逆にすると、自分自身がサーバーへログインできなくなることがあります。
3.SSHは公開鍵認証を使う
SSHは、離れた場所からVPSを操作するための重要な入口です。
インターネットへ公開したVPSでは、SSHへの不正ログイン試行が発生することがあります。そのため、単純なパスワード認証だけに頼るより、公開鍵認証を利用する方が安全性を高めやすくなります。
公開鍵認証の仕組み
公開鍵認証では、手元のPCに秘密鍵を置き、VPS側に対応する公開鍵を登録します。
| 鍵 | 置く場所 | 扱い |
|---|---|---|
| 秘密鍵 | 自分のPC | 他人へ渡さない |
| 公開鍵 | VPS | ログイン許可のため登録 |
重要
秘密鍵にはパスフレーズを設定し、PC自体の暗号化や画面ロックも有効にしておくと、端末紛失時のリスクを減らせます。
4.パスワード認証とrootログインを制限する
公開鍵認証で正常にログインできることを確認したら、SSH設定をさらに絞ります。
OpenSSHでは、PasswordAuthenticationでパスワード認証、PermitRootLoginでrootのSSHログイン方法を制御できます。
ただし、設定変更は必ず段階的に行います。
現在のSSH接続を先に切らない
設定変更後は、現在開いているSSH接続を残したまま、別のターミナルから新しい設定でログインできるか確認してください。新規ログインに失敗しても、元の接続が残っていれば設定を戻せる可能性があります。
5.ファイアウォールで必要なポートだけ開ける
ファイアウォールは、サーバーへ届く通信を許可・拒否する仕組みです。
Ubuntuでは、ホスト型ファイアウォールを扱いやすくするツールとしてUFWが用意されています。
Webサーバーを例にすると、よく使われるポートは次のようになります。
| 用途 | 代表的なポート | 公開判断 |
|---|---|---|
| SSH | 22/TCP | 管理に必要。可能なら接続元制限も検討 |
| HTTP | 80/TCP | Webサイト公開時に使用 |
| HTTPS | 443/TCP | HTTPSサイト公開時に使用 |
| データベース | 3306等 | 外部接続が不要ならインターネットへ公開しない |
考え方は非常に単純です。
使うポートだけ許可する
使わないポートは外部公開しない
UbuntuのUFWでは、たとえばSSHを許可してからファイアウォールを有効化します。
Ubuntuでの考え方の例
sudo ufw allow 22
sudo ufw enable
sudo ufw status
ただし、SSHポート番号を変更している場合は、その番号に合わせて許可設定を行ってください。
最重要
SSHを許可しないままファイアウォールを有効化すると、リモート管理できなくなる可能性があります。VPS事業者のコンソール機能が利用できるかも事前に確認しておくと安全です。
SSHのポート番号変更だけで安全になる?
SSHの22番ポートを別番号へ変更すると、自動スキャンによる単純な接続試行を減らせる場合があります。
ただし、これは本質的な認証強化ではありません。ポート番号は調査すれば発見できます。
| 対策 | 重要度 | 考え方 |
|---|---|---|
| 公開鍵認証 | ★★★★★ | 認証そのものを強化 |
| rootログイン制限 | ★★★★★ | 高権限アカウントへの入口を制限 |
| ファイアウォール | ★★★★★ | 不要な入口を閉じる |
| 接続元IP制限 | ★★★★★ | 可能な環境なら非常に有効 |
| SSHポート変更 | ★★☆☆☆ | ノイズ低減には役立つが主対策ではない |
ポート変更より先に公開鍵認証とファイアウォール
初心者が「22番を変更したから安全」と考えるのは危険です。優先順位は、公開鍵認証、root制限、不要ポート閉鎖、更新管理の方が上です。ポート変更は追加策として考えてください。
6.セキュリティ更新を自動化する
サーバー運営では、「更新した方がよいと知っていたが忘れた」という人的ミスもリスクになります。
Ubuntu Serverでは、unattended-upgradesを利用してセキュリティ更新を自動適用できます。
Ubuntu公式ドキュメントでは、標準インストールでunattended-upgradesが利用され、セキュリティ更新を自動適用する仕組みが案内されています。
自動更新でも確認は必要
自動更新を有効にしても、すべてのソフトウェアが必ず自動更新されるわけではありません。追加した外部リポジトリ、Dockerコンテナ、CMS、独自アプリなどは別の更新管理が必要になる場合があります。
つまり「OSの自動更新を有効にした=サーバー上のすべてが自動的に安全になる」ではありません。
7.バックアップをVPSの外にも持つ
セキュリティ対策では、不正侵入を100%防ぐことだけを目標にしてはいけません。
侵害、操作ミス、ファイル破損、設定失敗が起きても、元の状態へ戻せることが重要です。
同じVPS内だけのバックアップは不十分
たとえば、VPSのディスク障害やアカウント侵害でサーバー全体を失った場合、同じVPS内に置いていたバックアップも一緒に失う可能性があります。
本番データ + 別の場所にあるバックアップ
最低でも、VPS事業者のスナップショット、別ストレージ、別サーバーなど、本番環境とは分離したバックアップを用意します。
バックアップ日数の考え方
毎日1回バックアップを取り7世代保存すれば、最大で約1週間前まで戻せます。ただし、不正な変更に8日以上気づかなければ7世代では足りません。重要データでは、日次・週次・月次を組み合わせる方法もあります。
ログイン試行や異常を定期的に確認する
セキュリティ対策は「設定して終わり」ではありません。
ログを確認すると、不審なログイン試行、サービス停止、設定エラーなどに気づけることがあります。
Ubuntu系ではsystemdのログをjournalctlで確認できます。SSH関連のログ保存場所はOSや設定によって異なるため、自分の環境で確認しておきましょう。
定期的に見る項目
- 身に覚えのないログインがないか
- SSHの失敗試行が急増していないか
- ディスク容量が不足していないか
- 更新が正常に実行されているか
- Webサーバーやデータベースが停止していないか
- バックアップが実際に作成されているか
WordPressをVPSで運営するなら対策がもう一段必要
VPS上でWordPressを運営する場合、OSだけでなくWordPress本体、テーマ、プラグイン、PHP、Webサーバー、データベースなども管理対象になります。
| 層 | 主な更新対象 |
|---|---|
| OS | Ubuntu等 |
| Webサーバー | Apache・Nginx等 |
| 実行環境 | PHP等 |
| DB | MySQL・MariaDB等 |
| CMS | WordPress本体 |
| 追加機能 | テーマ・プラグイン |
どこか1層だけを更新していても、別の層に古い脆弱性が残ればリスクになります。
初心者が見落としやすい点
VPS事業者の管理画面で「サーバー正常」と表示されていても、WordPressやPHPまで最新版とは限りません。インフラが正常であることと、サーバー内ソフトウェアが安全であることは別です。
VPSと共用レンタルサーバーでは責任範囲が違う
「WordPressを使いたいだけ」なら、VPSが常に最適とは限りません。
| 用途 | 向いている選択 |
|---|---|
| WordPressブログを簡単に運営したい | 共用・WordPress向けサーバー |
| OSやミドルウェアを自由に設定したい | VPS |
| Linux管理を学びたい | VPS |
| サーバー保守に時間をかけたくない | 共用・マネージドサービス |
自由なサーバー設定が不要なら、共用レンタルサーバーの方が保守負担を減らせます。
SSH、ファイアウォール、Webサーバーなどを自分で学びながら構築したい場合に向いています。
必要なランタイムやミドルウェアを自由に導入したい場合はVPSのメリットを活かせます。
自社で保守できない場合は、単純なVPSよりマネージド環境や保守サービスまで含めて検討します。
初期設定はどの順番でやればいい?
セキュリティ設定は、内容だけでなく順番も重要です。
セキュリティ設定でよくある失敗
SSHを閉じて自分も入れなくなる
ファイアウォールやSSH設定を一度に変更し、接続確認前に現在のSSHセッションを終了すると、サーバーへ戻れなくなる場合があります。
必ず別ターミナルから再接続テストをしてください。
アップデートを怖がって放置する
更新による不具合を心配して何か月も更新しないのも危険です。バックアップやスナップショットを用意し、更新後に動作確認する運用へ切り替えます。
データベースをインターネットへ公開する
WordPressとデータベースが同じVPS内にあるなら、通常はMySQL等のポートを世界中から接続可能にする必要はありません。
バックアップを取っただけで安心する
バックアップファイルが存在していても、復元できなければ意味がありません。定期的に復元手順を確認してください。
復旧時間で考える
サーバーを一から作り直すのに6時間かかる人でも、復元可能なバックアップと手順書があれば2時間で復旧できると仮定します。
6時間 − 2時間 = 4時間短縮
バックアップの価値は容量だけではなく、「停止時間を何時間短くできるか」で考えると分かりやすくなります。
初心者向けの最低限チェックリスト
公開前にここまで確認
- OSとパッケージを更新した
- root以外の管理用ユーザーを作った
- sudoが使えることを確認した
- SSH公開鍵認証でログインできる
- 別ターミナルから再接続テストをした
- 不要なSSH認証方法を制限した
- ファイアウォールを有効にした
- 必要なポートだけ許可した
- 自動セキュリティ更新を確認した
- VPS外にもバックアップがある
- ログとディスク容量の確認方法を把握した
- VPS事業者の緊急コンソール利用方法を確認した
教科書判定|VPSは「設定できる人」より「保守を続けられる人」が使う
初期設定を一度終えただけでは、VPSのセキュリティ対策は完成しない
VPSを安全に使うために重要なのは、難しい設定を一度だけ行うことではありません。更新、バックアップ、ログ確認を継続できることです。WordPressを公開したいだけで、この保守を負担に感じるなら、共用レンタルサーバーやマネージドサービスを選ぶ方が初心者には合理的です。
逆に、Linuxを学びたい、独自アプリを動かしたい、サーバー構成を自分で制御したいのであれば、VPSを使いながら基本的なセキュリティ運用を身につける価値があります。
よくある質問
Q.VPSを契約しただけで外部から攻撃されますか?
インターネットへ到達可能なサービスを公開すると、不正な接続試行や自動スキャンの対象になる可能性があります。特定の有名サイトでなくても、IPアドレスを広く走査する通信はあるため、「誰にもURLを教えていないから安全」とは考えない方がよいでしょう。
Q.SSHのポートを22番から変えれば安全ですか?
それだけでは不十分です。単純な自動スキャンを減らす効果は期待できますが、公開鍵認証、rootログイン制限、ファイアウォール、更新管理の方が優先度は高いです。
Q.パスワード認証は必ず無効にするべきですか?
公開鍵認証を正しく準備できる環境では、パスワード認証を無効化することで攻撃面を減らせます。ただし、先に公開鍵で確実にログインできることを確認してください。利用環境や運用方法によって認証設計は異なります。
Q.VPS会社のファイアウォールがあればUFWは不要ですか?
事業者側のネットワークファイアウォールとOS側のファイアウォールは役割や管理範囲が異なります。どちらか一方だけと決めつけず、公開するポートを把握し、必要な通信だけを許可する設計にします。
Q.初心者でもVPSでWordPressを運営できますか?
可能ですが、WordPressだけでなくOS、Webサーバー、PHP、データベースの更新や障害対応も必要になります。Webサイト運営そのものへ集中したい場合は、共用レンタルサーバーの方が管理負担は小さくなります。
まとめ|入口を減らし、更新し、戻せる状態を作る
この記事の結論
- VPS作成後は最初にOSを更新する
- rootを常用せず一般ユーザー+sudoで管理する
- SSHは公開鍵認証を基本にする
- 認証設定を変える前に新しい接続でテストする
- ファイアウォールでは必要なポートだけ開ける
- 自動セキュリティ更新で更新忘れを減らす
- バックアップはVPSの外にも保存する
- ログ・容量・バックアップを定期的に確認する
初心者が最初に目指すべきなのは、完璧な防御ではありません。「不要な入口を閉じる」「既知の問題を更新で直す」「問題が起きても戻せる」という基本を継続できる状態を作ってください。
次に読むなら
VPSそのものの選び方や共用サーバーとの違いを整理したい場合は、「VPS・クラウドサーバー完全ガイド|違い・用途・選び方を解説」へ進むと、VPSを使うべきケースから確認できます。