読者です 読者をやめる 読者になる 読者になる

Anonymous Function

tmaesaka の lifelog | カルチャー、ときどきテクノロジー

セキュリティと好きなソフトウェア紹介: UFW

Tech

最近あまりソフトウェアの話をしていないと思ったので、これからたまに好きなソフトウェアを紹介することにしました。

light_waves

UFW (Uncomplicated Firewall) はソフトウェアですが、厳密にいうと iptables という偉大だけど、扱いが難しいソフトウェアのラッパーです。Ubuntu の開発を先導している Canonical 社の Jamie Strandboge が開発し、Ubuntu で標準の iptables の設定ツールです。すでに使っている人は飛ばしてください

UFW は Syntax が簡素なので、慣れ親しんでいなくても iptables を扱うことができます。UFW を有効にすると、外部からの通信を遮断します。そこから、例えば 80 番 を解放したい場合は下記を実行する。

$ sudo ufw enable 80/tcp

あるいは、UFW はこういった誰もが通る道の alias を提供しているので、下記のように実行することも可能です (個人的には使っていません)。

$ sudo ufw enable http
$ sudo ufw enable https
$ sudo ufw enable smtp

ingress および egress filtering の設定も強烈に簡単です。通信方向が指定されていない場合は、incoming な通信に対する設定として扱われます。

$ sudo ufw allow in http
$ sudo ufw reject out smtp

ファイアーウォールのルール削除は、個人的に番号ベースが好きです。まず下記のコマンドで削除したいルールの番号を調べます。

$ sudo ufw status numbered
Status: active

    To              Action      From
    --              ------      ----
[1] 80/tcp          ALLOW IN    Anywhere
[2] 443/tcp         ALLOW IN    Anywhere
[3] 80/tcp (v6)     ALLOW IN    Anywhere (v6)
[4] 443/tcp (v6)    ALLOW IN    Anywhere (v6)

そして、ルール番号をもとに下記のコマンドでルールを削除する。

$ sudo ufw delete ルール番号

UFW の syntax まわりに関してはとても親切な公式コミュニティヘルプ、および Manpage があるので、本エントリーで復唱するのはこれで終わりにします。

なぜ好きなのか

ひとことでいうと、現場の現実的な問題を解決するソフトウェアが好きだからです。

外部からの通信を制限したり、内部通信の交通整理をするのは基本中の基本です。ですが、ファイアーウォールの設定はセキュリティ関連の仕事でもしていないと、毎日やるようなことではないので、細かいオプションや syntax を忘れるなど、間違いがちになります。この問題を大幅に緩和してくれた功績は大きいと思います。

他にも楽する方法はある

ルールをファイルに記述して、それを使いまわすという確立されたアプローチもありますが、これはシナリオによってはソースコードのコピペに近い話になるので慎重になりましょう。例えば、会社という環境下で前任者が残してくれた「秘伝のタレ」的なファイルを受け継いだとします。その内容を無条件で信じたり、再利用せずに、その内容をきちんと把握してから扱いましょう。セキュリティ屋さんが社内にいることが理想ですが、さすがに在籍していない会社の方が多いのではないでしょうか。外注という手もあります。

ちなみに UFW にもルールファイルの概念があります。

常に安心してはいけない

システムを運用する人間からすれば、インターネットは敵だらけです。スクリプトキディから組織的な犯行まで色々あります。同様にシステムやネットワークへの侵入経路や手段も色々あります。自分が管理しているネットワークは外部からの通信対策を施していると思っても、なんらかの事情で信頼・通信を許しているネットワーク経由で攻撃されるかもしれません。斜め上からの攻撃とでもいいましょうか。

物理的な手段を用いた攻撃手法もあります。例えば清掃員を偽り、有線経由でネットワークに参加し、そこから攻撃するなどです。もし IP 電話などのセグメントが分離されていないと危険です。この路線でいうと、スタッフのマシンに悪意あるプログラムを仕込み、そこから攻撃という話も可能でしょう。映画のようで、非現実的に聞こえるかもしれませんが、インターネットはそういう悪い奴ばかりと考えるくらいが丁度いいかと思います。

あとがき

ここまで話を広げてしまうと、もはやファイアーウォールでどうこうって話ではないですね。もう、セキュリティの専門組織が生業としている、私にも解らないアートともいえる世界の話になります。どうしてこうなった。