VPSの最低限セキュリティ設定|ひとり情シスが現場で落ち着いた現実解(Xserver VPS)

前回の Xserver VPS 初期構築ログ では、
Xserver VPS の初期構築と sudo ユーザーの設定まで行いました。
今回はその続きとして、VPSの最低限のセキュリティ設定について、実務でどう考え、どう設定したかをまとめます。

正直に言うと、セキュリティ設定は「やろうと思えば無限にやれる」分野です。
ただ、ひとり情シス+業務サーバー運用という現実を考えると、理想論を追いすぎても運用が回らなくなります。

なので今回は、
「最低限ここを押さえておけば、実務としては十分だと思えたライン」
という視点で書いています。


今回の前提条件(環境)

まず前提条件です。

  • 用途:社内業務システム用サーバー(Web公開なし)
  • 管理者:自分1人(ひとり情シス)
  • SSH接続元:
    • 自社オフィス
    • 業務システムを使う別拠点
      固定グローバルIPあり
  • 公開サービス:なし(80 / 443 も閉じる)

要するに、外部向けWebサーバーではない、完全業務用VPSです。

この条件だと、セキュリティの考え方はかなり割り切れます。


第一にやったこと:サービス側パケットフィルタで絞る

一番最初に手を入れたのは、OS側ではなく、Xserver VPS 側のパケットフィルタです。

理由は単純で、

OSがどうであれ、入口を物理的に閉じておけば安全度が一気に上がる

からです。

Xserver VPS のパケットフィルタでは、

  • IPアドレス指定
  • ポート指定

による通信制御ができます。
(URLやドメイン単位の細かい制御は不可)

設定方針

今回の業務サーバーでは、以下のようにしました。

インバウンド(受信)

用途許可元IPポート
SSH管理自社IP + 別拠点IP22
その他すべて拒否
  • SSH は 固定IPのみ許可
  • 80 / 443 は 完全に閉鎖
  • 不要なポートはすべて遮断

結果として、外部から接続できる経路はほぼゼロになります。

正直、この時点でかなり安心感があります。


アウトバウンドはどうするか悩んだ

Xserver VPS では、アウトバウンド(送信)通信のパケットフィルタ設定はできません。

ここは正直かなり悩みました。

OSでアウトバウンドを厳密に制御しようとすると、

  • OSアップデート
  • パッケージ取得
  • NTP(時刻同期)
  • 外部API通信

などで、どのIPが必要なのか把握しきれません。

しかもIPは変わることも多く、管理コストが一気に跳ね上がります。

結論として今回は、

OS側ではアウトバウンドは基本許可

にしました。

侵入されない前提を作り、
入口(インバウンド)で徹底的に防ぐ、という割り切りです。


OS側ファイアウォールは「最低限」

次に OS 側(firewalld)の設定です。

ここもガチガチに固めることはできますが、
今回は 「開けすぎず、閉じすぎず」 を意識しました。

firewalld の基本状態確認

sudo firewall-cmd --state

現在の許可ポート確認

sudo firewall-cmd --list-all

SSH を許可(念のため)

sudo firewall-cmd --add-service=ssh --permanent
sudo firewall-cmd --reload

基本方針として、

  • サービス側パケットフィルタで絞る
  • OS側は最低限の安全装置

という二段構えにしています。


なぜOS側をガチガチにしなかったか

これは完全に実務目線の判断です。

OS側のファイアウォールを細かく制御しすぎると、

  • アップデート失敗
  • 外部連携エラー
  • 原因不明の通信遮断

が頻発します。

ひとり情シス環境では、

トラブル対応=全部自分

なので、自分の首を絞める構成は極力避けたいというのが正直なところです。

サービス側で入口を完全に塞いでいる以上、
OS側は「保険」程度の扱いにしています。


固定IP制限は本当に効果がある

今回、固定グローバルIP制限をかけたことで、
SSHの不正アクセスログがほぼゼロになりました。

制限前は、
海外IPからのログイン試行が1日数百件出ることもありましたが、
制限後はほぼ静かです。

この効果は体感的にもかなり大きいです。


まとめ:ひとり情シス的「最低限」の落とし所

今回の構成をまとめると、

  • サービス側パケットフィルタで徹底制限
  • 固定IP+必要ポートのみ許可
  • OS側は最低限の防御に留める

という形になります。

理想論を言えば、
OS側でもアウトバウンドまで完全制御すべきですが、
ひとり情シス+業務運用という現実を考えると、

安全性 × 運用負荷 のバランス

を取ったこの構成が、今の自分には一番しっくりきました。


正直な感想

Xserver VPS のパケットフィルタは、

  • UIが分かりやすい
  • 設定反映が早い
  • 直感的に管理できる

という点で、かなり扱いやすいです。

正直、ひとり情シス向けのVPSとしては相当優秀だと感じています。

自分と同じように、

  • 業務用VPSを初めて触る
  • ひとりで運用する

という状況なら、かなり安心して使えると思います。


この環境の構成まとめ

WireGuard + SQL Server + Metabase を同居させた全体構成
― 現場判断ベースで作った業務環境の実例ログ ―業務環境を刷新しよう、という大きな構想が最初からあったわけではない。目の前にあったのは、何となく残り続けていたFTP構成Excelベースの集計運用老朽化したオンプレサーバという、よくある 「現...

次の記事

なぜ vsftpd をやめて SFTP にしたのか。Ubuntu 24.04 / VPS 実例ログ
このブログの最初の方で書いていた、業務サーバー構築ログの続きです。前回の、Xserver VPS 初期構築ログ|Ubuntu 24.04 LTSで最初にやった設定 では、一般ユーザー作成SSH の基本設定root ログイン制限最低限のセキュ...