Hiện nay, SPF DKIM là hai bản ghi được một số nhà cung cấp dịch vụ mail như Yahoo, Gmail, Hotmail … sử dụng nhiều nhất. Vậy “SPF – DKIM là gì – tạo bảng ghi DKIM ra sao? Chúng ta sẽ cùng nhau tìm hiểu trong bài viết này nhé!
SPF – DKIM là gì?
SPF là gì?
SPF (SPF Record – Sender Policy Framework) là một hệ thống đánh giá email nhằm phát hiện email có phải được giả mạo hay không nhờ vào cơ chế cho phép hệ thống nhận email, kiểm tra email được gửi từ một domain có được xác quyền bởi người quản trị domain.
Danh sách những máy chủ (host) sử dụng để gửi email được thông báo trong bảng ghi của DNS dưới dạng bảng ghi tên là TXT.
Email gửi spam thường sử dụng địa chỉ email gửi giả mạo, vì vậy SPF được xem như là một kỹ thuật dùng để loại trừ email spam.
Hiểu đơn giản, SPF là một bản ghi dạng TXT khai báo trên DNS, mục đích chính là để bên nhận mail có thế kiểm tra tính xác thực của nguồn gửi (theo IP).
Ví dụ:
“v=spf1 ip4:118.102.6.0/24 a mx ~all” đây chính là bản ghi TXT khai báo cấu hình SPF.
Trong đó:
- spf1: version của SPF
- ip4:118.102.6.0/24: Domain @zing.vn sẽ sử dụng dải IP này để gửi email
- a: sử dụng IP domain zing.vn, nếu ghi là a:server1.zing.vn thì nghĩa là sử dụng IP bản ghi A server1.zing.vn
- mx: giống như bản ghi A nhưng đây là bản ghi MX
- ~all: Nói với bên nhận email “Các IP ngoài các IP trên thì đều không phải gửi từ @zing.vn nhưng bạn hãy cứ nhận email và đánh dấu”
Bạn có thể tìm hiểu thêm về cấu trúc SPF tại đây.
Cấu hình SPF mang đến lợi ích gì?
Tăng độ tin tưởng với hệ thống bên nhận hơn khi nhận mail đến từ domain có khai báo SPF.
Nhận được sự ưu tiên của Gmail, Yahoo khi kiểm tra nhờ vào các email gửi từ domain có khai báo SPF.
DKIM là gì?
DKIM (DomainKeys Identified Mail) là một phương pháp xác thực email bằng chữ ký số của miền gửi thư, trong đó khóa công khai thường được công bố trên DNS dưới dạng một TXT record.
Khi gửi thư, bộ ký thư sẽ chèn lên đầu thư một trường DKIM-Signature có nội dung đặc biệt.
Ví dụ:
Code: DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=mycompany.com; s=sitec; t=1250425543;
bh=qQxSOEYYHCCISqVJ6pi/vUuNCr0EqMNkRSnD0B0TNFQ=;
h=Message-ID:From:To:Subject: Date:MIME-Version:Content-Type;
b=aiL+F+rqOdVxmR1V0bdfwsVOvMpwv1eMcCrX5I2C6U9CX+mkyepL3t0PwkW8pLSFc
CpJ5NvsBGqgOK4f2h89IubyYMFU0BkqZmtlBFlL+wyximVXLtHxO95WOxJX380tCet
XwofYIOK7tx45K41hG4T7+5ylNSuO1HHMpM/WfOM=
Trong đó:
- phiên bản DKIM (v)
- thuật toán ký (a)
- thuật toán chuẩn hóa xâu ký tự đưa đi ký (c)
- tên miền ký (d)
- tên cặp khóa, hay còn gọi là selector (s)
- dấu ấn thời gian (t)
- thời hạn hiệu lực của chữ ký (x)
- phương thức truy vấn để lấy khóa công khai (q)
- danh sách các trường của phần đầu thư được ký (h)
- độ dài phần thân thư được ký (l)
- giá trị hash của nội dung được ký (bh)
- chữ ký (b)
DKIM hoạt động như thế nào?
Phương pháp hoạt động
Đây là một phương pháp xác thực chứ không phải là một phương pháp chống spam. Vì có tính năng đảm bảo thư là thật (địa chỉ người gửi, hay ít nhất tên miền gửi thư là thật) trong khi thực tế đa số spam đều là thư giả mạo (mạo tên người khác, tên miền khác) nên nó hỗ trợ việc chống spam.
DKIM cung cấp cho hai hoạt động riêng biệt: chữ ký và xác minh. Một trong số chúng có thể được xử lý bởi một mô-đun của một tác nhân chuyển thư (MTA).
Tùy theo hệ thống Mail server khác nhau sẽ có hướng dẫn khác nhau về cấu hình DKIM ở phía server, nhưng hầu hết đều phải thực hiện các bước:
- Bước 1: Sinh ra cặp khóa private/public, có nhiều phần mềm hỗ trợ việc này (ví dụ: OpenSSL)
- Bước 2: Đưa khóa Public lên khai báo bản ghi TXT trên DNS theo đúng domain gửi email.
- Bước 3: Cấu hình Mail server sử dụng khóa private để ký vào email trước khi gửi email. Khóa này chỉ lưu trên Mail server nên không thể giả mạo.
Xử lý ở bên nhận
- Bước 1: Nhận được email từ bên gửi và thấy email có thông điệp được mã hóa do cấu hình DKIM.
- Bước 2: Query DNS để lấy khóa public của domain bên gửi để giải mã, nếu giả mã đúng thì xác nhận nguồn gửi và email đảm báo, ngược lại sẽ tùy chính sách của bên nhận để từ chối hoặc nhận email.
Nhận xét – So sánh
Giống nhau
Cả hai SPF và DKIM cố gắng để xác nhận tính xác thực của một người gửi tin nhắn bằng cách nhìn vào tên miền gửi và đủ điều kiện mà máy chủ gửi tin nhắn là hợp pháp.
Khác nhau
- SPF và DKIM mỗi phương pháp tiếp cận nhiệm vụ này khác nhau và có phương pháp riêng độc đáo.
- Mục tiêu chính khác nhau: SPF là để kiểm soát email giả mạo.
- Phương thức khác nhau: Không giống như Sender Policy Framework (SPF) xác nhận một tin nhắn ở mức phong bì bằng cách sử dụng các tiêu đề Return-Path, DKIM xác nhận một tin nhắn bằng cách sử dụng từ tiêu đề.
- Cấu hình thiết lập: Nếu SPF chỉ đơn giản đòi hỏi phải bổ sung thêm một mục nhập văn bản DNS của tên miền của bạn thì DKIM cấu hình phức tạp hơn so với SPF vì phải yêu cầu các thành phần phía máy chủ để xử lý chữ ký DKIM. Email Hầu hết các nhà cung cấp hosting hỗ trợ DKIM và có thể hỗ trợ bạn thiết lập DomainKeys cho tên miền của bạn và ghi văn bản cần thiết trong DNS của bạn để cho phép ký DKIM.
Cách tạo bản ghi DKIM
Bước 1: Truy cập vào Admin Console của Google => Apps => Google Apps => Gmail => Setup DKIM
Bước 2: Nhấp vào Generate new record và chọn Prefix selector là google, sau đó chọn Generate
Bạn sẽ chọn 1 trong 2 loại bản ghi DKIM:
- DKIM 1024: Nhiều nhà cung cấp dịch vụ DNS hỗ trợ. (Khuyến nghị nếu sử dụng nhà cung cấp DNS ở Vietnam)
- DKIM 2048: Ít nhà cung cấp dịch vụ DNS hỗ trợ, nhưng bảo mật cao hơn DKIM 1024 bit
Truy cập vào trang quản trị DNS và thêm vào 1 TXT records mà Google vừa tạo, tương tự như bên trong ảnh.
Bản ghi DKIM cần cấu hình trên DNS sẽ có giá trị như sau:
- Type: TXT
- Host/name: google._domainkey
- Value: *Giá trị mà quản trị viên vừa khởi tạo*
Bước 3: Sau khi cập nhật bản ghi TXT trên trang quản trị DNS như hướng dẫn trên, quản trị viên hệ thống quay trở lại Google Admin Console để xác thực email bằng cách Admin console => Apps => Google Apps => Gmail => Authenticate email => Nhấn chọn START AUTHENTICATION
Chúc mừng bạn đã tạo thành công bản ghi DKIM!
Tùy thuộc vào mỗi nhà cung cấp dịch vụ DNS mà bản ghi TXT này được cập nhật nhanh hay chậm. Nếu bản ghi TXT trên chưa được hệ thống cập nhật đầy đủ thì admin sẽ không thể xác thực email. Google luu ý có thể mất tới 48h để bản ghi này được cập nhật hoàn chỉnh.
FAQs về SPF DKIM
DKIM không làm được những gì?
Để tránh quá “ảo tưởng” hoặc quá tin tưởng về khả năng của DKIM, bạn nên lưu ý một số điểm sau:
- Không bảo vệ tin nhắn sau khi gửi đi
- Không đưa ra khẳng định về các hành vi của danh tính thực hiện ký
- Không có quy định đảm bảo việc thực hiện xác nhận ký thành công hay không
- Không bảo vệ chống lại việc gửi lại một tin nhắn có chữ ký hợp lệ. Đồng nghĩa với việc mọi tin nhắn hợp lệ đều có thể chuyển đi bất cứ ai và tin nhắn vẫn hợp lệ (dễ bị giả mạo).
Sự khác biệt giữa DKIM / DomainKeys (DK) là gì?
- DKIM sử dụng trường header RFC 2822 để lưu trữ chữ ký.
- DKIM hỗ trợ thẻ tên nhiều ký tự
- DKIM phân tách tiêu đề và tiêu chuẩn hoá nội dung
- DKIM cho phép một số giá trị vô hướng; trong DK các mảng phân tách bằng dấu hai chấm (:).
Cách thiết lập DKIM để ngăn email giả mạo ra sao?
Để thiết lập DKIM để ngăn email giả mạo, bạn có thể tham khảo bài viết gốc của Google tại đây nhé!
Có thể sử dụng DKIM key tên miền sẵn có cho Gmail hay không?
Theo Google, nếu bạn đã có một DKIM key có sẵn ở bất kỳ đâu. Khi sử dụng hoặc setup với Gmail, bạn sẽ cần phải thiết lập một DKIM mới.
CÔNG TY CỔ PHẦN TẬP ĐOÀN TINO
- Trụ sở chính: L17-11, Tầng 17, Tòa nhà Vincom Center, Số 72 Lê Thánh Tôn, Phường Bến Nghé, Quận 1, Thành phố Hồ Chí Minh
Văn phòng đại diện: 42 Trần Phú, Phường 4, Quận 5, Thành phố Hồ Chí Minh - Điện thoại: 0364 333 333
Tổng đài miễn phí: 1800 6734 - Email: sales@tino.org
- Website: www.tino.org