PR

VPSのセキュリティを段階的に高めていく|ufw編

ufwを使ってVPSの通信ポートを制御し、セキュリティを段階的に高めていく様子を表したイラスト。 VPS・RentalServer
この記事は約4分で読めます。
記事内に広告が含まれています。
スポンサーリンク

本記事は、「VPSのセキュリティを段階的に高めていく」シリーズの続きとなる記事です。

前回の記事では、VPSをインターネットに公開する以上、不正アクセスは避けられないという前提に立ち、セキュリティを一気に固めるのではなく、段階的に積み上げていく考え方を整理しました。

このシリーズでは、

  • まず入口を整理する
  • 次に不正な試行を遮断する
  • さらにログを見て状況を把握する

という流れで、個人運用のVPSでも無理なく続けられるセキュリティ対策を実践していきます。

まだ前回の記事を読んでいない場合は、シリーズ全体の考え方として、先にこちらをご覧ください。

なぜ、最初にufwから始めるのか

VPSをインターネットに公開すると、
SSHやWebサーバーに対するアクセスは、ほぼ確実に発生します。

これは、特別に目立つことをしていなくても同じです。
IPアドレスがインターネット上に存在するだけで、
自動的なスキャンや試行は行われます。

このとき、最初に考えたいのが
「そもそも、どこからの通信を受け付けるのか」という点です。

ufwは、この入口を整理するための仕組みです。
不正アクセスそのものを解析したり遮断したりする前に、
まずは不要な入口を閉じる
それが、このシリーズでufwから始める理由です。

ufwは何をするものか

ufwの役割を整理する

ufw(Uncomplicated Firewall)は、サーバーに対する通信を「許可する」「拒否する」を制御する仕組みです。

重要なのは、ufwは

  • 攻撃を検知するものではない
  • ログを解析するものでもない

という点です。

あくまで、

  • このポートは通す
  • このポートは通さない

という 通信の入口管理 を担当します。

後述する fail2ban とは、役割がはっきり分かれています。

iptablesとの関係について

ufwは、内部的にはiptablesを操作しています。
ただし、ufwを使う場合、iptablesを直接意識する必要はありません。

本シリーズでは、

  • ファイアウォールは ufw
  • その上で追加の対策を積み重ねる

という前提で話を進めます。

最低限、開けるポートを決める

今回の前提構成

この記事では、次のような構成を前提にします。

  • SSHでサーバーに接続する
  • Webサーバーを公開している
  • それ以外の用途は、今は考えない

個人運用のVPSでは、まずはこの程度のシンプルな構成で十分です。

開けるポートの考え方

ufwで重要なのは、「必要なものだけを開ける」という姿勢です。

  • 念のため開けておく
  • いつか使うかもしれない

こうした理由でポートを開ける必要はありません。

必要になったら、その時点で追加すればよい。
この考え方で進めます。

ufwの基本設定

ここから、実際の設定作業に入ります。
以下の操作は、SSHでVPSに接続した状態で行います。

ufwの状態を確認する

まずは、ufwの現在の状態を確認します。

sudo ufw status

初期状態では、Status: inactive と表示されることが多いです。

必要な通信だけを許可する

ufwを有効化する前に、必要な通信を先に許可しておきます。

SSHを許可する

sudo ufw allow ssh

ポート番号で指定する場合は、次のように書くこともできます。

sudo ufw allow 22

HTTP / HTTPSを許可する

Webサーバーを公開する場合は、HTTPとHTTPSを許可します。

sudo ufw allow http
sudo ufw allow https

これで、Webアクセスに必要な通信は通る状態になります。

ufwを有効化する

必要なルールを追加したら、ufwを有効化します。

sudo ufw enable

途中で確認メッセージが表示された場合は、内容を確認した上で進めます。

SSH接続中に有効化しても問題ありませんが、SSHを許可してから実行することが重要です。

設定後に必ず確認すること

許可ルールの一覧を確認する

ufwを有効化したら、現在のルールを確認します。

sudo ufw status

意図したポートだけが表示されているか、余計なルールが含まれていないかを確認します。

SSH接続が維持できているか

もう一つ、非常に重要なのがSSH接続が問題なく維持できているかです。

  • 新しいSSH接続ができるか
  • 既存の接続が切れていないか

ここで問題がなければ、
ufwの基本設定は完了です。

ufwは「ここまで」で十分

ufwには、より細かい制御やログ設定も可能です。

しかし、この段階では、無理に複雑な設定を入れる必要はありません。

ufwは、あくまで 防御の土台 です。

  • 攻撃そのものを分析する
  • 同じIPを繰り返し遮断する

といった役割は、次に紹介する仕組みに任せます。

次に考えるべきこと

ufwで入口を整理したら、次に考えたいのは SSHそのものの安全性 です。

  • rootログインをどうするか
  • ユーザーを分ける理由
  • 認証方式をどう考えるか

次回は、SSHの基本的な安全対策について整理します。

タイトルとURLをコピーしました