外部からアクセス過多が発覚し
DNS amp攻撃の踏み台になってるようなので
なんとかして下さい、ってお話がありました。
取り急ぎ、設定を加えて、外部からは拒否の方向で対処です。
==
/etc/named.conf の option に以下を追加。
allow-query {
localhost;
my-network;
};
allow-transfer { none; };
ついでに、各所に以下も追加。
allow-query { any; };
とりあえずこれでなんとかなるんじゃなかろうか、と思うのですが、
せっかくなので、fail2banでも入れておこうかと思います。
==
ここからfail2banの設定追加
/etc/named.conf に以下を追加し、ログファイルを書き出します。
logging { channel security_file { file "/var/log/named/security.log" versions 3 size 30m; severity dynamic; print-time yes; }; category security { security_file; }; };
ディレクトリ、/var/log/named をつくり、 chown a+w named とします。
そして、fail2banの設定で、
/etc/fail2ban/filter.d/named-refused.conf を編集、
どうも初期のfailregexではうまくヒットしないので、サーバー用に雑に変えてしまいました、
failregex = %(__line_prefix)sclient <HOST>#\S+( \([\S.]+\))?: (view (internal|external): )?query(?: \(cache\))? ‘.*’ denied\s*$
↓
failregex = %(__line_prefix)sclient <HOST>#\S+( \([\S.]+\))?: (view (internal|external): )?query(?: \(cache\))?( ‘.*’)? denied(\s*)?$
この設定はテストが可能なので、ちゃんとテストしましょう。
fail2ban-regex /var/log/named/security.log /etc/fail2ban/filter.d/named-refused.conf
次に、/etc/fail2ban/jail.confを修正し、namedを有効にします。
[named-refused-udp]
enabled = true
[named-refused-tcp]
enabled = true
これでfail2banを起動すれば大丈夫、のはず。