Tôi hiện đang chạy BIND đặt tên
trên các máy chủ truy cập Internet của tôi để phản hồi các yêu cầu truy vấn có thẩm quyền đối với các miền của tôi. Vì vậy, tôi đã cấu hình /etc/bind/named.conf.local
như sau để ghi nhật ký tất cả các truy vấn đến máy chủ DNS của tôi:
[…]
khai thác gỗ {
truy vấn kênh.log {
tệp "/var/log/named/query.log" phiên bản 10 kích thước 10m;
gỡ lỗi mức độ nghiêm trọng 3;
thời gian in có;
};
cấu hình danh mục { default_syslog; };
truy vấn danh mục { query.log; };
danh mục mặc định { null; };
};
Gần đây, các máy chủ của tôi bắt đầu ghi nhật ký nhiều truy vấn đến từ các địa chỉ IP trên khắp thế giới (xem các cuộc tấn công khuếch đại DNS được giải thích tại
https://www.linuxquestions.org/questions/linux-newbie-8/there-are-many-query-this-website-on-my-dns-server-4175676097/). tôi không muốn sử dụng fail2ban
để ngăn các địa chỉ IP đó thực hiện truy vấn đến máy chủ DNS của tôi, đơn giản vì có quá nhiều địa chỉ IP (ví dụ: hơn 500 IP được thu thập trong 24 giờ) và dường như không cần thiết phải điền địa chỉ IP của tôi. iptables
với các mục không cần thiết như vậy.
tôi chỉ muốn đặt tên
không đăng nhập các truy vấn phù hợp một cái gì đó như thế này để truy vấn.log
tệp (vì tệp nhật ký của tôi bắt đầu đầy và quay rất nhanh):
khách hàng .* (pizzaseo.com): truy vấn: pizzaseo.com TRONG RRSIG .*
Có một cấu hình trong đặt tên
điều đó sẽ cho phép tôi lọc ra một số mục truy vấn trước khi đăng nhập vào truy vấn.log
?
Tôi đã cân nhắc sử dụng "đường ống có tên" để chuyển tất cả đầu ra tới truy vấn.log
thông qua một tiếng kêu
chỉ huy. Tuy nhiên, điều này có thể có ảnh hưởng xấu đến BIND daemon nếu tiếng kêu
lệnh chết bằng cách nào đó và "đường ống có tên" trở nên đầy đủ.
Lưu ý rằng tôi cần phải đăng nhập tất cả các mục (ngoại trừ điều này pizzaseo
điều) cho một số mục đích/nhu cầu khác.