XServer VPSの契約直後に対応すべきセキュリティ対策

VPSを安全に運用いただくためには、契約後すぐのセキュリティ対策が必要です。
※便宜上、本記事では「VPS = Linux系のOSを導入したVPS」としています。

本記事では、VPSの契約直後のセキュリティ対策を解説します。

本記事で分かること
  • セキュリティ対策の重要性
  • 契約直後に押さえるべきセキュリティ対策
  • SSH接続によるVPSの基本操作
本記事の手順環境
クライアントOS

Windows

サーバーOS

Linux

ディストリビューション

Ubuntu22.04 LTS

SSHクライアント

Tera Term

本記事の内容を実践することで、VPSのセキュリティを強化でき、より安全に運用を開始できます。

注意1

本記事で解説するのは、サーバーの用途や構成に関わらず、VPSの契約後に共通して必要になる最低限のセキュリティ対策です。
AIツールやビジネスツールを運用するなど、VPSの用途によっては追加のセキュリティ対策をご検討ください。

注意2

本記事では、「Linux」ベースのディストリビューション「Ubuntu」を前提に手順を解説します。
他のOSやディストリビューションをご利用の場合は、必要に応じて読み替えてください。

契約直後のセキュリティ対策が重要な理由

VPSは、サーバーへの入り口(ポート)を開放した瞬間から、さまざまな攻撃の対象になります。

基本的に契約直後のVPSは、カスタマイズしやすいよう多くの設定がデフォルトのままで、安全にサービスを公開する準備が整っていません。

そのため、VPSの運用を安全に開始するには、契約直後からセキュリティ対策に取り組む必要があります。

初期設定のまま運用を開始すると、不正アクセスなどの重大なトラブルに繋がることも。
以下は、VPSにおけるセキュリティ被害の一例です。

セキュリティ被害の一例
  • 個人情報、顧客情報、製品情報など、機密性の高いデータが漏洩する
  • 暗号資産のマイニングに悪用される(CPUなどのリソースを不正利用される)
  • 他システムに攻撃するための踏み台として悪用される(「DDos攻撃」「ブルートフォース攻撃」など)

機密性の高いデータが漏洩したり、攻撃の踏み台として悪用されたりすると、社会的な信用を失うだけでなく、最悪の場合は法的な責任を問われるおそれがあります。

セキュリティ被害が生じるリスクは、VPSの運用規模に関わりません。

小規模だからと他人事にはせず、最悪のケースを見越して契約直後からセキュリティ対策を徹底しましょう。

契約直後に押さえるべき基本の初期セキュリティ対策

以下は、どのようなソフトウェアを運用する場合でも、VPSの契約直後に共通して押さえるべき基本的な初期セキュリティ対策です。

なお、本記事では『Tera Term』という無料のツールを使用し、SSH接続でVPSのセキュリティ対策を実施します。

すでにお手元のPCにSSHクライアントが入っている方は、「【事前準備】SSHクライアントを導入する」のセクションは飛ばし、OSやソフトウェアを最新版にアップデートするからご覧ください。

補足

より厳密にセキュリティ対策を実施する場合は、『XServer VPS』の「コンソール」上で「安全(セキュア)なリモート管理の環境を整える」まで実施したあと、最後にパケットフィルター設定でSSHポートを開放するのがおすすめです。

ただ、本記事ではSSHクライアントで作業する方が多いことを想定して、SSH接続を前提に手順を案内します。

【事前準備】SSHクライアントを導入する

以下は『Tera Term』を導入し、SSH接続の環境を整える手順です。

SSH(Secure Shell)とは

ネットワーク上の通信を暗号化し、サーバーを安全に遠隔操作するための仕組み(プロトコル)のこと。

STEP1
ダウンロードページにアクセスする

まずは、『Tera Term』のダウンロードページにアクセスしてください。

画像:Tera Termのダウンロードページ

teraterm-〇.〇.exeをクリックしましょう。

画像:「.exe」をクリック

インストーラーがダウンロードされればOKです。

STEP2
Tera Termをインストールする

『Tera Term』のインストーラーをダブルクリックで起動しましょう。

画像:インストーラー

「日本語」が選択されている状態で、OKをクリックします。

画像:「日本語」を選択

利用規約が表示されるので、「同意する」にチェックを入れて次へをクリックしてください。

画像:利用規約に同意する

そのまま次へをクリックします。

画像:「次へ」をクリック

「日本語」にチェックが入っている状態で、次へをクリックしましょう。

画像:「日本語」を選択する

そのまま次へをクリックしてください。

画像:「次へ」をクリック

設定内容を確認して、インストールをクリックしましょう。

画像:「インストール」をクリック

インストールが終わったら、完了でウィンドウを閉じて問題ありません。

画像:「完了」でウィンドウを閉じる
STEP3
SSH接続を許可する

契約直後の『XServer VPS』は、外部からの不正アクセスを防ぐ目的で、すべての接続を拒否する設定になっています。

デフォルトのままではSSHで『XServer VPS』に接続できないため、「パケットフィルター設定」を変更しましょう。

パケットフィルター設定とは

「ポート」と呼ばれるサーバーへの入口を開閉することで、通信を制御するセキュリティ設定のこと。

まずはログインページにアクセスして、契約時に設定したメールアドレスとパスワードを入力のうえログインするをクリックしてください。

画像:ログインページ

続いて、VPS管理をクリックします。

画像:「VPS管理」をクリック

左メニューのパケットフィルター設定をクリックしましょう。

画像:「パケットフィルター設定」をクリック

パケットフィルター設定を追加するをクリックしてください。

画像:「パケットフィルター設定を追加する」をクリック

「SSH」を選択した状態で、下部の追加するをクリックしましょう。

画像:「追加する」をクリック
STEP4
ホスト鍵の指紋(フィンガープリント)を表示しておく

VPSへのSSH接続を試す前に、「VPSパネル」の「コンソール」にてホスト鍵のフィンガープリントを表示しておきましょう。

SSH接続には、本物のサーバーのように振る舞うことで通信内容を傍受する「中間者攻撃(MITM)」のリスクがあります。

初めてSSH接続するとき、SSHクライアント上にサーバーのなりすましに関する警告画面が表示されるため、ホスト鍵のフィンガープリントに相違がないか確認できるよう準備しておいてください。

VPSパネルにアクセスしたら、画面右上のコンソールをクリックして、「シリアルコンソール」を選択します。

「root」と入力したあと、契約時に設定した「rootパスワード」を打ち込んで、コンソールにログインしてください。

画像:コンソールにログインする
補足

rootパスワードは、入力しても画面上に表示されません。

コンソールにログイン後、以下のコマンドを実行しましょう。

ssh-keygen -l -E sha256 -f /etc/ssh/ssh_host_ed25519_key.pub
画像:フィンガープリントを確認する
補足

シリアルコンソールでは、「Ctrl + Shift + V」でペーストできます。

ホスト鍵のフィンガープリントが表示されるので、この画面を置いたまま次のステップへ進んでください。

画像:フィンガープリント
STEP5
SSH接続を試す

次に、VPSへのSSH接続を試してみます。

SSH接続には、VPSのIPアドレスが必要です。
「VPSパネル」で画面上部のIPアドレスをコピーし、メモ帳などにペーストしておきましょう。

画像:IPアドレス

続いて、『Tera Term』を起動します。
「ホスト」の入力欄にVPSのIPアドレスを入力し、OKをクリックしてください。

画像:Tera Termを起動する

サーバーのなりすましに関するセキュリティ警告が表示されます。

先ほど表示しておいたホスト鍵のフィンガープリントと突き合わせて、相違がなければ続行をクリックしてください。

画像:「続行」をクリック

以下のとおり、SSH認証の画面が表示されます。

「ユーザー名」には「root」と入力しましょう。
「パスフレーズ」には、『XServer VPS』の契約時に設定した「rootパスワード」を入力してください。

画像:SSH認証画面

それぞれ入力したら、OKをクリックします。

画像:「OK」をクリック

「Welcome to Ubuntu 22.04」と表示されればSSH接続は完了です。

画像:ログイン成功画面

ちなみに、ウィンドウの×ボタンを押せばVPSから切断できます。

1. OSやソフトウェアを最新版にアップデートする

はじめに、契約時に選択したOSやソフトウェアをアップデートしましょう。

OSやソフトウェアは、時間とともに脆弱性が見つかっていくことがほとんど。
古いバージョンのまま放置すると、攻撃者にセキュリティを突破されるリスクが高まります。

画像:OSやソフトウェアが古いとセキュリティリスクが上がる

VPSの契約時に選択したOSやソフトウェアが最新版とは限りません。
すでに脆弱性が発見されたバージョンの可能性もあるため、契約直後は必ずOSやソフトウェアをアップデートしてください。

注意

OSやソフトウェアのアップデートは、定期的に行う必要があります。
今後インストールするソフトウェアと合わせ、アップデートは習慣化しましょう。

STEP1
SSHでVPSに接続する

『Tera Term』を起動し、VPSにSSH接続します。

補足

初めて『XServer VPS』にSSH接続する方は、以下のマニュアルを参考にしてください。

画像:SSH接続
STEP2
アップデートのコマンドを実行する

SSH接続できたら、アップデートのコマンドを実行しましょう。

apt update && apt upgrade -y
画像:アップデートコマンド
CentOS/AlmaLinux/Rocky Linuxの場合は

「CentOS」「AlmaLinux」「Rocky Linux」では、アップデートコマンドが異なります。

dnf update -y

以下のような画面が表示されるので、Enterを押してください。

画像:確認画面

続けて、Enterを押します。

画像:「Enter」を押す

アップデートを反映させるため、以下のコマンドでVPSを再起動しましょう。

reboot
画像:「reboot」を実行

以上で、OSのアップデートは完了です。

なお、ソフトウェアのアップデートは、それぞれで手順が異なります。

契約時に『Dify』などのアプリイメージを選択した場合は、以下のサポートサイトで検索のうえ手順を確認してください。

一方、アプリイメージ以外でソフトウェアを導入した場合は、公式のドキュメントを参照するのが確実です。

Googleなどで「[ソフトウェア名] アップデート」と検索し、公式が案内する手順に沿ってアップデートを実施してください。

2. 安全(セキュア)なリモート管理の環境を整える

続いて、VPSをリモートで管理するためのセキュアな環境を整備します。

VPSは、SSH接続によってリモートから管理するのが一般的です。

ただ、だからこそSSH用のポートは狙われやすく、開放すると一気に不正アクセスのセキュリティリスクが上がります。

以下は、安全なリモート管理の環境を整えるうえで、よく実施されるセキュリティ設定・対策です。

よく実施されるセキュリティ設定・対策
  • 管理用の一般ユーザーを作成する
  • 公開鍵認証を有効化する(パスワードログインを制限する)
  • rootユーザーによるSSH接続を禁止する
  • SSHの接続ポートをデフォルト(22番)から変更する
  • 接続元の環境(IPアドレス)を限定する
  • 不審な接続を検知し、遮断する(『Fail2ban』を導入する)

本記事では、サーバーの管理環境に依存しない定番のセキュリティ設定・対策として、以下4つの手順を解説します。

管理用の一般ユーザーを作成する

まずは、以降のサーバー管理に使用する一般ユーザーを作成しましょう。

通常、VPSの契約直後に使用できるのは「rootユーザー」のみです。

rootとは

サーバー全体のシステムをコントロールできる管理者権限のこと。

日々の管理でrootユーザーを常用すると、うっかり重要なファイルを削除してしまうなど、大きなトラブルを引き起こしかねません。

また、悪意ある第三者にrootユーザーが奪われてしまえば、容易にサーバーが乗っ取られてしまいます。

そこで、普段は一般ユーザーで作業し、基本的にrootユーザーは使用しない運用にしておくと安心です。

とはいえ、むやみに一般ユーザーを追加すると、その分だけ攻撃の対象が増えたり、認証情報が漏洩したりなどのリスクが上がります。

一般ユーザーの追加は最小限に留め、VPSで作業する方は絞るようにしましょう。

STEP1
一般ユーザーを作成する

今回は、「xserver」という名前の一般ユーザーを作成します。
※任意の名前で問題ありません。

SSHでVPSに接続したら、以下のコマンドを実行してください。

adduser xserver
画像:「adduser」の実行

「新しいパスワード:」と表示されます。
任意のパスワードを入力して、Enterを押してください。

画像:一般ユーザーのパスワードを設定
補足

パスワードは入力しても画面上に表示されません。

再度、パスワードを入力しましょう。

画像:パスワードの再入力

続いて、識別情報の入力が求められます。
ユーザーを複数作る予定がないなど、識別情報が不要な場合は、Enterでスキップして問題ありません。

画像:識別情報の入力

「以上で正しいですか?[Y/n]」と表示されたら、「Y」のあとEnterを押してください。

画像:「Y」のあと「Enter」を押す
STEP2
一般ユーザーでのログインを試す

追加した一般ユーザーでログインできるか試してみましょう。

現在はrootユーザーでログインしている状態なので、「exit」コマンドで一度ログアウトしてください。

画像:「exit」コマンドの実行

再度『Tera Term』を起動し、先ほど作成した一般ユーザーの情報でログインできればOKです。

画像:一般ユーザーでログインできればOK
STEP3
一般ユーザーにsudo権限を付与する

次に、追加した一般ユーザーに「sudo(スードゥ)」という権限を設定していきます。

sudoとは

必要なときだけ一時的にroot権限でコマンドを実行するための仕組みのこと。

一般ユーザーを追加しただけでは、OSのアップデートなど、セキュリティに関わる作業ができません。

ただ、一般ユーザーにsudo権限を付与すれば、必要に応じてrootユーザー限定のコマンドが実行可能に。
rootユーザーを使用せずとも、安全にVPSを管理できるようになります。

また、sudoコマンドはサーバーログに記録されるため、あとから不正やミスを確認できる点もメリットです。

注意

sudo権限には、rootと同じくサーバー全体を自由にコントロールする力があります。
VPSを管理する一般ユーザーにだけ、sudo権限は付与するようにしましょう。

sudo権限を付与できるのはrootユーザー、もしくはsudo権限を持つユーザーのみです。

一般ユーザーでSSH接続している場合は、rootユーザーで入り直しましょう。

画像:rootユーザーでSSH接続し直す

sudo権限は、「sudo」というグループに登録することで付与できます。

以下のコマンドを実行して、先ほど作成した一般ユーザーを「sudo」グループに登録してください。

usermod -aG sudo xserver
画像:sudoグループに登録する
CentOS/AlmaLinux/Rocky Linuxの場合は

「CentOS」「AlmaLinux」「RockyLinux」などのOSには、「sudo」グループが用意されていません。
以下のコマンドで、「sudo」グループの代わりに「wheel」グループに登録する必要があります。

sudo usermod -aG wheel xserver
STEP4
sudo権限が付与されたかを確認する

「exit」コマンドでログアウトし、一般ユーザーでSSH接続し直しましょう。

以下のコマンドを実行してください。

sudo whoami
画像:sudo権限が付与されたか確認する

以下のとおり、sudoコマンドを実行するには、パスワードの入力が必要です。
一般ユーザーのパスワードを入力して、Enterを押しましょう。

画像:一般ユーザーのパスワードを入力する

「root」と表示されれば、sudo権限は正常に付与されています。

画像:「root」と表示されればOK

なお、一般ユーザーからsudo権限をはく奪したい場合は、rootユーザーで以下のコマンドを実行してください。

gpasswd -d xserver sudo

公開鍵認証を有効化する

パスワードによるログイン認証の場合、平易な文字列を設定したり、他サービスで使い回したりなど、管理の仕方によっては不正アクセスの要因になってしまいます。

そこで、ログイン認証を強化するため、パスワードに代わり、よりセキュリティ性の高い「公開鍵認証」を有効化しましょう。

公開鍵認証とは

「公開鍵」と「秘密鍵」のペアを照らし合わせて認証する方式のこと。

画像:公開鍵認証の仕組み

公開鍵はVPSに登録し、秘密鍵はPCで保管します。
VPS上の公開鍵とPC内の秘密鍵が合致すると、サーバーにログインできる仕組みです。

以下では、公開鍵認証を有効化し、パスワード認証を無効化する手順を紹介します。

STEP1
公開鍵と秘密鍵を生成する

本記事では、『Tera Term』を使用して公開鍵と秘密鍵を生成します。

『Tera Term』を起動したら、キャンセルをクリックして「新しい接続」の画面を閉じましょう。

画像:「キャンセル」をクリック

画面上部の設定をクリックしてください。

画像:「設定」をクリック

SSH鍵生成をクリックします。

画像:「SSH鍵生成」をクリック

「RSA」にチェックを入れ、生成をクリックしましょう。

画像:「生成」をクリック
補足

「RSA」はスタンダードな鍵の方式である一方、最近では「ED25519」のほうが主流です。
よりセキュリティを高めたい方は、「ED25519」で鍵を生成してください。

「鍵を生成しました」と表示されたら、任意の「パスフレーズ」を設定していきます。

パスフレーズとは

秘密鍵にアクセスするためのパスワードのこと。

パスフレーズを入力したあと、公開鍵の保存秘密鍵の保存をそれぞれクリックしましょう。

画像:公開鍵と秘密鍵を保存する
STEP2
公開鍵のファイルを開いておく

生成された公開鍵のファイル(「id_rsa.pub」)をメモ帳で開きます。

画像:公開鍵のファイル

ファイルの中身をすべて選択し、コピーしておいてください。

画像:ファイルの中身をコピーしておく
STEP3
公開鍵を登録する

一般ユーザーでSSH接続したあと、以下のコマンドで公開鍵を格納するためのディレクトリを作成します。

mkdir /home/xserver/.ssh
画像:公開鍵用のディレクトリを作成する

続いて、以下のコマンドで公開鍵として保存するファイルを作成しましょう。

touch /home/xserver/.ssh/authorized_keys
画像:公開鍵用のファイルを作成する

ファイルを作成したら、以下のコマンドで編集画面を開きます。

nano /home/xserver/.ssh/authorized_keys
画像:ファイルの編集画面を開く

先ほどコピーしておいた、「id_rsa.pub」ファイルの中身をペーストしましょう。

ペーストするとき、誤って改行すると正しく公開鍵が登録されないので注意してください。

補足

『Tera Term』では、画面内で右クリックすることでペーストできます。

画像:公開鍵をペーストする

公開鍵をペーストしたら、Ctrl + Xを押しましょう。
「変更されたバッファを保存しますか?」と表示されるので、「Y」のあとEnterを押してください。

画像:ファイルを保存する
STEP4
公開鍵の権限を編集する

所有者(本記事では「xserver」ユーザー)以外は、公開鍵のディレクトリとファイルを閲覧したり、編集したりできないよう権限を設定します。

まず、以下のコマンドを実行してください。

chmod 700 /home/xserver/.ssh
画像:所有者のみ「読み書き」と「実行」ができる権限に編集する

続いて、以下のコマンドを実行しましょう。

chmod 600 /home/xserver/.ssh/authorized_keys
画像:所有者のみ「読み書き」できる権限に編集する
補足

「700」は、所有者のみ「読み書き」と「実行」ができる権限。
「600」は、所有者のみ「読み書き」ができる権限です。

STEP5
公開鍵認証でのログインを試す

公開鍵認証でログインできるか試します。

SSH接続している場合はログアウトしたあと、再度『Tera Term』を起動してください。

「SSH認証」の画面で「ユーザー名」を入力。
また、秘密鍵にアクセスするための「パスフレーズ」を入力しましょう。

画像:「ユーザー名」と「パスフレーズ」を入力

続いて、「RSA/DSA/ECDSA/ED25519鍵を使う」にチェックを入れたのち、をクリックします。

画像:公開鍵認証でログインを試す

先ほど保存した秘密鍵(「id_rsa」ファイル)を選択して、開くをクリックしてください。

画像:秘密鍵を選択する

OKをクリックして無事にログインできれば、公開鍵認証の有効化は完了です。

画像:「OK」をクリック
STEP6
パスワード認証を無効化する

公開鍵認証を有効化したら、パスワード認証を無効化しましょう。

パスワード認証を無効化することで、秘密鍵を持つユーザーしかVPSにログインできなくなり、大幅にセキュリティを向上できます。

注意

パスワード認証は、必ず公開鍵認証でSSH接続できることを確認してから無効化してください。
パスワード認証を無効化したあと、SSH接続できなくなったときは「VPSパネル」の「コンソール」から「sshd_config」ファイルを編集して復旧しましょう。

以下のコマンドを実行して、SSHに関する設定をまとめた「sshd_config」というファイルにアクセスしてください。

sudo nano /etc/ssh/sshd_config
画像:「sshd_config」ファイルを開く

一般ユーザーのパスワードを入力してsudoコマンドを実行すると、「sshd_config」が開きます。

PasswordAuthentication yes」を「no」に書き換えて、ファイルを保存してください。

画像:「no」に書き換える
補足

行頭に「#(コメントアウト)」が付いている場合は、そちらを削除します。

編集後、「Ctrl + X」のあとYを押して設定を保存しましょう。

STEP7
SSHサービスを再起動する

設定変更を適用するため、SSHサービスを再起動していきます。

まずは、以下のコマンドを実行して、「sshd_config」ファイルの構文に誤りがないか確認してください。

sudo sshd -t
画像:構文に誤りがないかチェックする

何も出力結果が返ってこなければOKです。
続いて、以下のコマンドでSSHサービスを再起動しましょう。

sudo systemctl restart sshd
画像:SSHサービスを再起動する
STEP8
パスワード認証が無効化されているかを確認する

一度ログアウトして、パスワード認証が無効化されているかを確認してください。

パスワード認証でのログインを試し、以下のような画面が表示されればOKです。

画像:パスワードでログインできなくなっていればOK

rootユーザーによるSSH接続を禁止する

一般ユーザーでリモート管理できる環境を整えられたので、続いてrootユーザーのSSH接続を制限していきます。

rootユーザーは、悪用すれば手っ取り早くVPSの管理権を奪えるため、攻撃者の標的になりやすいです。

しかし、rootユーザーによるSSH接続を禁止しておけば、万が一悪用されたとしても、VPSが乗っ取られるリスクを大きく抑えられます。

以下、rootユーザーによるSSH接続を禁止する手順です。

STEP1
「sshd_config」ファイルを編集する

一般ユーザーでSSH接続したら、以下のコマンドを実行して「sshd_config」ファイルを開きます。

sudo nano /etc/ssh/sshd_config
画像:「sshd_config」ファイルにアクセスする

少しスクロールして、「PermitRootLogin yes」を「no」に書き換えてください。

画像:「no」に書き換える
補足

行頭に「#(コメントアウト)」が付いている場合は、そちらを削除してください。

編集後、Ctrl + Xのあと「Y」を押して設定を保存しましょう。

STEP2
SSHサービスを再起動する

以下のコマンドを実行して、「sshd_config」ファイルに誤りがないかを確認します。

sudo sshd -t
画像:構文をチェックする

誤りがないことを確認したあと、以下のコマンドでSSHサービスを再起動しましょう。

sudo systemctl restart sshd
画像:SSHサービスを再起動する
STEP3
rootユーザーでログインできないかを試してみる

一般ユーザーでSSH接続している場合はログアウトして、rootユーザーでログインを試してみてください。

以下のとおり、「認証に失敗しました」と表示されればOKです。

画像:rootユーザーでログインできなくなっていればOK

SSHの接続ポートをデフォルトから変更する

リモート管理の環境を整備する最後のセキュリティ設定として、SSHの接続ポートをデフォルトから変更しましょう。

SSHの接続ポートは、「22番」がデフォルトです。
基本的に攻撃者は22番のポートを標的にするため、他の番号に変更しておくことでセキュリティリスクを軽減できます。

以下は、SSHの接続ポートを22番から変更する手順です。

STEP1
変更後のポート番号を決める

はじめに、変更後のポート番号を決めておきましょう。

ポート番号は、「1~65535」の範囲で割り当てられます。
ただ、「1~1023」は「well-knownポート」と呼ばれ、すでに他のサービスなどで使用されていることが多いです。

ポートが被るとエラーの原因になってしまうため、基本的にwell-knownポートは避け、「1024~65535」の範囲で任意の番号を割り当てるようにしてください。

ポート番号を決めたら、すでに使用されていないか念のため確認します。

VPSにSSH接続したあと、以下のコマンドを実行しましょう。

sudo lsof -i:[ポート番号]
画像:ポートの空き状況を確認する

何も出力結果が返ってこなければ、そのポートは使用されていません。

STEP2
「sshd_config」ファイルを編集する

続いて、以下のコマンドで「sshd_config」ファイルを開きましょう。

sudo nano /etc/ssh/sshd_config
画像:編集画面を開く

まずは、「#Port 22」のコメントアウト(#)を外してください。

画像:コメントアウトを外す

次に、「Port 22」の下に「Port [ポート番号]」を記載します。

画像:新しいポート番号を追記する

編集が完了したら、Ctrl + Xでファイルを保存してください。

STEP3
SSHサービスを再起動する

以下のコマンドで、「sshd_config」ファイルの構文に誤りがないかを確認します。

sudo sshd -t
画像:構文に誤りがないか確認する

その後、以下のコマンドで設定変更を適用しましょう。

sudo systemctl restart sshd
STEP4
パケットフィルター設定を変更する

変更後のポートでVPSにSSH接続できるよう、パケットフィルター設定を変更します。

VPSパネルにアクセスしたあと、左メニューのパケットフィルター設定をクリックしてください。

画像:パケットフィルター設定をクリック

パケットフィルター設定を追加するをクリックします。

画像:「パケットフィルター設定を追加する」をクリック

「フィルター」のメニューをクリックして、手動で設定を選択してください。

画像:「手動で設定」をクリック

以下のとおりポート番号を入力して、追加するをクリックしましょう。

画像:「追加する」をクリック
STEP5
変更後のポートでSSH接続を試す

『Tera Term』を起動したら、変更後のポートを入力のうえSSH接続を試してください。

画像:変更後のポートでSSH接続を試す
STEP6
22番のポートでSSH接続できないように設定する

無事に新しいポートでSSH接続できることを確認したあと、22番のポートを塞ぎましょう。

「sshd_config」ファイルで「Port 22」の記載を削除し、SSHサービスを再起動してください。

画像:「Port 22」を削除する

あとは、「パケットフィルター設定」で「SSH」のフィルタールールを削除すればOKです。

画像:「フィルタールール」を削除する
注意

必ず新しいポートでSSH接続できることを確認してから22番のポートを塞いでください。
22番のポートを塞いだあと、SSH接続できなくなったときは「VPSパネル」の「コンソール」から「sshd_config」ファイルを編集して復旧しましょう。

3. ファイアウォール(パケットフィルター)を設定する

最後に、必要な通信のみを許可するよう「ファイアウォール」を設定します。

ファイアウォールとは

サーバーの通信を制御する「防火壁」のこと。
外部からの不正アクセスや、内部からの許可していない通信を遮断するセキュリティ機能です。

ファイアウォールを設定することで、不正アクセスのセキュリティリスクを大幅に軽減できます。

以下は、ファイアウォールを設定する主な方法2つです。

  • 『XServer VPS』に備わる「パケットフィルター設定」を利用する

「VPSパネル」からクリック操作で設定が可能。
指定したポートへの通信を一括で制御できます。

  • OSに備わる「ファイアウォール機能(ufwなど)」を利用する

シェル画面でのコマンド操作によって設定が可能。
IPアドレスやアプリ単位で通信を制御できるなど、細かくルールを設定できます。

本記事では、契約直後のVPSで手軽に不正アクセスを防ぐ手段として、「パケットフィルター設定」を利用します。

運用段階で細かく通信を制御したい場合は、『ufw』などの導入を検討してください。

STEP1
パケットフィルター設定を開く

まずは、VPSパネルにアクセスしましょう。

左メニューのパケットフィルター設定をクリックします。

画像:「パケットフィルター設定」をクリック
STEP2
パケットフィルター設定を変更する

VPSの用途に応じて、パケットフィルター設定を変更しましょう。

今回は、本記事で設定したSSHポートに加え、Webサイトやアプリの運用で必要な「HTTP(80/TCP)」と「HTTPS(443/TCP)」のみ開放します。

注意

Webサイトやアプリを運用する予定がない方は、「HTTP(80/TCP)」と「HTTPS(443/TCP)」は開放しないようにしてください。
VPSのセキュリティ対策では、必要最小限のポートのみを開放し、不要な通信はすべて遮断することが重要です。

下部のパケットフィルター設定を追加するをクリックしてください。

画像:「パケットフィルター設定を追加する」をクリック

「フィルター」のメニューをクリックして、「Web」を選択しましょう。

画像:「フィルター」で「Web」を選択

「Web」を選択すると、以下のとおり「HTTP(80/TCP)」と「HTTPS(443/TCP)」のどちらも開放されます。

画像:「80」「443」ともに開放される

追加するをクリックすれば、「パケットフィルター設定」は完了です。

画像:「追加する」をクリック
注意

許可するポートが増えるほど、不正アクセスのリスクは高まります。
不要なポートを許可している場合は、フィルタールールから削除するようにしましょう。

さいごに

以上、VPSの契約直後に押さえるべきセキュリティ対策でした。

本記事では案内しなかったものの、以下二つもVPSの運用を開始する前のセキュリティ対策として有効です。

プラスαのセキュリティ対策
  • 自動アップデートを有効にして常に最新の状態にする
  • サーバーで起動している不要なサービスを停止する

VPSの用途などを踏まえ、必要に応じて上記のセキュリティ対策も検討してください。

また、VPSのセキュリティ対策は、契約直後の一回で終わりではありません。

運用中のメンテナンスも徹底することで、VPSのセキュリティを維持しましょう。

最後までお読みいただき、ありがとうございました。

圧倒的なコスパで自由自在に

© 2025 XServer Inc.