Chapter 12. スクリプトのデバグ

Table of Contents
12.1. デバグ、それは必要欠くべからざるもの
12.2. Bashデバグテクニック
12.3. デバグに役立つシステムツール
12.4. iptablesのデバグ
12.5. その他のデバグツール
12.5.1. Nmap
12.5.2. Nessus
12.6. まとめ

ルールセットを書き上げる上で、面倒でつい手を抜いてしまいがちなのが、いかにして自分のルールセットをデバグするか、間違った箇所をいかにして見つけるかということだ。このチャプターでは、スクリプトをデバグしたりどこが悪いのか調べる際の基本的なステップを示すとともに、頼みの綱となる周到な手段や、間違ったルールセットを走らせたせいでファイヤーウォールに接続できなくなってしまうのを防ぐ方法について説明する。

これからご教授する方法は、ルールセットが bash シェルスクリプトとして書いてあることを前提としているが、そうでない場合にも応用は利くはずだ。残念ながら、 iptables-save で保存されたルールセットはコード的には全くの別物なので、これから述べるデバグ手法はほとんど助けにならない。しかし一方、 iptables-save によるファイルはシェルスクリプトよりもずっとシンプルで、特定のルールを動的に作り出すようなスクリプトコードも内包できないため、デバグの手間があまりかからないというのも事実だ。