Ubuntuにファイアウォールが本当に必要なのかという話について、ちょっと考えてみる。
Ubuntuはデフォルトでファイアウォール(ufw)が無効
これは、デフォルトだとオープンしてるポートが無いからという事らしい。
典型的なネットワーク構成
あくまで一般的な家庭やそれに準じた構成のネットワークの場合、各機器PCやスマホはブロードバンドルータの配下にいると思う。
ファイアウォールについて
上記のようなネットワーク構成の場合、ルータにファイアウォールがあるので基本的にインターネット側からの全ての内向き通信はブロック状態である。
外からアクセスしたければ、例えばssh用ポートを開けて、Ubuntuへポートマッピングしたりすると思う。つまり、Ubuntu側はssh用のポートを開けて、そのポートはufwファイアウォールの対象外にする必要がある。
TCPなのでufwでUDPを開ける必要はない、UDPで同じポート番号で待ち受けるソフトはいない。もしくはそれも気になるなら、ルータ側でTCPだけ開ければ良い。
そう考えるとポート開ける=そのポートはインターネット側を含め内向きの通信を許可する
の状況であれば、 ファイアウォールは必ずしも必要ではないと思う。
仮に、Ubuntuをルータを通さず直接インターネットに接続している場合でも、結局外からアクセス可能なポートは同様。
ローカルのみsshを許可したいのであれば、ルータのポート開けをしなければ良いだけ。
ただ、色々やってるうちに色んなポート開けてしまうような可能性がある場合は、ufwをオンにした方が良いかも。
(※ 厳密には、OS側にバグがあり開いていないはずのポートに特定の通信をかけたらアクセス出来てしまうなんて脆弱性があって、ufwには脆弱性が無い場合は、ufw有効にしておいたら助かるかもしれないけど、開いていないポートは応答しないのは初歩的な話なので、可能性としてはゼロに近いと思います。)
結論
というわけで、一般的なネットワーク構成で、Ubuntuインストール後に開くポートをちゃんと管理出来ているのであればufwは無効で良い
という結論にしたいと思います。