どうも、最近急にiPhoneのバッテリ消費が激しくなって、バックグラウンド通信を抑制したら解消したディーネットの山田です。
さて、今回はiptablesのルールにコメントをつけてみようと思います。
目次
課題
iptablesをファイアウォール機能として使っている場合、ルールが多くなってくると管理が煩雑になり
ルールが何を指しているのか理解に苦しい状況。
解決策
iptablesでルール一覧を表示したときにコメントが表示されれば、何のルールなのかが一目でわかるし
iptablesについてあまり詳しくない方でも理解しやすいので、コメントを加えたルールを登録してみる。
言葉で説明してもピンとこないと思うので、実践してみます。
コメントなしのルール一覧
# iptables -L INPUT -n
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED
ACCEPT all -- 127.0.0.1 0.0.0.0/0
ACCEPT all -- 192.0.2.1 0.0.0.0/0
ACCEPT all -- 192.0.2.2 0.0.0.0/0
ACCEPT all -- 192.0.2.3 0.0.0.0/0
ACCEPT all -- 192.0.2.4 0.0.0.0/0
ACCEPT all -- 192.0.2.5 0.0.0.0/0
ACCEPT all -- 192.0.2.6 0.0.0.0/0
ACCEPT all -- 8.8.8.8 0.0.0.0/0
ACCEPT all -- 8.8.4.4 0.0.0.0/0
ACCEPT all -- 10.0.0.0/8 0.0.0.0/0
ACCEPT all -- 172.16.0.0/12 0.0.0.0/0
ACCEPT all -- 192.168.0.0/16 0.0.0.0/0
DROP all -- 0.0.0.0/0 0.0.0.0/0
もし、こんな設定がされているとしてパッと見て何がなんのルールかわかりますか?
iptablesについて詳しい方ならすぐにわかると思いますが、あまり詳しくない方はわかりませんよね。
さらに、どのルールがいつ追加されたとかもこれではわからないので別途手順書などの作業履歴と併用して後追いをしていると思います。
そんなとき、iptablesのルールにコメントがつけることができるとしたら?便利だと思いませんか。
では、コメントを追加した場合の表示結果をみて頂きましょう。
コメントありのルール一覧
# iptables -L INPUT -n
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED /* 20180419 yamada / 戻りのパケットを許可 */
ACCEPT all -- 127.0.0.1 0.0.0.0/0 /* 20180419 yamada / ローカル通信を許可 */
ACCEPT all -- 192.0.2.1 0.0.0.0/0 /* 20180419 yamada / 管理者端末①を許可 */
ACCEPT all -- 192.0.2.2 0.0.0.0/0 /* 20180419 yamada / 管理者端末②を許可 */
ACCEPT all -- 192.0.2.3 0.0.0.0/0 /* 20180419 yamada / 管理者端末③を許可 */
ACCEPT all -- 192.0.2.4 0.0.0.0/0 /* 20180419 yamada / 管理者端末④を許可 */
ACCEPT all -- 192.0.2.5 0.0.0.0/0 /* 20180419 yamada / 管理者端末⑤を許可 */
ACCEPT all -- 192.0.2.6 0.0.0.0/0 /* 20180419 yamada / 管理者端末⑥を許可 */
ACCEPT all -- 8.8.8.8 0.0.0.0/0 /* 20180419 yamada / Google Public DNS①を許可 */
ACCEPT all -- 8.8.4.4 0.0.0.0/0 /* 20180419 yamada / Google Public DNS②を許可 */
ACCEPT all -- 10.0.0.0/8 0.0.0.0/0 /* 20180419 yamada / プライベートAの通信を許可 */
ACCEPT all -- 172.16.0.0/12 0.0.0.0/0 /* 20180419 yamada / プライベートBの通信を許可 */
ACCEPT all -- 192.168.0.0/16 0.0.0.0/0 /* 20180419 yamada / プライベートCの通信を許可 */
DROP all -- 0.0.0.0/0 0.0.0.0/0 /* 20180419 yamada / あてはまらなかった通信は全て拒否 */
どうでしょう、コメントをつけるだけで誰がいつ追加したのか、このルールは何なのかが一目でわかりますね。
コメントを追加する方法
iptablesのコマンド行に以下も交えて発行するだけ
-m comment --comment "{※コメントしたい内容を記載する}"
例だとこんな感じ(一部抜粋)で発行しました。
iptables -A INPUT -s 192.168.0.0/16 -m comment --comment "20180419 yamada / プライベートCの通信を許可" -j ACCEPT
iptables -A INPUT -m comment --comment "20180419 yamada / あてはまらなかった通信は全て拒否" -j DROP
どうですか、感じを掴んで頂けましたでしょうか。
iptablesはLinuxサーバを扱っていく上での基礎なので、ある程度ルールは読み書きできるようになっておきましょう。
iptablesは色々機能をもっているので、またの機会があれば紹介しようと思います。