FC2ブログ

下流ネットワークエンジニアの生活

上流工程を夢見る下流工程のネットワークエンジニアがネットワーク技術や資格、身の回りのことを情報発信! Juniper Cisco YAMAHA DELL D-Link AlaxalA F5 CCNA CCNP CCIE ネットワークスペシャリスト

CentOS7 BIND9でDNSシンクホールを試してみる マルウェア対策 特定ドメインのDNSブロック

2017.07.24 (Mon)

マルウェア対策やアクセスさせたくないサイトへのアクセスを
DNSのレスポンスを無効なIPアドレスに書き換える手法、DNSシンクホールを試す。


■要件
・CentOS7上に構築
・非chroot環境
・特定のFQDNの問い合わせに対する回答を無効なIPアドレスを挿入してアクセスさせないようにする
・正規のFQDNはフォワーダーにて上位のDNSサーバ(ルーターやISP提供)に問い合わせる

■めも
・端末毎にhostsファイルを書かなくて良いので楽
・IPアドレス直アクセス通信には無力

※root権限で実施






1)bindのインストール

yum install -y named


2)named.confを修正

vi /etc/named.conf

以下をコピペ

------------------------------------------------------------------
acl "mynet" {
192.168.10.0/24;
};
options {
version "unknown";
listen-on port 53 { any; };
listen-on-v6 port 53 { ::1; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
allow-query { localhost; mynet; };

recursion yes;

forwarders {
192.168.10.1;
};
forward only;

dnssec-enable no;
dnssec-validation no;

/* Path to ISC DLV key */
bindkeys-file "/etc/named.iscdlv.key";

managed-keys-directory "/var/named/dynamic";

pid-file "/run/named/named.pid";
session-keyfile "/run/named/session.key";
};

logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
channel "query-log" {
file "/var/log/named/query.log";
print-time yes;
};
category queries { "query-log"; };
};

zone "." IN {
type hint;
file "named.ca";
};

include "/var/named/internal.zones";
include "/var/named/blacklisted.zones";
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
------------------------------------------------------------------


3)zoneファイルを置くディレクトリを作成

mkdir /var/named/ && mkdir /var/named/zones/



4)ブラックリスト用のzoneファイルを作成

vi /var/named/blacklisted.zones

以下をコピペ
------------------------------------------------------------------
zone "test.com" {type master; file "/var/named/zones/blockeddomains.db";};
zone "test.local" {type master; file "/var/named/zones/blockeddomains.db";};
zone "test2.local" {type master; file "/var/named/zones/blockeddomains.db";};
zone "test3.local" {type master; file "/var/named/zones/blockeddomains.db";};
※1行1zoneとなるように上記のようにblockしたいドメインを記述していく
------------------------------------------------------------------


vi /var/named/zones/blockeddomains.db

以下をコピペ
------------------------------------------------------------------
$TTL 3600
@ IN SOA ns1.mynet.local. info.mynet.local. (
2017071001 ; Serial
7200 ; Refresh
120 ; Retry
2419200 ; Expire
3600 ; Default TTL
)
;
IN NS block
A 127.0.0.100
* IN A 127.0.0.100
------------------------------------------------------------------



5)パーミッション&所有権を変更

chown named.named -R /var/named
chmod 640 /var/named/blacklisted.zones
chown root.named -R /var/named/blacklisted.zones
chmod 640 /var/named/zones/blockeddomains.db
chown root.named /var/named/zones/blockeddomains.db



6)namedの自動起動設定&起動

systemctl enable named
systemctl start named
関連記事
スポンサーサイト



コメント


管理者のみに表示

トラックバック