Catalog
BIND9 DNS
BIND9 DNS
| Pack name | BIND9 DNS |
| Version | 1.0.0 |
| Vendor | Internet Systems Consortium (ISC) |
| Capabilities | Parser · Streaming Rules · Correlation Rules · Dashboard |
| Categories | DNS · Network · Infrastructure Security |
Overview
Pack cung cấp khả năng giám sát bảo mật DNS server chạy ISC BIND9, bao gồm:
- Parser — chuẩn hóa log từ 3 channel BIND9 (queries, security, notify) sang ECS
- 5 streaming rules — phát hiện blocked query, TXT/ANY record abuse, zone transfer, query từ IP ngoài
- 2 correlation rules — phát hiện DNS query flood và blocked query burst
- 1 dashboard — 12 chart giám sát SOC DNS
Yêu cầu trước khi cài đặt
| Yêu cầu | Chi tiết |
|---|---|
| BIND9 9.11+ | Cấu hình logging với 3 channel: queries, security, notify |
| Log shipper | Filebeat/Fluentd/rsyslog đẩy log dạng JSON-wrapped về SecOps |
| Tag log source | vendor = bind9 |
| Quyền platform | Role Content Pack Manager |
Cấu hình BIND9 logging tối thiểu
logging {
channel query_log { file "/var/log/named/query.log"; print-time yes; severity dynamic; };
channel security_log { file "/var/log/named/security.log"; print-time yes; severity dynamic; };
channel notify_log { file "/var/log/named/notify.log"; print-time yes; severity dynamic; };
category queries { query_log; };
category security { security_log; };
category notify { notify_log; };
};
Định dạng log bắt buộc
{
"message": "<raw BIND9 log line>",
"timestamp": "2026-01-15T10:05:31.423Z",
"host": "bind9-server-01"
}
Parser đọc
timestampcho event time,host→host.hostname,message→ toàn bộ nội dung log.
Ví dụ log hợp lệ
Query log — DNS query bình thường:
{"timestamp":"2026-01-15T10:05:31.423Z","message":"22-Jan-2024 10:05:31.423 queries: info: client @0x7f1234 192.168.1.100#54321 (example.com): query: example.com IN A +E(0)KDC (10.0.0.1)","host":"bind9-server-01"}
Security log — query bị blocked:
{"timestamp":"2026-01-15T10:05:32.123Z","message":"22-Jan-2024 10:05:32.123 security: error: client @0x7f5678 192.0.2.15#12345 (malicious.com): query (cache) 'malicious.com/A/IN' denied","host":"bind9-server-01"}
Notify log — zone transfer notification:
{"timestamp":"2026-01-15T10:10:00.000Z","message":"22-Jan-2024 10:10:00.000 notify: info: zone example.com/IN: sending notifies (serial 2024012201)","host":"bind9-server-01"}
Parser phân biệt loại log qua từ khóa
queries:,security:,notify:trong message.
Cài đặt
- Vào Marketplace → tìm "BIND9 DNS Security" → Install
- Kiểm tra Parsers →
bind9-parserđang active - Kiểm tra Detection Rules → filter tag BIND9 → 7 rules đang enabled
- Mở Dashboards → BIND9 DNS Security Overview
Parser — Các trường ECS chính
| ECS Field | Nguồn | Mô tả |
|---|---|---|
event.action | Loại log channel | dns_query, dns_blocked, zone_notify |
event.outcome | Derived | success / failure |
log.level | Severity trong message | info, error, warning |
source.ip / source.port | Parsed từ message | IP và port client DNS |
dns.question.name | Parsed từ message | Domain được query |
dns.question.type | Parsed từ message | Loại record: A, AAAA, TXT, ANY, MX... |
host.hostname | .host | Tên DNS server |
labels.dns_server_ip | Parsed từ message | IP server nhận query |
Detection Rules
Streaming Rules (5 rules — real-time)
| # | Rule | Severity | Mô tả |
|---|---|---|---|
| 1 | BIND9 DNS Blocked Query | Medium | DNS query bị BIND9 từ chối — có thể là domain độc hại hoặc client không được phép truy vấn |
| 2 | BIND9 DNS TXT Record Query | Low | Query record TXT — thường được dùng cho DNS tunneling hoặc data exfiltration |
| 3 | BIND9 DNS ANY Record Query | Medium | Query record ANY — đặc điểm của DNS amplification attack hoặc reconnaissance |
| 4 | BIND9 Zone Transfer Notification | Low | BIND9 gửi NOTIFY zone transfer — cần xác minh zone slave server là hợp lệ |
| 5 | BIND9 DNS Query from External IP | High | Query DNS từ IP ngoài mạng nội bộ — DNS server không nên nhận external recursive query |
Correlation Rules (2 rules — pattern)
| # | Rule | Severity | Mô tả | Ngưỡng | Lookback |
|---|---|---|---|---|---|
| 6 | BIND9 DNS Query Flood | High | Hàng loạt query từ cùng IP trong thời gian ngắn — dấu hiệu DNS flood hoặc amplification | > 200 query | 5 phút |
| 7 | BIND9 DNS Blocked Query Burst | High | Nhiều query bị block liên tiếp từ cùng IP — dấu hiệu quét domain hoặc tấn công từ điển DNS | > 10 lần | 5 phút |
Dashboard — BIND9 DNS Security Overview
| # | Chart | Loại | Mô tả |
|---|---|---|---|
| 1 | DNS Events Trend | LINE | Trend query theo thời gian |
| 2 | Total DNS Events | METRIC | Tổng số sự kiện DNS |
| 3 | Total DNS Queries | METRIC | Tổng số query nhận được |
| 4 | Blocked Queries | METRIC | Tổng query bị blocked |
| 5 | Zone Notify Events | METRIC | Số sự kiện zone transfer notification |
| 6 | Event Category Distribution | PIE | Phân bố theo loại sự kiện |
| 7 | DNS Record Type Distribution | PIE | Phân bố loại record query (A, AAAA, TXT, ANY...) |
| 8 | Top Querying Source IPs | BAR | IP gửi nhiều query nhất |
| 9 | Top Blocked Source IPs | BAR | IP bị block nhiều nhất |
| 10 | Top Queried Domains | BAR | Domain được query nhiều nhất |
| 11 | Recent Blocked Queries | TABLE | 20 query bị block gần nhất |
| 12 | Recent Zone Transfer Events | TABLE | 20 sự kiện zone notify gần nhất |
SOC Triage nhanh:
- Metrics 3–4 → tỷ lệ blocked/total cao → DNS server đang bị probe hoặc misconfigured
- Chart 9 → một IP bị block nhiều → threat intelligence check ngay
- Chart 7 → TXT/ANY chiếm tỷ cao → nghi ngờ DNS tunneling hoặc amplification
- Table 11 → xác nhận domain bị block và IP nguồn
Troubleshooting
| Triệu chứng | Nguyên nhân | Cách xử lý |
|---|---|---|
| Không có event | Sai tag log source | Kiểm tra vendor = bind9 |
| Event nhưng field trống | Sai format message | Kiểm tra BIND9 log có print-time yes và đúng format |
| Chỉ có một loại event | Thiếu channel config | Bật đủ 3 channel: queries, security, notify trong BIND9 |
source.ip trống | BIND9 version khác nhau | Kiểm tra format log theo version BIND9 đang dùng |
| Parser không khớp | Parser bị tắt | Kiểm tra bind9-parser.yaml đang active trong Parsers |
Checklist parser:
- Tag
vendor = bind9 - JSON có đủ
message,timestamp(ISO 8601),host - BIND9 đã cấu hình 3 channel: queries, security, notify
-
bind9-parser.yamlđang active
Hỗ trợ
- Lỗi platform: Mở ticket tại SecOps support portal
- Góp ý pack: Dùng tính năng feedback trên trang Marketplace
- Tuning rule: Slack
#detection-engineering
Last updated: 2026-06-04 · Vendor: ISC · Author: secops-team