LoginSignup
1
2

More than 1 year has passed since last update.

簡単なufw設定まとめ

Posted at

ufwとは

Ubuntuなどで標準的に使われるファイアウォールアプリケーション。
外部からの通信を許可/ブロックするルールを記述し、それに従って通信を制御します。
シェルからコマンドラインで操作します。

記事の趣旨

本記事は、個人で管理しているマシンの範疇で、接続元や公開するポートを制御したいときのための簡単な覚書です。シェルは使えるけど、何からやれば良いかわからない人、多数のコマンドを羅列されても困る人向けに、設定手順の概要と必要なコマンドに絞ってまとめました。

★不特定多数からの通信を受け付けるサーバなどには適さない内容なので、必ずその用途の記事を見てください!

また、以下のようなこともできるようなので、必要に応じて別の記事を探してください。

  • ログ設定
  • 通信回数の制限(不特定多数にポート公開する場合のセキュリティ対策)
  • 通信を遮断し、"Connection Refused"を返す

設定の流れ

1つ1つのポートに対して設定を書いていくのは困難なので、以下の手順で設定。

~~ 初期設定 ~~

  • デフォルト状態(全ブロック/全許可)を設定
  • 特定の ポート/接続元/プロトコル に対する許可ルールを追加
  • ufwを有効化

~~ 運用 ~~

  • 必要に応じて新たにルールを追加
  • ufwをリロード

特定の接続元だけを想定するのであれば、特定のポート、接続元、プロトコルのみを通す設定(ホワイトリスト登録的な感じ)で大概OKなので、デフォルト全ブロック → 必要なものを許可リストに追加という流れで設定できる。

コマンド一覧

  • root権限がいるので、su状態かsudoで実行

動作状態、許可/ブロックルールリストの確認

ufw status

有効化/無効化

  • 有効化
    ufw enable
    default deny 状態にしてenableすると全ブロックになる。ssh接続中に設定するときは要注意。接続元のIPに許可を出してからenableが安心…
  • 無効化
    ufw disable
  • 設定変更後のリロード
    ufw reload

デフォルト状態の変更

  • 全ブロック
    ufw default DENY
  • 全許可
    ufw default ALLOW

許可

本記事で追加するのは、許可ルールのみです。
基本コマンドは、ufw allow [内容]で、内容の中身を用途に合わせて変えます。
以下、よく使うものです。

  • ポートに対して許可
    ufw allow [port]
  • ポート&プロトコルに対して許可
    ufw allow [port]/[protocol]
  • アプリケーションに対して許可
    ufw allow [app]
  • 特定の接続元&ポートに対して許可 ★この記事のケースでは、一番よく使うと思います
    ufw allow from [IP] to any port [port]
  • 全盛り設定
    ufw allow from [IP] proto [protocol] to any port [port]

app:ssh, httpなど
protocol:udp, tcp
IP:IPアドレス xxx.xxx.xxx.x/xxみたいな指定もOK
port:解放対象のポート番号 min:maxで範囲指定も可能

ブロック

ホワイトリスト登録であれば、基本使わないです。
基本コマンドは、ufw deny [内容]です。
内容は、上記の許可方法のallowをdenyに変えるだけなので割愛。

ルールの削除

不要になったルールを削除します。基本コマンドは、ufw delete [内容or番号]です。

  • ルールの内容を指定して削除
    許可ルールの記述と同様でOK。IPごとのルールは、1or2番目の方法でまとめて消せないので3or4番目を使用
    ポート ufw delete allow [port]
    ポート&プロトコル ufw delete allow [port]/[protocol]
    IP&ポート ufw delete allow from [ip] to any port [port]
    IP&ポート&プロトコル ufw delete allow from [ip] proto [protocol] to any port [port]

  • 番号で指定して削除
    ufw delete allow [番号]
    statusで出てくる順番に従って指定

まとめ

とりあえず単純な設定であれば、大体これだけでなんとかなります。

参考文献

ある程度理解しておきたいときに、iptableとの関係も含めて解説つき。

大元のマニュアル。

本記事も含めてユースケース特化の記事は、状況にぴったり合うものがあれば非常に便利です。しかし閲覧者と編集者が少ない分、記載ミスの可能性も高まるので、怪しいと思ったときは大元と照合するのが安心安全です。

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2