「Uncomplicated Firewall」の版間の差分
Kusakata.bot (トーク | 投稿記録) (Pkg/AUR テンプレートの更新) |
(英語版と同期) |
||
2行目: | 2行目: | ||
[[en:Uncomplicated Firewall]] |
[[en:Uncomplicated Firewall]] |
||
[[fa:Uncomplicated Firewall]] |
[[fa:Uncomplicated Firewall]] |
||
+ | {{Related articles start}} |
||
+ | {{Related|iptables}} |
||
+ | {{Related|sshguard}} |
||
+ | {{Related articles end}} |
||
+ | |||
プロジェクトの[https://launchpad.net/ufw ホームページ]より: |
プロジェクトの[https://launchpad.net/ufw ホームページ]より: |
||
− | : |
+ | : Ufw は Uncomplicated Firewall の略であり、netfilter [[ファイアウォール]]を管理するためのプログラムです。コマンドラインインターフェースが存在し、あまり複雑にならず簡単に使えるように作られています。 |
== インストール == |
== インストール == |
||
− | {{Pkg|ufw}} |
+ | {{Pkg|ufw}} パッケージを[[インストール]]してください。 |
− | 起動 |
+ | 起動時に有効化させるには ufw を[[起動]]・[[有効化]]してください。なお、{{ic|iptables.service}} や {{ic|ip6tables.service}} も有効にされていると動作しません。 |
== 基本設定 == |
== 基本設定 == |
||
− | デフォルトで全てを拒否して、192.168.0.1-192.168.0.255 LAN のプロトコルを許可し、どこからでも Deluge と SSH の通信ができ |
+ | デフォルトで全てを拒否して、192.168.0.1-192.168.0.255 LAN のプロトコルを許可し、どこからでも Deluge と SSH の通信ができ、SSH に[[#ufw によるレート制限|レート制限]]を設けるシンプルな設定: |
# ufw default deny |
# ufw default deny |
||
# ufw allow from 192.168.0.0/24 |
# ufw allow from 192.168.0.0/24 |
||
# ufw allow Deluge |
# ufw allow Deluge |
||
− | # ufw |
+ | # ufw limit ssh |
パッケージを最初にインストールしたときは次を実行する必要があります: |
パッケージを最初にインストールしたときは次を実行する必要があります: |
||
24行目: | 29行目: | ||
# ufw enable |
# ufw enable |
||
+ | {{Note|{{ic|ufw.service}} が[[有効化]]されている必要があります。}} |
||
− | そして [[Systemd#ユニットを使う|systemctl]] で {{ic|ufw}} サービスを有効化してください。 |
||
最後に、status コマンドで適用されているルールを確認します: |
最後に、status コマンドで適用されているルールを確認します: |
||
33行目: | 38行目: | ||
Anywhere ALLOW 192.168.0.0/24 |
Anywhere ALLOW 192.168.0.0/24 |
||
Deluge ALLOW Anywhere |
Deluge ALLOW Anywhere |
||
− | SSH |
+ | SSH LIMIT Anywhere |
}} |
}} |
||
status レポートはユーザーによって追加されたルールを示します。ほとんどの場合これで十分ですが、始めから入っているルールが存在していることに気をつけることは悪いことではありません。UPNP, AVAHI, DHCP を許可するフィルターが含まれています。全てのルールを表示するには: |
status レポートはユーザーによって追加されたルールを示します。ほとんどの場合これで十分ですが、始めから入っているルールが存在していることに気をつけることは悪いことではありません。UPNP, AVAHI, DHCP を許可するフィルターが含まれています。全てのルールを表示するには: |
||
84行目: | 89行目: | ||
SSH ALLOW Anywhere |
SSH ALLOW Anywhere |
||
Deluge-my ALLOW Anywhere |
Deluge-my ALLOW Anywhere |
||
+ | }} |
||
+ | |||
+ | == IP アドレスのブロック == |
||
+ | 特定の IP アドレスをブロックするには、{{ic|/etc/ufw/before.rules}} において ''COMMIT'' よりも手前に iptables DROP 行を書き加えます。 |
||
+ | |||
+ | {{hc|/etc/ufw/before.rules| |
||
+ | ... |
||
+ | ## blacklist section |
||
+ | |||
+ | # block just 199.115.117.99 |
||
+ | -A ufw-before-input -s 199.115.117.99 -j DROP |
||
+ | # block 184.105.*.* |
||
+ | -A ufw-before-input -s 184.105.0.0/16 -j DROP |
||
+ | |||
+ | # don't delete the 'COMMIT' line or these rules won't be processed |
||
+ | COMMIT |
||
}} |
}} |
||
== ufw によるレート制限 == |
== ufw によるレート制限 == |
||
− | ufw には30秒間の間に6回以上接続を試みた IP アドレスを拒否する機能があります。このオプションは |
+ | ufw には30秒間の間に6回以上接続を試みた IP アドレスを拒否する機能があります。このオプションは [[SSH]] などのサービスに使うと良いでしょう。 |
上記の基本設定を使って、レート制限を有効にするには、allow パラメータを limit パラメータで置き換えます。新しいルールは以前のルールを置き換えます。 |
上記の基本設定を使って、レート制限を有効にするには、allow パラメータを limit パラメータで置き換えます。新しいルールは以前のルールを置き換えます。 |
||
115行目: | 136行目: | ||
{{Pkg|gufw}} は Ufw の GTK であり、出来るかぎり簡単に Linux のファイアウォールを管理できるように作られています。一般的なポートや p2p アプリケーションのプリセットが存在します。{{Pkg|python}} と {{Pkg|ufw}}、そして GTK のサポートが必要です。 |
{{Pkg|gufw}} は Ufw の GTK であり、出来るかぎり簡単に Linux のファイアウォールを管理できるように作られています。一般的なポートや p2p アプリケーションのプリセットが存在します。{{Pkg|python}} と {{Pkg|ufw}}、そして GTK のサポートが必要です。 |
||
− | |||
− | === kcm-ufw === |
||
− | |||
− | {{AUR|kcm-ufw}}{{Broken package link|パッケージが存在しません}} は ufw の KDE4 コントロールモジュールです。以下の機能をサポートしています: |
||
− | * ファイアウォールの有効化・無効化 |
||
− | * ファイアウォールのデフォルト設定の設定 |
||
− | * ルールの追加・編集・削除 |
||
− | * ドラッグアンドドロップによるルールの並び替え |
||
− | * ルールのインポート・エクスポート |
||
− | * iptables モジュールの設定 |
||
− | |||
− | このモジュールは "Network and Connectivity" カテゴリ下に表示されます。 |
||
== ヒントとテクニック == |
== ヒントとテクニック == |
||
151行目: | 160行目: | ||
== 参照 == |
== 参照 == |
||
+ | * [https://help.ubuntu.com/community/UFW Ubuntu UFW ドキュメント] |
||
− | * [[sshguard]] |
||
+ | * {{man|8|ufw}} UFW マニュアル |
||
− | * [http://help.ubuntu.com/community/UFW Ubuntu UFW ドキュメント] |
||
− | * [http://manpages.ubuntu.com/manpages/natty/en/man8/ufw.8.html UFW マニュアル] |
2020年5月3日 (日) 10:00時点における版
プロジェクトのホームページより:
- Ufw は Uncomplicated Firewall の略であり、netfilter ファイアウォールを管理するためのプログラムです。コマンドラインインターフェースが存在し、あまり複雑にならず簡単に使えるように作られています。
目次
インストール
起動時に有効化させるには ufw を起動・有効化してください。なお、iptables.service
や ip6tables.service
も有効にされていると動作しません。
基本設定
デフォルトで全てを拒否して、192.168.0.1-192.168.0.255 LAN のプロトコルを許可し、どこからでも Deluge と SSH の通信ができ、SSH にレート制限を設けるシンプルな設定:
# ufw default deny # ufw allow from 192.168.0.0/24 # ufw allow Deluge # ufw limit ssh
パッケージを最初にインストールしたときは次を実行する必要があります:
# ufw enable
最後に、status コマンドで適用されているルールを確認します:
# ufw status
Status: active To Action From -- ------ ---- Anywhere ALLOW 192.168.0.0/24 Deluge ALLOW Anywhere SSH LIMIT Anywhere
status レポートはユーザーによって追加されたルールを示します。ほとんどの場合これで十分ですが、始めから入っているルールが存在していることに気をつけることは悪いことではありません。UPNP, AVAHI, DHCP を許可するフィルターが含まれています。全てのルールを表示するには:
# ufw show raw
レポートではトラフィックも手短に示されますが、読むのが難しいと感じるかもしれません。承認されたトラフィックの確認をする別の方法:
# iptables -S | grep ACCEPT
レポートとしては動作しますが、iptables を管理するのに ufw
を使っている間は iptables
サービスは有効化しないようにしてください。
他のアプリケーションの追加
パッケージには多数のデーモンやプログラムのデフォルトのポートに基づいてデフォルトの設定が付いています。/etc/ufw/applications.d
ディレクトリを見たりプログラムを使ってリストアップすることでオプションを確認できます:
# ufw app list
標準のポートを使わないアプリケーションを実行している場合、デフォルトを見ながら /etc/ufw/applications.d/custom
に必要なデータを記述するのを推奨します。
例えば、tcp ポートが 20202-20205 の範囲にカスタマイズされた deluge の場合:
[Deluge-my] title=Deluge description=Deluge BitTorrent client ports=20202:20205/tcp
同じアプリケーションで tcp と udp ポートを両方定義する場合、以下のようにパイプで区切って下さい。tcp ポート 10000-10002 と udp ポート 10003 を開く例:
ports=10000:10002/tcp|10003/udp
範囲を指定するかわりに、カンマを使って複数のポートを指定することもできます。tcp ポート 10000-10002 (inclusive) と udp ポート 10003 と 10009 を開く例:
ports=10000:10002/tcp|10003,10009/udp
アプリケーションの削除
上の Deluge の例を利用するときは、以下のコマンドで標準の Deluge のルールを削除して上の例にあるルールで置き換えます:
# ufw delete allow Deluge # ufw allow Deluge-my
status コマンドで結果を確認します:
# ufw status
Status: active To Action From -- ------ ---- Anywhere ALLOW 192.168.0.0/24 SSH ALLOW Anywhere Deluge-my ALLOW Anywhere
IP アドレスのブロック
特定の IP アドレスをブロックするには、/etc/ufw/before.rules
において COMMIT よりも手前に iptables DROP 行を書き加えます。
/etc/ufw/before.rules
... ## blacklist section # block just 199.115.117.99 -A ufw-before-input -s 199.115.117.99 -j DROP # block 184.105.*.* -A ufw-before-input -s 184.105.0.0/16 -j DROP # don't delete the 'COMMIT' line or these rules won't be processed COMMIT
ufw によるレート制限
ufw には30秒間の間に6回以上接続を試みた IP アドレスを拒否する機能があります。このオプションは SSH などのサービスに使うと良いでしょう。
上記の基本設定を使って、レート制限を有効にするには、allow パラメータを limit パラメータで置き換えます。新しいルールは以前のルールを置き換えます。
# ufw limit SSH
Rule updated
# ufw status
Status: active To Action From -- ------ ---- Anywhere ALLOW 192.168.0.0/24 SSH LIMIT Anywhere Deluge-my ALLOW Anywhere
ユーザールール
全てのユーザールールは /etc/ufw/user.rules
(IPv4) と /etc/ufw/user6.rules
(IPv6) に保存されます。
pacman によるアップグレード時にも表示されますが、バージョン 0.34 以前では置き場所が /usr/lib/ufw/user.rules
と /usr/lib/ufw/user6.rules
でした。バージョン 0.35 にアップグレードしたときに、ルールを新しい置き場所にコピーしてください。
GUI フロントエンド
Gufw
gufw は Ufw の GTK であり、出来るかぎり簡単に Linux のファイアウォールを管理できるように作られています。一般的なポートや p2p アプリケーションのプリセットが存在します。python と ufw、そして GTK のサポートが必要です。
ヒントとテクニック
リモート ping を無効化
以下の行の ACCEPT
を DROP
に変更してください:
/etc/ufw/before.rules
# ok icmp codes -A ufw-before-input -p icmp --icmp-type destination-unreachable -j ACCEPT -A ufw-before-input -p icmp --icmp-type source-quench -j ACCEPT -A ufw-before-input -p icmp --icmp-type time-exceeded -j ACCEPT -A ufw-before-input -p icmp --icmp-type parameter-problem -j ACCEPT -A ufw-before-input -p icmp --icmp-type echo-request -j ACCEPT
IPv6 を使っている場合、同じルールが /etc/ufw/before6.rules
に存在します。
UFW のログ出力を無効化
ログ出力を無効化することで UFW によってメッセージログ (dmesg
) が埋まってしまうのを防ぐことができます:
# ufw logging off
参照
- Ubuntu UFW ドキュメント
- ufw(8) UFW マニュアル