12.1. デバグ、それは必要欠くべからざるもの

デバグを行うことは、 iptables 及び netfilter や、とにかくファイヤーウォールというものに関する限り必須事項だ。ファイヤーウォールの障害の 99% は、突き詰めれば人為的なものであり、ポリシーの設計や、ルールセットを作成する行程に原因がある。賭けてもいいが、ルールセット作成にミスはつきものと言っていい。時として、そうした誤りや、それによってファイヤーウォールに空いた節穴は、肉眼では捉えにくい。あなたが存在に気づいていなかったり、スクリプトの中で意図せずできてしまった穴は、ネットワークの急所となり、アタッカーに易々と進入口を差し出してしまう。このような穴のほとんどは、幾つかの便利なツールを使えば容易く見つけ出すことができる。

また、スクリプト自体にバグを紛れ込ませたのが原因で、ファイヤーウォールにログインできないなど、先ほどとは違った問題を引き起こす場合もある。しかしこれもまた、そもそもスクリプトを走らせる前にちょっと工夫をすることによって解決が可能だ。スクリプト言語とシステム環境双方の能力を最大限に利用すると、驚くべき能力が発揮できる。経験豊富な Unix 管理者ならそれは百も承知だろう。そして、スクリプトのデバグにおいても、双方の最大活用、それこそが全てなのだ。