Linuxのファイアウォールを「Uncomplicated Firewall」で簡単設定–「GUFW」でGUIも利用
今回は「Linuxのファイアウォールを「Uncomplicated Firewall」で簡単設定–「GUFW」でGUIも利用」についてご紹介します。
関連ワード (ソフトウェア等) についても参考にしながら、ぜひ本記事について議論していってくださいね。
本記事は、ZDNet Japan様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。
筆者が1997年に「Linux」を使い始めたとき、組み込みのファイアウォールを使いこなすことは、誰でもできることではなかった。実際に、それはかなり複雑な作業だった。1998年頃から、システムのセキュリティを管理したいのであれば、iptables(「Netfilter」パケットフィルタリングシステムを操作するための一連のコマンド)を習得することが必須になった。
例えば、すべての着信セキュアシェル(SSH)トラフィックを許可する場合は、以下のようなコマンドを実行する。
Linux OSをマスターするだけでなく、複雑なセキュリティシステムの管理に関する詳細も学習する時間があるのなら、それでも全く問題はない。公平を期すために言っておくと、筆者は実際に時間をかけてそれらのことを習得し、最終的にiptablesを使用して、システムのセキュリティを管理できるようになった。
しかし、忙しくなればなるほど、iptablesを使いこなすのに必要な習熟度を維持するのが難しくなっていった。時間が経つにつれて、さまざまなものへのアクセスが容易になり、一部のLinuxディストリビューション開発者は、より簡単なシステムが必要であることに気づき始めた。「Ubuntu」ディストリビューション(バージョン12.04辺り)で、そうしたアクセスしやすいLinuxファイアウォールの1つが登場した。そのファイアウォールには、「Uncomplicated Firewall」(複雑でないファイアウォール)という適切な名前が付けられている。
Uncomplicated Firewall(UFW)は、iptablesのフロントエンドであり、シンプルさを重視している。iptablesと比較すると、UFWは、公園をのんびり散歩するようなものであり、誰でも扱うことが可能だ。
本記事では、UFWの基本を紹介し、UFWによって、Linuxシステムのファイアウォールの管理がいかに簡単になるかを解説する。
UFWについて知っておくべきことが2つある。
UFWのコマンドは実際には非常に単純である。ここでも、SSHを使用する例を紹介する。具体的には、ほかのシステムがSSH(ポート22でリッスンする)を使って自分のマシンにアクセスすることを許可したいとしよう。
まず、UFWが有効になっていることを確認する必要がある。意外なことに、UFWはデフォルトで有効になっていない。ターミナルウィンドウを開いて、以下のコマンドを実行し、それを確認してみよう。
おそらく、以下のメッセージが表示されるはずだ。
どうすればUFWを有効にできるのだろうか。以下のコマンドを実行するといい。
以下のような出力(「ファイアウォールは有効であり、システム起動時に有効化される」を意味する)が表示されるはずだ。
おめでとう。これでファイアウォールが有効になった。
UFWの基本的な使用方法は、以下のような感じだ。
ARGUMENT(引数)はallow、deny、reject、limit、status、show、reset、reload、enable、disableのいずれかであり、SERVICE(サービス)はユーザーが使用したいサービス(SSHやHTTPなど)だ。
次に、システムへのSSHトラフィックを許可する必要がある。信じられないかもしれないが、それは以下の簡単なコマンドで実行可能だ。
以下のように、ポート番号を使用してコマンドを実行することもできる。
ポート2022でSSHを実行する場合、コマンドは以下のようになる。
サーバーで作業していて、HTTPトラフィックの通過を許可する必要がある場合、コマンドは以下のようになる。
もう少し高度な機能を見てみよう。
UFWの美点の1つは、高度な知識がなくても、高度な機能を使用できることだ。例えば、ネットワーク上の特定のIPアドレスからのSSHトラフィックだけを許可したいとしよう。