Giới thiệu
Một cấu hình DNS không chính xác có thể khiến thương hiệu của bạn dễ bị tấn công phishing, lạm dụng spam và thậm chí là thời gian ngừng hoạt động. Là một trưởng nhóm DevOps, bạn có thể đang phải quản lý các pipeline CI, bảng điều khiển giám sát và một danh sách ngày càng tăng các dịch vụ. Danh sách kiểm tra này cung cấp cho bạn một cách tiếp cận thực tiễn, từng bước để bảo vệ những bề mặt tấn công phổ biến nhất trong DNS và xác thực email - tất cả đều không làm gián đoạn quy trình làm việc hiện tại của bạn.
1️⃣ Xác minh các bản ghi DNS chính
Trước khi bạn bắt đầu với các phần mở rộng bảo mật, hãy đảm bảo rằng các phần cơ bản đã được thiết lập chính xác.
- Bản ghi A / AAAA – Đảm bảo trỏ đến các IP chính xác và tránh các chuỗi CNAME làm tăng độ trễ.
- Làm phẳng CNAME – Nếu nhà cung cấp của bạn hỗ trợ, hãy sử dụng làm phẳng cho các miền đỉnh để giảm bớt các tìm kiếm thêm.
- Bản ghi MX – Đảm bảo chúng chỉ tham chiếu đến các máy chủ mail mà bạn kiểm soát.
- Bản ghi NS – Giữ chúng giới hạn ở các máy chủ tên ủy quyền mà bạn thực sự điều hành.
- Giá trị TTL – Đặt TTL thấp (300–600 giây) trong quá trình thay đổi, sau đó tăng lên 1 giờ hoặc hơn để giữ ổn định.
2️⃣ Củng cố Email với SPF, DKIM và DMARC
Ba bản ghi này làm việc cùng nhau để chứng minh rằng miền của bạn là người gửi email hợp lệ.
SPF (Sender Policy Framework)
Tạo một bản ghi TXT liệt kê mọi máy chủ được phép gửi mail thay mặt cho miền của bạn.
example.com. IN TXT "v=spf1 ip4:192.0.2.0/24 include:_spf.google.com -all"
ip4/ip6– Liệt kê các dải máy chủ mail của bạn.include– Kéo vào các dịch vụ bên thứ ba (Gmail, SendGrid, v.v.).-all– Từ chối bất kỳ người gửi không được ủy quyền nào.
DKIM (DomainKeys Identified Mail)
Tạo một cặp khóa công khai/riêng tư và công bố khóa công khai dưới dạng bản ghi TXT.
default._domainkey.example.com. IN TXT "v=DKIM1; k=rsa; p=MIIBIjANBgkqh..."
- Đổi khóa mỗi 6‑12 tháng.
- Căn chỉnh bộ chọn (
defaultở trên) với cấu hình máy chủ mail của bạn.
DMARC (Domain-based Message Authentication, Reporting & Conformance)
DMARC cho biết các máy chủ nhận nên làm gì khi SPF hoặc DKIM không thành công, và nơi gửi báo cáo tổng hợp.
_dmarc.example.com. IN TXT "v=DMARC1; p=reject; rua=mailto:dmarc-reports@example.com; ruf=mailto:forensic@example.com; fo=1"
p=reject– Hướng dẫn người nhận loại bỏ mail không được xác thực.rua/ruf– Thu thập báo cáo hàng ngày để theo dõi lạm dụng.- Bắt đầu với
p=noneđể theo dõi, sau đó chuyển sangquarantinevà cuối cùng làreject.
3️⃣ Triển khai DNSSEC
DNSSEC thêm một chữ ký mã hóa vào mỗi phản hồi DNS, ngăn chặn việc tiêm cache.
- Tạo khóa ZSK và KSK trên máy chủ ủy quyền của bạn (BIND, PowerDNS, v.v.).
- Ký miền và công bố bản ghi DS tại nhà đăng ký của bạn.
- Kích hoạt xác thực DNSSEC trên các bộ giải quyết đệ quy (ví dụ: Unbound, Cloudflare DNS).
# Ví dụ với BIND
dnssec-keygen -a RSASHA256 -b 2048 -n ZONE example.com
dnssec-signzone -o example.com -k Kexample.com.+005+12345 example.com.zone
- Đổi khóa hàng năm.
- Xác minh chữ ký với
dig +dnssec example.com.
4️⃣ Thêm Bản ghi CAA để Ngăn Chặn Cấp Chứng Nhận Không Được Ủy Quyền
Chứng nhận Cơ quan Ủy quyền (CAA) cho biết các CA nào được phép cấp chứng nhận cho miền của bạn.
example.com. IN CAA 0 issue "letsencrypt.org"
example.com. IN CAA 0 issuewild ";"
- Sử dụng
issuecho các chứng nhận thông thường. - Sử dụng
issuewild ""để chặn các chứng nhận wildcard trừ khi được cho phép rõ ràng. - Thêm các thẻ
iodefđể nhận báo cáo vi phạm.
5️⃣ Củng cố Lớp Phân Giải
Ngay cả khi vùng ủy quyền của bạn đã được bảo vệ, một bộ giải quyết cho phép có thể rò rỉ thông tin.
- Kích hoạt DNS over TLS (DoT) hoặc DNS over HTTPS (DoH) trên các máy chủ đệ quy của bạn.
- Giới hạn tốc độ truy vấn để giảm thiểu các cuộc tấn công khuếch đại (
rate-limittrong BIND). - Chặn các bộ giải quyết công khai truy vấn các vùng nội bộ bằng cách sử dụng
allow-queryACLs.
options {
rate-limit {
responses-per-second 5;
window 5;
};
allow-query { trusted; };
listen-on { 127.0.0.1; };
};
6️⃣ Giám sát và Cảnh báo Liên Tục
Tự động hóa là chìa khóa. Tích hợp các kiểm tra DNS vào pipeline CI/CD của bạn.
- Kiểm tra sức khỏe – Sử dụng
dig +short @ns1.example.com example.comtrong một cron job. - Cảnh báo hết hạn – Các công cụ như
certbotcũng có thể cảnh báo khi các khóa DNSSEC gần đến thời gian thay đổi. - Phân tích nhật ký – Chuyển nhật ký BIND đến một SIEM (ví dụ: Elastic Stack) và thiết lập các cảnh báo cho các đỉnh NXDOMAIN.
7️⃣ Sao lưu và Phục hồi Thảm họa
Đừng bao giờ giả định rằng một tệp vùng là không thể thay đổi.
- Lưu trữ các tệp vùng đã ký trong kho lưu trữ kiểm soát phiên bản (Git).
- Giữ các bản sao lưu mã hóa của cấu hình máy chủ DNS của bạn.
- Kiểm tra khả năng phục hồi bằng cách tải vùng trên một bộ giải quyết staging trước khi xảy ra sự cố thực sự.
Những suy nghĩ cuối cùng
Bảo mật DNS và xác thực email là một cuộc chạy marathon, không phải một cuộc đua nước rút. Bằng cách làm theo danh sách kiểm tra này, bạn sẽ giảm thiểu đáng kể nguy cơ giả mạo, phishing và các cuộc tấn công dựa trên DNS trong khi giữ cho cơ sở hạ tầng của bạn có thể quan sát và phục hồi. Đối với các nhóm cần một đối tác để xem xét chiến lược củng cố DNS của họ hoặc cung cấp chuyên môn theo yêu cầu, hãy xem xét việc kiểm tra lacidaweb.com để có một cuộc tư vấn dễ dàng.