Hai trong những cơ chế phổ biến để bảo vệ email cũng như đảm bảo rằng những thông điệp được gửi đi thực sự đến từ nguồn gốc xác đáng là SPF và DKIM . Những khái niệm này không chỉ đóng vai trò quan trọng trong việc ngăn chặn thư rác (spam), mà còn giúp đảm bảo tính toàn vẹn và đáng tin cậy của các thông điệp điện tử. Vậy cụ thể SPF và DKIM là gì? Làm thế nào để tạo bản ghi DKIM?
SPF và 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 gửi từ một tên miền đã được xác quyền bởi người quản trị tên miền.
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. SPF chính 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).
Email gửi spam thường sử dụng địa chỉ email gửi giả mạo nên SPF được xem như là một kỹ thuật dùng để loại trừ email spam.
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ì?
Ngăn chặn việc giả mạo địa chỉ gửi
SPF cho phép tên miền xác định rõ ràng những máy chủ được ủy quyền để gửi email. Điều này ngăn chặn việc người khác giả mạo địa chỉ email của tên miền để gửi đi các thông điệp lừa đảo, gian lận hoặc thư rác.
Giảm nguy cơ bị xếp hạng thấp
Nhiều dịch vụ email và tổ chức đánh giá độ tin cậy của email dựa trên các bản ghi SPF. Nếu không có cấu hình SPF hoặc nó không được cấu hình chính xác, email của bạn có thể bị xem xét là không đáng tin cậy và dễ dàng bị đánh vào thư mục spam.
Cải thiện chất lượng giao tiếp
SPF giúp tăng tính toàn vẹn và đáng tin cậy của thông điệp điện tử. Điều này làm cho người nhận tin cậy hơn vào nguồn gốc của email, giảm nguy cơ bị lừa đảo và gian lận qua email.
Giảm nguy cơ bị phá hoại danh tiếng
Khi email của bạn bị lạm dụng để gửi thư rác hoặc các loại email không mong muốn, danh tiếng của tên miền có thể bị ảnh hưởng nghiêm trọng. SPF giúp ngăn chặn việc này bằng cách giới hạn việc gửi email từ các máy chủ không được ủy quyền.
Tối ưu hóa quản lý email
Cấu hình SPF giúp bạn có quyền kiểm soát rõ ràng về những máy chủ được phép gửi email thay mặt cho tên miền của bạn. Điều này giúp quản lý chất lượng và số lượng email gửi đi từ tên miền, đồng thời cải thiện khả năng phát hiện và giải quyết sự cố liên quan đến email.
DKIM là gì?
DKIM (DomainKeys Identified Mail) là một cơ chế xác thực và chứng thực cho email. Phương pháp được sử dụng để xác minh tính xác thực của một thông điệp email và đảm bảo rằng email đó không bị sửa đổi sau khi được gửi từ máy chủ gốc. DKIM giúp người nhận có thể kiểm tra xem một email có thực sự được gửi bởi tên miền quy định hay không, từ đó tăng tính toàn vẹn và đáng tin cậy của các thông điệp điện tử.
Khi gửi email, 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ụ:
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?
Đâ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. DKIM có tính năng đảm bảo email là chính xác (đị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: Tạo ra cặp khóa private/public thông qua một số phần mềm hỗ trợ (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 SPF và DKIM
SPF và DKIM có mỗi quan hệ như thế nào?
- Cả hai công nghệ đều giúp xác thực nguồn gốc của email. SPF xác định xem máy chủ gửi email có được ủy quyền bởi tên miền hay không. DKIM sử dụng chữ ký số để xác minh tính xác thực của email bằng cách so sánh chữ ký với nội dung của email.
- SPF giúp ngăn chặn việc giả mạo địa chỉ gửi email. DKIM đảm bảo rằng nội dung của email không bị thay đổi sau khi nó được ký bởi máy chủ gốc.
- Nhiều dịch vụ email và máy chủ sẽ xem xét các bản ghi SPF và DKIM để quyết định liệu email có nên được chấp nhận hay bị đánh vào thư mục spam.
- Khi cả hai cơ chế được sử dụng, người gửi có thể kiểm soát và xác định chất lượng email gửi đi, từ đó cải thiện khả năng phát hiện và giải quyết sự cố liên quan đến email.
Khác nhau
Mục tiêu chính:
- Mục tiêu chính của SPF là xác định xem máy chủ gửi email có được ủy quyền bởi tên miền gốc hay không.
- Mục tiêu chính của DKIM là xác minh tính xác thực của email và đảm bảo tính toàn vẹn của nội dung.
Cách hoạt động:
- SPF hoạt động bằng cách thiết lập các bản ghi DNS cho tên miền, cho biết những máy chủ IP nào được ủy quyền để gửi email từ tên miền đó. Máy chủ nhận email sau đó kiểm tra xem địa chỉ IP của máy chủ gửi có nằm trong danh sách máy chủ ủy quyền hay không.
- DKIM sử dụng chữ ký số để tạo một dấu ấn số cho email. Máy chủ gửi email tạo chữ ký số bằng cách mã hóa nội dung email và sử dụng khóa riêng của tên miền. Máy chủ nhận email sau đó sử dụng khóa công khai từ bản ghi DKIM trong DNS để giải mã chữ ký số và so sánh với nội dung email để xác minh tính xác thực.
Loại thông điệp:
- SPF áp dụng cho tất cả các loại thông điệp email, bao gồm cả văn bản và tập tin đính kèm.
- DKIM áp dụng cho toàn bộ nội dung của email, bao gồm cả tiêu đề và tài liệu đính kèm.
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.
Tóm lại, với sự mở rộng không ngừng của không gian trực tuyến và email trở thành phương tiện chính để trao đổi thông tin, việc sử dụng SPF và DKIM không chỉ là lựa chọn, mà là một phần thiết yếu của việc đảm bảo rằng thông điệp của bạn được gửi và nhận một cách an toàn, đáng tin cậy và không bị biến đổi trái phép.
Những câu hỏi thường gặp
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).
Làm thế nào để tạo cấu hình SPF cho tên miền của mình?
Để tạo cấu hình SPF, bạn cần thêm một bản ghi TXT vào bản đồ DNS của tên miền. Bản ghi này chứa quy tắc về các máy chủ hoặc địa chỉ IP được ủy quyền để gửi email từ tên miền của bạn. Cấu hình cụ thể phụ thuộc vào nhu cầu của bạn và hướng dẫn từ nhà cung cấp dịch vụ lưu trữ tên miền.
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ó thể sử dụng SPF và DKIM cùng nhau không?
Có, việc sử dụng SPF và DKIM cùng nhau là tốt để tăng cường bảo mật email. Cả hai công nghệ này hỗ trợ nhau trong việc ngăn chặn giả mạo địa chỉ email và bảo vệ nội dung email khỏi sự thay đổi trái phép.