ファイアウォールは、サーバー上のどのポートが外部からの接続を受け付けるかを決めます。明示的に開いていないものはすべて閉じているべきです — それが デフォルト拒否 であり、攻撃対象領域を実際に動かしているサービスだけに縮小します。UFW はこれをシンプルにします。唯一守るべき順序は:ファイアウォールを有効化する 前に SSH を許可すること。さもないと自分自身をロックアウトしてしまいます。
1. UFW をインストール(通常は既に入っている)
sudo apt update && sudo apt install -y ufw
2. まず SSH を許可 — 他の何よりも先に
これがロックアウトを防ぐステップです。enable の前に行ってください:
sudo ufw allow OpenSSH
# カスタム SSH ポートを使っている場合:
# sudo ufw allow 22/tcp
3. 必要なポートだけを開放
sudo ufw allow 80/tcp # ウェブサイトを提供するなら HTTP
sudo ufw allow 443/tcp # HTTPS
# アプリ固有のポートは必要な場合のみ追加、例:
# sudo ufw allow 51820/udp # WireGuard VPN
4. デフォルトポリシーを設定して有効化
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw enable # 確認を求められます
5. 確認
sudo ufw status verbose
SSH と選んだポートが許可され、それ以外はすべて拒否されているはずです。変更のたびにこれを確認してください。
よく使うタスク
sudo ufw allow 3000/tcp # ポートを開く
sudo ufw delete allow 3000/tcp # 再び閉じる
sudo ufw status numbered # 番号付きでルールを一覧表示
sudo ufw delete 2 # ルール #2 を削除
sudo ufw disable # ファイアウォールを無効化
正直な注意
ufw enableの前に SSH を許可すること。 これが人々を自分のサーバーからロックアウトする唯一最大のミスです。もし起きたら、プロバイダーのコンソールが戻してくれます — EQVPS はすべての VPS にブラウザコンソールを提供しています。- ファイアウォールは一つの層にすぎません。 開いているポートを制御するだけで、その上で何が起きるかは制御しません。SSH 鍵認証やfail2banと組み合わせましょう。
- NAT プランでは、インバウンドポートの扱いが異なります — サーバー上のファイアウォールはそれでも役立ちますが、任意のインバウンドを受け付けられるのは専用 IP プランだけです。
次のステップ
ファイアウォールと鍵があれば、堅牢化されたサーバーの大部分が完成します。新規 VPS のセキュリティチェックリストで仕上げましょう。ウェブアプリのために 443 を開いていますか?nginx リバースプロキシと HTTPS の設定方法を参照してください。
コメント
まだコメントはありません。最初になりましょう。