Triển khai trên K8s
Triển khai trên VM
Mục tiêu triển khai DNS
Hệ thống DNS cần đáp ứng:
1. Khả năng phân giải tên miền nội bộ
Hỗ trợ phân giải các dịch vụ:
- Active Directory Domain Services (AD DS)
- Email Server (Exchange, Zimbra, M365 hybrid)
- Hệ thống các nội bộ
- Kubernetes, microservices nội bộ
- Máy chủ ứng dụng, database, load balancer
2. Đảm bảo tính sẵn sàng cao (High Availability)
- Triển khai mô hình Primary/Secondary
- Multi-region hoặc multi-datacenter
- Failover DNS
3. Đảm bảo bảo mật
- Hỗ trợ DNSSEC
- Chống DNS Spoofing, Cache poisoning
- Giới hạn truy cập theo dải IP nội bộ
- Hỗ trợ logging & audit
- Tách DNS nội bộ và DNS public
4. Quản lý tập trung và tự động hóa
- API quản lý DNS
- Tích hợp với hệ thống CI/CD hoặc IaC: Ansible
- Hỗ trợ dynamic update khi cấp phát IP tự động
Kiến trúc DNS nên triển khai
1. Mô hình tách biệt DNS nội bộ (Private DNS) và DNS public
+---------------------------+
| Public DNS Server |
| (quản lý domain internet) |
+---------------------------+
+---------------------------+
| Internal DNS Server |
| (Private zone nội bộ) |
+---------------------------+
- DNS public chứa bản ghi cho website, mail MX, dịch vụ công khai.
- DNS private chứa bản ghi cho các server nội bộ.
2. Kiến trúc High Availability triển khai:
- 02 DNS Server nội bộ Primary + Secondary
- 02 DNS Server public (ở Data center hoặc cloud)
3. Tích hợp Active Directory:
- Dùng chính DNS của AD (AD-Integrated Zone)
- Hỗ trợ Replication tự động
- Cho phép Dynamic Update
4. DNS Forwarding & Caching
DNS nội bộ nên forward ra:
- Public DNS an toàn (Google, Cloudflare)
- DNS nhà mạng (nếu cần truy cập nội địa nhanh)
Thành phần kỹ thuật khi triển khai DNS
1. Lựa chọn nền tảng DNS
Các lựa chọn phổ biến:
| Nền tảng | Mục đích |
|---|---|
| Windows DNS (AD) | Rất phù hợp cho mô hình AD DS |
| PowerDNS | Có API, phù hợp DevOps và cloud |
| CoreDNS | Kubernetes DNS, Cloud-native |
2. Các bản ghi DNS quan trọng
- A/AAAA → ánh xạ hostname -> IP
- CNAME → định danh alias
- MX → mail server
- PTR → reverse DNS
- TXT → SPF, DKIM, DMARC
- SRV → AD, SIP, VoIP
Yêu cầu bảo mật khi triển khai DNS
1. Tách biệt DNS internal / external
Tránh lộ sơ đồ hệ thống nội bộ ra Internet.
2. Bật DNSSEC nếu quản lý DNS public
Tránh bị giả mạo bản ghi.
3. Giới hạn truy cập DNS
Chỉ cho phép client nội bộ gọi đến DNS server nội bộ.
4. Bật logging và audit
Theo dõi truy vấn bất thường (Indicator of Attack).
5. Giới hạn recursion
Tránh bị kẻ tấn công lợi dụng làm ampli DDoS.
Các bước triển khai DNS
Bước 1 — Khảo sát & thiết kế
- Thu thập domain, subdomain
- Thu thập danh sách dịch vụ cần DNS
- Xác định yêu cầu HA
- Chọn nền tảng công nghệ
Bước 2 — Xây dựng kiến trúc
- Thiết kế sơ đồ mạng
- Tách internal zone và external zone
- Thiết kế backup & replication
Bước 3 — Cài đặt hệ thống
- Cài đặt DNS server (BIND/AD/PowerDNS)
- Cấu hình zone và bản ghi
- Cấu hình replication/secondary
Bước 4 — Kiểm thử
- Kiểm thử phân giải
- Kiểm thử failover
- Kiểm thử bảo mật DNSSEC (nếu có)
Bước 5 — Bàn giao & đào tạo
- Hướng dẫn vận hành
- Xây dựng quy trình quản lý bản ghi DNS
Quy trình vận hành DNS dạng chuẩn
- Quy trình thêm/sửa bản ghi DNS
- Quy trình thay đổi IP của dịch vụ
- Quy trình kiểm tra lỗi DNS
- Quy trình backup & restore zone file
- Quy trình thay đổi DNSSEC key
- Quy trình giám sát dns query bất thường
Công cụ giám sát DNS
- Zabbix (template DNS)
- Prometheus + Grafana
- ELK/Opensearch log DNS
- DNSTap
- Splunk