Linuxでファイヤーウォールの設定がGUIで可能な便利ツール「Firestarter」

by Caesar Sebastian


Linuxファイヤーウォールの設定、というと"iptables"が有名ですかね。

インターネットに接続(直結)するマシンなら、サーバマシンはもちろんのこと、デスクトップマシンでも直結するなら、様々な脅威を防ぐためにもファイヤーウォールの設定は施すべきです。


で、私もよく「iptablesってどう記述するんですか?」と質問されるのですが、正直"iptables"コマンドで設定する方法は結構敷居が高いと思います。

そこで、GUIで簡単にファイヤーウォールの設定を可能にしてくれる「Firestarter」という便利なツールがあります。


というわけで、導入・設定方法を紹介します。

インストール

今回は、Ubuntu(Hardy: 8.04)に導入してみました。導入方法は超簡単。まず、、、

[システム] ⇒ [システム管理] ⇒ [Synaptic パッケージ・マネージャ]

で、「Synaptic」を起動します。


https://farm4.static.flickr.com/3023/3104586921_b1073ebc5f.jpg

で、[検索]ボタンより「Firestarter」と入力して検索すると"firestarter"パッケージが結果として出てくると思いますので、右クリックして[インストール指定]を選択した後、[適用]ボタンをクリックします。


もちろん、コマンドラインからもインストール可能です。

$ sudo apt-get update
$ sudo apt-get install firestarter

こんな感じで、簡単にインストールすることが出来ます。

起動してみる(初期設定)

インストールが完了したら起動してみましょう。

[アプリケーション] ⇒ [インターネット] ⇒ [Firestarter]

もしくは、

[システム] ⇒ [システム管理] ⇒ [Firestarter]

にて起動できます。


https://farm4.static.flickr.com/3291/3104586923_1791365188.jpg

[進む]をクリックします。


https://farm4.static.flickr.com/3083/3104586925_0c0edbeff7.jpg

インターネットに接続しているデバイスを選択します。普通は"eth0"となると思います。

PCに複数のイーサネットポートがある場合は、適宜ファイヤーウォールの設定を行いたいデバイスを選択しましょう。


https://farm4.static.flickr.com/3155/3104586929_4cc749b332.jpg

インターネット接続を他のマシンと共有したい(ルーター的に使いたい)場合はチェックを入れましょう。

使ったことはないのですが、お手軽にルーターを作りたい方には便利そうです。


https://farm4.static.flickr.com/3247/3104586935_d7e0b25166_o.png

ここまで来たら、初期設定が完了です。

起動に失敗した場合・・・

初期設定完了後に、、、

「ファイヤーウォールの起動に失敗しました」

と表示される場合があります。

https://farm4.static.flickr.com/3005/3104586939_4b4fab23b6_o.png

私は、Ubuntu(Hardy: 8.04)の日本語ローカライズ版を使っていますが、日本語版であるが故に発生する問題の模様。


"/etc/firestarter/firestarter.sh"のファイルの中身を見ていただければ分かるのですが、結局内部では、ネットワークの設定を"ifconfig"コマンドの結果から取っているのですが、"ifconfig"の出力が日本語で出ているので、うまく取得できないようだ。


ということで、、、

$ sudo vi /etc/firestarter/firestarter.sh

で、ファイルを編集。

export LANG=C

ファイルの先頭の方で、上記の1行を追記しておけばOKです。
追記後、ファイルを保存して、もう一度「Firestarter」を起動してみましょう。今度はエラーが出ることなく起動すると思います。

ファイヤーウォールのルールを設定

起動すると以下のような画面が出ます。


https://farm4.static.flickr.com/3228/3104604587_2d9ec04c0d_o.png

[状態]タブでは現在のネットワーク状況(パケット数や接続中のプログラムなど)が表示されます。


https://farm4.static.flickr.com/3180/3104604591_586814903f_o.png

ファイヤーウォールのルール(ポリシー)を設定するには、[ポリシー]タブをクリックします。


ここで、

  • 接続を許可したいマシン(ソース)を追加したい場合は、[接続を許可するホスト]の下部をクリックした後に、[ルールの追加]ボタンをクリック
  • 接続を許可したいサービス(ポート)を追加したい場合は、[許可するサービス|ポート番号|許可するホスト]の下部をクリックした後に、[ルールの追加]ボタンをクリック

しましょう。


https://farm4.static.flickr.com/3025/3104604593_2da926ab07_o.png

接続を許可したいマシンがある場合の設定です。
例えば、ローカルネットワーク(LAN)からの接続を許可したい場合などに有効です。


[IP、ホストまたはネットワーク]の部分に、IPアドレスや名前解決可能なホスト名、または上記のような感じでネットワークアドレス+サブネットマスクな感じで設定しましょう。


https://farm4.static.flickr.com/3009/3104604595_9e25cc4f68_o.png

接続を許可したいサービスがある場合の設定です。
ファイヤーウォールの設定をしつつも、接続を許可したいサービス(SSHやHTTPなど)があれば、ここで設定を行います。


許可サービスの[名前]の部分にはあらかじめ有名どころのサービスがいくつか選択できますので、ここから選んでも良いですし、[ポート番号]のところに、ポート番号を入力してもOKです。
また、対象となるソースで、接続元のマシンを絞り込むような設定も可能です。


普通にデスクトップマシンとして使用したい場合なら、ここの設定は何もしなくてOKだと思います。
# つまり、インバウンドは基本全て拒否で良いかと。


https://farm4.static.flickr.com/3105/3104604599_a1836f6071_o.png

ルール(ポリシー)の設定が全て済んだら、[ポリシーの適用]ボタンをクリックします。
これで、設定したルールが適用されます。

ブロックした接続の確認

ここまでの設定で、ファイヤーウォールが意図通りに動き始めているはずです。

この状態でインターネットに直結してしばらく動かしていると、様々な接続がマシンに対して試みられ、ファイヤーウォールによって弾かれていることでしょう。


https://farm4.static.flickr.com/3107/3105452664_7558e53a39_o.png

これらは、[イベント]タブをクリックすると、ブロックした接続の一覧をリアルタイムで確認することが出来ます。

ということで、、、

インターネットに接続している以上は、世界中の様々なマシンから接続を試みられていると認識するべきです。最近のほとんどのルータは、不正なパケットを破棄してくれる機能が普通についていますが、インターネットに直結(モデムに直接繋いでいるとか)しているマシンの場合は、安全のため、きちんとファイヤーウォールの設定をしておいた方が良いでしょう。


この「Firestarter」を使うと、そのファイヤーウォールの設定を簡単に実施することができます。Let's Try!!


ネットワーク超入門講座

ネットワーク超入門講座