UFW:正確には何ですか?


13

UFWとは何ですか?これは簡単な質問だと思うかもしれませんが、私が読む情報源が多くなればなるほど、わかりにくくなります。

ufwwが実際にファイアウォール自体を実装するかのように、頭字語はUncomplicated FireWallを表します。そして実際、多くの場所で、この記事のようにファイアウォール自体と呼ばれています

UFWのUbuntuヘルプwikiページには、UFWはiptablesの設定ツールであると書かれています。(同様に、ファイアウォールのヘルプwikiページでは、iptablesはファイアウォールルールのデータベースであり、データベースがファイアウォールであるかのように実際のファイアウォールでもあると述べています。もちろん、 'iptables'もプログラムの名前。)

ufwが設定ツールである場合、何かを設定するために実行するプログラムであると予想される場合があり、設定が完了したら、設定が確立されて終了します。それがこの質問の受け入れられた答えの位置です:Uncomplicated FireWall(ufw)はサービスですか?

しかし、その質問に対する他の答えは同意しません-いいえ、それはサービスです。実際、18.04マシンでは、ufwがサービスとして実行されていることがわかります。構成ツールがサービスとして実行されるのはなぜですか?!

さらに、systemctl list-units --all --type=serviceshows ufw.serviceloaded and active(そしてexited?!)はまだufw statusshows inactiveです。

では、ufw status = inactiveはどういう意味ですか?

  1. その「ファイアウォール」(それが何であれ)は非アクティブですか?それは、 'status' のufwのマニュアルページのドキュメントが示唆するものです。

  2. または、ufwで構成されたルールが非アクティブであることを意味します(ただし、iptablesで構成されたルールはアクティブです)。

  3. それとも、ufwが起動時に起動し、ルールをipconfig(またはどこに行っても)に記載し、それらが有効になり、現在ufwが無効になっているということですか?

特に興味深い:いくつかのiptablesコマンドを発行する必要があるいくつかの指示に従いたいが、それらがufw装置と競合するか、上書きされるのではないかと心配している。


2
iptablesはファイアウォールです。明らかに必要なため、ルールも保持しますが、「データベース」と呼ぶと、カーネルが永続性を提供しないため、少し拡張されます。ブート時にそれらをロードすることは、ufwのようないくつかのツールで処理する必要があります。
Jan Hudec

@JanHudec iptablesがファイアウォールであるかのように話す人もいますが、私が知る限りでは、netfilterはファイアウォール機能を提供し、iptablesはnetfilterの日付を提供します。iptablesはメモリにデータを保持するだけなので、「データベース」も誤解を招くという点が気に入っています。
-gwideman

私は個人的にnetfilterをiptablesの一部と考えていますが、この細かい点では間違っているかもしれません。
Jan Hudec

Zannaは私の質問を編集してURLなどを整理しました(ありがとう!)が、「ufw」のすべてのインスタンスを「UFW」に置き換えました。私は今、小文字が適切なケースであると信じています(manpages.ubuntu.com/manpages/xenial/en/man8/ufw.8.htmlおよびwiki.ubuntu.com/UncomplicatedFirewallに示されていますが、私は編集には興味がありません。あなたは私の証拠を購入する場合、このZanna戦争を小文字に戻してください。
gwideman

回答:


21

ufwは、インターネットトラフィックをルーティングおよびフィルタリングするためのLinuxメカニズムであるnetfilter / iptablesのフロントエンドです。

ufwは完全にオプションであり、iptablesコマンドを使用してファイアウォールとルーティングテーブルを直接作成することができます。ufwの構文を好む人もいますが、これは少し簡単になるはずです。

ufw自体はファイアウォールではなく、netfilter / iptablesの構成を設定するためのツールです。マシンを起動するたびに実行する必要があるため、サービスとして登録されます。この構成を行った後、メモリに常駐するとは思わない。サービスを「再起動」すると、単にスクリプトが再実行されます。Linuxディストリビューションにあるものがサービスとして登録されることは珍しくありません。たとえそれらが単に常駐することなくブートまたはシャットダウン時に実行されるスクリプトであってもです。

ufwを使用する場合、独自のスクリプトを使用して独自のiptablesルールを設定することはできません。これは、ufwが独自のスクリプトを設定すると上書きされるためです。これは、UFWがファイアウォールルールを設定する他のツールと競合する可能性があることも意味します。

sudo ufw status「inactive」を返す場合、ufwが無効になっていることを意味します(たとえば、起動時にルールを再適用しません)。ufwがで有効になっていることを確認するsudo ufw enable必要がありますが、これに意味を持たせるためのルールも設定する必要があります。ufwを有効にしたが、「inactive」を返すと確信している場合は、他の問題がある可能性があります。

サービスを「開始」してもufwは有効にならず、起動スクリプトがアクティブになるだけです。起動スクリプトの実行時にufwが無効になっている場合、何も実行されません。

iptablesを直接使用して、ファイアウォールルールがいつでも適用されているかどうかを確認できます。

sudo iptables -L
sudo ip6tables -L

1
注:私は個人的にufwを使用していません。ネイティブのiptablesルールをファイルに書き込み、ブート時にそれらを再適用できるようにするnetfilter-persistentというパッケージを使用しています。起動時に、本質的にufwが行うことを行います:構成を適用する起動スクリプトを実行します。違いは、単純化された独自の構文から変換するのではなく、単にiptablesコマンドを直接iptablesに送信することです。
トーマスラッター

たくさんの良いものがあります。ありがとう。これについて:「UFWを使用する場合、独自のスクリプトを使用して独自のiptablesルールを設定することはできません。UFWが独自のスクリプトを設定すると上書きされます。」ufwは既存のすべてのiptablesルールを積極的に削除しますか?または、写真のufwで言っているのですが、iptablesコマンド/ルールがufwによって上書きされる可能性があるため、それら有効になることに頼ることはできませんか?
グワイドマン

トーマスにも: "netfilter-persistent"> iptables-persistentに関連していますか?
-gwideman

はい、それは以前は呼ばれていました。Ubuntuバージョンに両方がある場合、おそらくiptables-persistentパッケージは、古いバージョンの人々にアップグレードパスを提供するための単なる移行パッケージになります。
トーマスラッター

1
resolv.confに言及して混乱した場合、申し訳ありませんが、Ubuntuの別の設定の例として使用しており、他のサービスによって制御される可能性があります。接続されていません。
トーマスラッター
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.