DNSBL (RBL) là gì? Cách hoạt động của danh sách đen DNS
DNSBL (DNS-based blacklist, còn gọi là danh sách chặn DNS hay RBL) là danh sách các địa chỉ IP hoặc tên miền mà đơn vị vận hành danh sách coi là nguồn phát tán thư rác hoặc lạm dụng, được công bố để bất kỳ ai cũng có thể kiểm tra bằng một truy vấn DNS thông thường. Máy chủ thư tra cứu từng người gửi đang kết nối trên một hoặc nhiều DNSBL, sau đó từ chối thư, chấp nhận thư, hoặc cộng kết quả vào điểm thư rác.
Hướng dẫn này giải thích cách hoạt động của một lần tra cứu DNSBL (địa chỉ IP đảo ngược, bản ghi A và TXT, định dạng nibble của IPv6), sự khác nhau giữa danh sách dựa trên IP và danh sách dựa trên tên miền, cách bên nhận thực sự sử dụng câu trả lời, sự khác biệt giữa danh sách đen và danh sách trắng (whitelist), vì sao địa chỉ bị liệt kê, và vị trí của một mục liệt kê khi email của bạn không được chuyển đến. Nội dung dựa trên RFC 5782 và tài liệu chính thức của các đơn vị vận hành danh sách lớn tính đến tháng 11 năm 2026.
DNSBL và RBL nghĩa là gì
RFC 5782, "DNS Blacklists and Whitelists", dùng thuật ngữ chung DNSxL để chỉ một vùng DNS có các bản ghi xác định những máy chủ nằm trong một danh sách. Danh sách đen là DNSBL; danh sách trắng là DNSWL. Cả hai được xây dựng theo cùng một cách. Chỉ có ý nghĩa mà bên nhận gán cho một lần khớp là khác nhau.
RBL là viết tắt của Real-time Blackhole List. Theo RFC, danh sách đầu tiên thuộc loại này ra đời năm 1997 và được biết đến với cái tên đó. Nói chính xác, RBL chỉ danh sách ban đầu đó và danh sách kế thừa của nó, và RFC lưu ý rằng thuật ngữ này là nhãn hiệu dịch vụ đã đăng ký tại Hoa Kỳ. Tuy nhiên, trong cách dùng hằng ngày, "RBL" và "DNSBL" được dùng gần như thay thế cho nhau, nên "RBL là gì" và "DNSBL là gì" thực chất là cùng một câu hỏi.
RFC 5782 là tài liệu mang tính thông tin (Informational), không phải tiêu chuẩn Internet. Tài liệu do nhóm IRTF Anti-Spam Research Group soạn thảo và thể hiện sự đồng thuận của nhóm về các thực hành giúp cải thiện khả năng tương thích giữa các danh sách đen và danh sách trắng DNS. Tài liệu không mô tả hay khuyến nghị chính sách thêm hoặc gỡ địa chỉ; RFC dự kiến điều đó sẽ được đề cập trong một tài liệu riêng. Trên thực tế, mỗi đơn vị vận hành tự đặt chính sách liệt kê và gỡ danh sách của mình.
Cách hoạt động của tra cứu DNSBL
Tra cứu DNSBL là một truy vấn DNS bình thường, nên việc kiểm tra thủ công không cần phần mềm đặc biệt: bất cứ thứ gì có thể phân giải tên miền đều truy vấn được danh sách. Tuy vậy, đơn vị vận hành danh sách có thể đặt điều khoản sử dụng. Ví dụ, máy chủ công cộng của Spamhaus chỉ miễn phí cho mục đích phi thương mại với lưu lượng thấp, và các truy vấn qua resolver công cộng không được trả lời một cách đáng tin cậy (xem bên dưới).
IPv4: đảo ngược địa chỉ và nối thêm vùng
Với địa chỉ IPv4, hãy viết bốn octet theo thứ tự ngược lại và nối thêm tên vùng (zone) của danh sách. Cấu trúc này được mượn từ DNS ngược. Ví dụ trong RFC 5782 kiểm tra 192.0.2.99 trên danh sách tại bad.example.com bằng cách tra cứu:
99.2.0.192.bad.example.comBản ghi A cho biết "bị liệt kê", bản ghi TXT cho biết lý do
- Bản ghi A. Mọi mục được liệt kê đều phải có bản ghi A. Theo quy ước, giá trị của nó là 127.0.0.2. Giá trị này là một tín hiệu, không phải địa chỉ, và không được dùng như địa chỉ; các danh sách dùng dải 127.0.0.0/8 để nếu giá trị bị dùng nhầm thì cũng không tạo ra lưu lượng mạng ngoài ý muốn.
- Không bị liệt kê. Nếu địa chỉ không nằm trong danh sách, sẽ không có bản ghi nào cho nó, nên truy vấn thường trả về NXDOMAIN.
- Bản ghi TXT. DNSBL nên công bố bản ghi TXT mô tả lý do liệt kê. Máy khách phải kiểm tra bản ghi A và có thể kiểm tra thêm bản ghi TXT.
- Giá trị khác nhau cho các danh sách con khác nhau. Một danh sách tổng hợp có thể trả về các giá trị 127.0.0.x khác nhau để cho biết danh sách con nào đã khớp, hoặc trả về nhiều bản ghi A cùng lúc. Ý nghĩa là riêng của từng danh sách, vì vậy hãy luôn đọc tài liệu của đơn vị vận hành. Hướng dẫn của chúng tôi về mã phản hồi DNSBL trình bày các mã thường gặp.
Từ terminal (vùng ở đây chỉ là ví dụ):
dig +short 99.2.0.192.bad.example.com A
dig +short 99.2.0.192.bad.example.com TXTMục kiểm thử
RFC 5782 yêu cầu danh sách IPv4 phải chứa mục cho 127.0.0.2 và không được chứa mục cho 127.0.0.1. Máy khách được kỳ vọng sẽ kiểm tra các mục kiểm thử này trước khi tin tưởng một vùng, và không dùng vùng trả lời sai các mục đó.
IPv6: định dạng nibble
Địa chỉ IPv6 được viết đầy đủ thành 32 chữ số thập lục phân, sau đó đảo ngược từng chữ số một (mỗi chữ số là một nibble), giữa các chữ số có dấu chấm, rồi nối thêm vùng của danh sách. Ví dụ trong RFC, cho 2001:db8:1:2:3:4:567:89ab trên ugly.example.com:
b.a.9.8.7.6.5.0.4.0.0.0.3.0.0.0.2.0.0.0.1.0.0.0.8.b.d.0.1.0.0.2.ugly.example.comDanh sách IPv6 phải chứa mục kiểm thử ::FFFF:7F00:2 (127.0.0.2 ở dạng địa chỉ IPv4-mapped) và không được chứa ::FFFF:7F00:1. Không phải danh sách nào cũng hỗ trợ IPv6, vì vậy hãy kiểm tra tài liệu của đơn vị vận hành trước khi dựa vào một lần tra cứu IPv6.
Danh sách dựa trên IP và dựa trên tên miền
Danh sách được chia thành hai nhóm chính, tùy theo nội dung chúng chứa.
| Loại | Tên được tra cứu | Bên nhận thường kiểm tra gì |
|---|---|---|
| Dựa trên IP | Địa chỉ IP đảo ngược cộng với vùng | IP của máy chủ đang kết nối; các IP tìm thấy trong trường header Received |
| Dựa trên tên miền (RHSBL) | Tên miền cộng với vùng | Tên HELO, tên miền MAIL FROM, tên miền trong các liên kết ở phần thân thư |
Trong ví dụ về tên miền của RFC 5782, invalid.edu được kiểm tra trên doms.example.net bằng cách tra cứu invalid.edu.doms.example.net. Danh sách dựa trên tên miền đôi khi được gọi là RHSBL (right-hand-side blacklist). Mục kiểm thử của chúng dùng các tên dành riêng: danh sách phải chứa TEST và không được chứa INVALID.
Spamhaus Domain Blocklist (dbl.spamhaus.org) là một ví dụ được dùng rộng rãi, và tài liệu của nó nêu vài điểm thực tế:
- Danh sách chỉ dành cho tên miền. Truy vấn bằng địa chỉ IP luôn trả về mã "bị liệt kê", vì vậy không được cấu hình nó như một DNSBL IP thông thường. Spamhaus khuyến nghị dùng ZEN (zen.spamhaus.org) cho tra cứu IP.
- Bạn có thể truy vấn một hostname đầy đủ; kết quả sẽ khớp nếu tên miền của host đó bị liệt kê.
- Trong phiên SMTP, danh sách được kiểm tra với chuỗi HELO và tên miền MAIL FROM. Sau khi thư được chấp nhận, danh sách được kiểm tra với các tên miền trong header và phần thân, chẳng hạn URL và địa chỉ liên hệ.
Hệ quả thực tế: một IP gửi thư sạch không bảo đảm thư sẽ được chuyển đến. Một tên miền gửi bị liệt kê, hoặc một tên miền bị liệt kê được liên kết trong thư, vẫn có thể khiến thư bị chặn.
Máy chủ nhận sử dụng DNSBL như thế nào
RFC 5782 mô tả cách thiết lập điển hình. Máy chủ thư kiểm tra một tập DNSxL đã cấu hình trên mỗi kết nối SMTP đến. Khớp với danh sách đen dẫn đến từ chối kết nối; khớp với danh sách trắng dẫn đến chấp nhận. Hoặc, kết quả được đưa vào một hàm chấm điểm và được cân nhắc cùng các tín hiệu khác. Các bộ lọc chạy sau khi thư đã được nhận thường lấy các IP cần kiểm tra từ trường header Received hoặc từ các URI trong phần thân.
Từ chối hay chấm điểm?
Lựa chọn đó thuộc về bên nhận. Chính trang câu hỏi thường gặp của SpamCop gọi danh sách của họ là một công cụ mạnh tay và khuyến nghị gắn nhãn hoặc chuyển hướng thư nghi là thư rác, hoặc dùng danh sách như một yếu tố trong điểm số, thay vì từ chối thư thẳng thừng. Họ mô tả các thiết lập từ chối là thông tin dành cho những quản trị viên không thể áp dụng cách tiếp cận tinh tế hơn.
Những rủi ro mà bên nhận được cảnh báo
- Bạn đang ủy thác quyền phán đoán. Dùng DNSxL nghĩa là giao một phần việc quản lý máy chủ của bạn cho đơn vị vận hành danh sách. RFC cho biết bạn nên bảo đảm chính sách của danh sách nhất quán với chính sách của bạn.
- Danh sách ngừng hoạt động. Một đơn vị vận hành khi đóng cửa danh sách có thể cài một bản ghi wildcard liệt kê mọi địa chỉ. Các mục kiểm thử ở trên là cách để máy khách nhận ra điều này.
- Bộ nhớ đệm. Máy chủ có thể lưu đệm kết quả nhưng phải tôn trọng TTL và loại bỏ các bản ghi đã hết hạn.
- Resolver công cộng. Câu hỏi thường gặp của Spamhaus cho biết các truy vấn qua Google Public DNS trong hầu hết trường hợp sẽ trả về "không bị liệt kê", nên các mục liệt kê thực sự bị bỏ sót. Các mã trong dải 127.255.255.x là lỗi, chẳng hạn 127.255.255.254 cho truy vấn qua một resolver công cộng bị chặn, và không được hiểu là "bị liệt kê". Spamhaus lưu ý một số máy chủ đã nhầm lẫn từ chối toàn bộ thư vì điều này và khuyến nghị tự vận hành resolver riêng.
Đây là một lý do khiến hai công cụ kiểm tra có thể cho kết quả khác nhau về cùng một địa chỉ: chúng có thể đang truy vấn qua các resolver khác nhau.
Danh sách đen và danh sách trắng (DNSBL và DNSWL)
DNSBL và DNSWL được truy vấn theo cùng một cách, nhưng một lần khớp lại mang ý nghĩa ngược nhau. Theo RFC 5782, người quản lý mạng thường dùng DNSBL để chặn lưu lượng và dùng DNSWL để ưu tiên chấp nhận lưu lượng. Cùng một danh sách thậm chí có thể đóng vai trò danh sách đen trong bối cảnh này và danh sách trắng trong bối cảnh khác.
| Khía cạnh | DNSBL (danh sách đen) | DNSWL (danh sách trắng) |
|---|---|---|
| Mục đích | Từ chối hoặc trừ điểm | Chấp nhận hoặc cộng điểm tin cậy |
| Bản ghi TXT | Nên giải thích lý do liệt kê | Ít hữu ích hơn, vì SMTP không thể cho máy khách biết lý do được chấp nhận; dù vậy một số danh sách vẫn công bố |
| Giá trị bản ghi A | Có bị liệt kê hay không, và thuộc danh sách con nào | Có thể mang điểm uy tín hoặc mức độ tin cậy |
dnswl.org (list.dnswl.org) là một ví dụ về danh sách trắng. Tài liệu của họ cho biết câu trả lời có dạng 127.0.x.y, trong đó x là danh mục và y là mức tin cậy từ 0 (không có) đến 3 (cao). Họ gợi ý cho phép các host được liệt kê bỏ qua greylisting và kiểm tra danh sách đen, cho phép các host có mức tin cậy trung bình và cao bỏ qua lọc thư rác, và không bao giờ bỏ qua quét virus. Mục whitelist được miễn trừ đến mức nào vẫn do bên nhận quyết định.
Những lý do phổ biến khiến IP hoặc tên miền bị liệt kê
Mỗi đơn vị vận hành tự đặt tiêu chí, và nhiều bên giữ kín các điều kiện kích hoạt cụ thể. Những lý do dưới đây lấy từ tài liệu công bố của các đơn vị vận hành.
- Báo cáo thư rác và bẫy thư rác. SpamCop Blocking List chứa các IP đã gửi thư bị người dùng SpamCop báo cáo, với trọng số cao hơn cho thư gửi tới bẫy thư rác (spam trap: các địa chỉ bị kẻ phát tán thư rác thu thập hoặc tạo ra). Câu hỏi thường gặp của họ cho biết nếu không có thêm báo cáo, một mục liệt kê chỉ kéo dài 24 giờ, và địa chỉ được gỡ tự động khi các báo cáo dừng lại.
- Thiết bị bị nhiễm hoặc bị xâm nhập. Spamhaus XBL tự động liệt kê IP dựa trên bằng chứng như mã độc, ứng dụng "VPN miễn phí" chuyển lưu lượng của bên thứ ba qua thiết bị, tham gia tấn công brute-force, hoặc cố gắng chuyển tiếp thư bằng thông tin đăng nhập bị đánh cắp. Nếu nguyên nhân vẫn còn, IP sẽ bị liệt kê lại vào lần kết nối tiếp theo.
- Cấu hình sai và quản lý danh sách nhận thư kém. Spamhaus CSS nêu các trường hợp như tên HELO không khớp với DNS thuận, trang web và bản cài CMS bị xâm nhập, thiết lập thiếu an toàn, và danh sách gửi thư được duy trì kém. Spamhaus nêu rằng nguyên nhân phải được xác định và khắc phục trước khi gỡ.
- Liệt kê theo chính sách. Spamhaus PBL bao gồm các không gian địa chỉ, thường là băng rộng dân dụng, không nên gửi thư trực tiếp. Spamhaus cho biết một mục PBL không phải là kết quả của bất cứ điều gì người dùng cuối đã làm; thư từ các dải này được kỳ vọng sẽ được gửi qua một máy chủ SMTP có xác thực.
- Hạ tầng dùng chung. Trên hosting chia sẻ, việc gửi thư của một khách hàng khác có thể ảnh hưởng đến IP bạn đang dùng. Xem cách xử lý khi IP hosting chia sẻ bị đưa vào danh sách đen.
Vị trí của DNSBL khi email không được chuyển đến
Việc bị liệt kê trên DNSBL là một nguyên nhân có thể khiến thư không được chuyển đến, không phải nguyên nhân duy nhất. Địa chỉ sai, hộp thư đầy, sự cố phía người nhận và thiếu xác thực cũng có thể gây ra thư bị trả về. Khi có danh sách liên quan, thư báo lỗi thường nêu tên danh sách hoặc kèm một URL tra cứu.
- Đọc thư báo lỗi. Ghi lại mã phản hồi và mọi tên danh sách hoặc URL trong nội dung.
- Xác định IP và tên miền gửi thư của bạn. Dùng các dòng Received trong header, hoặc hỏi người vận hành máy chủ.
- Kiểm tra các danh sách lớn cùng lúc. Dùng công cụ kiểm tra danh sách đen, sau đó xác nhận mọi kết quả khớp trên trang tra cứu của chính đơn vị vận hành.
- Khắc phục nguyên nhân. Lần lượt xem xét các nguyên nhân ở trên. Yêu cầu gửi trước khi nguyên nhân được khắc phục thường dẫn đến việc bị liệt kê lại.
- Làm theo quy trình của đơn vị vận hành đó. Một số danh sách tự hết hạn, một số nhận yêu cầu gỡ, và một số chỉ chấp nhận yêu cầu từ chủ sở hữu mạng. Quyết định gỡ khỏi danh sách luôn thuộc về đơn vị vận hành danh sách, và một yêu cầu không phải là lời hứa sẽ được gỡ.
Bên nhận cũng chạy bộ lọc riêng, nên thư có thể chưa lưu thông trở lại ngay khi mục liệt kê kết thúc. Để biết toàn bộ trình tự xử lý sự cố, xem email bị blacklist: cách đọc thư báo lỗi, và về xác thực, xem thiết lập SPF, DKIM và DMARC. Nếu bạn không thể tự xác định nguyên nhân, bạn có thể nhờ chúng tôi hỗ trợ.
Chúng tôi giới thiệu các nhà cung cấp nhận làm yêu cầu gỡ tên (delist), tư vấn và hỗ trợ (từ JPY 50,000). Việc gỡ tên do từng đơn vị quản lý danh sách quyết định và không thể được cam kết.
Nhận hỗ trợTrang web này có thể nhận phí giới thiệu từ các nhà cung cấp được liệt kê. About
Câu hỏi thường gặp
RBL có giống DNSBL không?
Trên thực tế là có. RBL là tên của danh sách đầu tiên ra đời năm 1997, còn RFC 5782 dùng DNSBL làm thuật ngữ chung. Ngày nay hầu hết mọi người dùng hai từ này thay thế cho nhau.
Tra cứu trả về 127.0.0.2. Điều đó có nghĩa là gì?
Theo quy ước được mô tả trong RFC 5782, 127.0.0.2 nghĩa là địa chỉ bị liệt kê. Danh sách tổng hợp dùng các giá trị khác nhau cho các danh sách con khác nhau, và một số giá trị, chẳng hạn các mã 127.255.255.x của Spamhaus, là lỗi chứ không phải mục liệt kê. Hãy xem tài liệu của đơn vị vận hành để biết ý nghĩa chính xác.
Nếu tôi nằm trong một DNSBL, toàn bộ email của tôi có bị trả về không?
Không hẳn. Mỗi bên nhận tự chọn dùng danh sách nào và khi khớp thì từ chối hay chỉ cộng vào điểm thư rác. Đó là lý do thư gửi tới một số người nhận có thể thất bại trong khi thư gửi tới những người khác vẫn đến nơi.
Có thể kiểm tra địa chỉ IPv6 trên DNSBL không?
RFC 5782 định nghĩa một định dạng IPv6, trong đó toàn bộ địa chỉ được đảo ngược từng chữ số thập lục phân một. Không phải danh sách nào cũng hỗ trợ IPv6, vì vậy hãy kiểm tra xem danh sách bạn quan tâm có hỗ trợ IPv6 hay không.
Nằm trong danh sách trắng có nghĩa là thư của tôi sẽ không bao giờ bị lọc?
Không. Mục whitelist là một tín hiệu mà bên nhận có thể sử dụng theo cách họ thấy phù hợp. Ví dụ, dnswl.org gợi ý chỉ bỏ qua lọc thư rác đối với các mục có mức tin cậy trung bình và cao, và không bao giờ bỏ qua quét virus.
Các trang chính thức được tham khảo
Thông tin trong bài viết này đã được đối chiếu với các trang chính thức dưới đây tại thời điểm đăng. Chính sách và cách vận hành có thể thay đổi mà không báo trước, vì vậy bạn hãy kiểm tra lại các trang chính thức trước khi dựa vào thông tin cho việc quan trọng.
- RFC 5782: DNS Blacklists and Whitelists
- Spamhaus FAQ: DNSBL Usage
- Spamhaus: Domain Blocklist (DBL)
- Spamhaus: Exploits Blocklist (XBL)
- Spamhaus: Combined Spam Sources (CSS)
- Spamhaus: Policy Blocklist (PBL)
- SpamCop FAQ: What is the SpamCop Blocking List (SCBL)?
- SpamCop FAQ: How do I configure my mailserver to reject mail based on the blocklist?
- dnswl.org: Return codes and recommended usage
Hướng dẫn liên quan
Cách đọc mã trả về DNSBL: ý nghĩa của 127.0.0.2 theo RFC 5782, mã của Spamhaus, SpamCop và UCEPROTECT, mã lỗi, và NXDOMAIN khác SERVFAIL thế nào.
Email bị chặn vì danh sách đen? Đọc mã lỗi trả lại, kiểm tra nguyên nhân theo đúng thứ tự, xác định danh sách nào quan trọng và yêu cầu gỡ đúng cách.
Bị Spamhaus liệt kê? Xác định bạn nằm trong danh sách nào (ZEN, PBL, XBL, CSS, SBL, DBL), ý nghĩa của mã trả về và cách gỡ tên đúng cho từng danh sách.