Hệ thống email là một trong những hệ thống quan trọng đối với hầu hết các doanh nghiệp hiện nay. Do đó chống giả mạo email là một công việc mà các IT chuyên nghiệp thường phải thiết lập cho doanh nghiệp. Trong bài viết này, với một ví dụ cụ thể, tôi sẽ hướng dẫn bạn cách cấu hình các giá trị DNS record để giúp giảm thiểu các nguy cơ giả mạo email.

Cấu hình SPF và DKIM

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 tên miền (domain name) có được xác quyền bởi người quản trị tên miền đó hay không.
  • Danh sách những máy chủ (host) sử dụng để gửi email được thông báo trong bản ghi của DNS với record 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=spf1 mx a:115.78.93.230 include:athenavietnam.com ~all” là bản ghi dưới record TXT trong DNS Service. 
  • spf1: version của SPF
  • ip4:115.78.93.230: Domain @athenavietnam.com sẽ sử dụng IP này để gửi email
  • a: sử dụng IP domain athenavietnam.com, nếu ghi là a:mail.athenavietnam.com thì nghĩa là sử dụng IP bản ghi A mail.athenavietnam.com
  • 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ừ @athenavietnam.com, nhưng bạn hãy cứ nhận email và đánh dấu nó”
  • Cấu trúc SPF:http://www.openspf.org/SPF_Record_Syntax

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), và 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. Nhưng 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ải mã đúng thì xác nhận nguồn gửi và email được đả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, hoặc cách ly.

SPF DKIM là gì ? Tạo bản ghi DKIM 3

Tạo DKIM

Có nhiều cách để tạo DKIM, tùy thuộc vào dịch vụ máy chủ email để có thể tận dụng công cụ hỗ trợ tạo DKIM cho domain.

Ví dụ trên Zimbra có thể dùng lệnh sau để tạo DKIM

[zimbra@mail ~]$ /opt/zimbra/libexec/zmdkimkeyutil -a -d athenavietnam.com

Có thể xem lại giá trị DKIM đã tạo bằng lệnh

[zimbra@mail ~]$ /opt/zimbra/libexec/zmdkimkeyutil -q -d athenavietnam.com

Tạo Record và gán vào DNS của Domain

Tạo một record như sau:

tên record

8F3FB42C-E1E6-11EA-AE5D-14B75C0204C8._domainkey

giá trị của record

v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAth6bZZ6oN4+JjzDbCEedXeuhJ3DTwDaIbsnl0v6Jdp3DOXwQ01a77ShAHBZBnwXGgi1L7NYCdVFSZ8FCDTRnbosxuTJvyeFgGxsBHJIJ6DmHXqmhQypQx9aRb4TA8nulHCKY6EDWj4Rg6Zyg5N1KjRNzbawWuLGnWK2hTITn/70sWdcSmD087vhzk8YUV6bp52d/72wbHWpck0oU8H8cIfAPxZ1hkkDJBqo3LIEpe3q+XB5bQJetUIUpGUPjdWrq9AKH6yd+GPHoDfSwY7aK0+yVYevyzcpS2I0PMVDNMlwp5Le0eHIFD0PohxRRa3J6qC6lwXIDSiWzPHOhilocIQIDAQAB

“ví dụ:”

chống giả mạo email

Cấu hình DMARC

Tạo một record cho DMARC như sau:

tên record:

_dmarc

giá trị record:

v=DMARC1; p=reject; rua=mailto:[email protected]; ruf=mailto:[email protected]; sp=reject; ri=86400

Sau khi tạo xong các giá trị record trong DNS, cần chờ từ 30 phút đến 24 giờ để DNS cập nhật. Để kiểm tra xem DMARC đã hoạt động chưa, có thể truy cập https://mxtoolbox.com 

Các kết quả hiển thị sau kiểm tra cho thấy các cấu hình về DMARC đã chuẩn xác và hoạt động.

Chống giả mạo email như thế nào?

Khi bạn đã cấu hình xong các giá trị DKIM và DMARC.

DKIM sẽ là một phương thức để xác thực tính hợp lệ của một email. Mỗi mail khi gửi đi được gắn 1 khóa private key và sau đó được xác thực bên phía mail server nhận bằng một khóa public key được setup trong bản ghi DNS. Quá trình này đảm bảo rằng mail gửi đi không bị thay đổi trên đường tới phía bên nhận. Nói cách khác, nó ngăn chặn ai đó có thể can thiệp vào email của bạn, thay đổi nó và sau đó gửi đi với nội dung mới. Bản chất của nó giống hệt như giao thức SSH mà ta vẫn hay dùng hàng ngày.

DKIM còn giúp các ISP sử dụng những thông tin đó để đánh giá mực độ tin cậy của domain bằng một thông số ta vẫn thường nghe là “reputation“. Việc thực hiện gửi mail một cách lành mạnh với tỉ lệ SPAM và bounces ít, tỉ lệ chấp nhận cao sẽ tự nhiên làm tăng độ tin cậy và xác thực của domain đó đối với các ISP

Như vậy chúng ta đã cấu hình xong DKIM và DMARC cho Domain và hệ thống email, giúp phòng tránh các vấn đề liên quan đến giả mạo email cho doanh nghiệp.

Nguồn: anninhmang.pro

By Cường TV

Cường là một người bình thường, thích tìm tòi và khám phá những ngóc ngách của thế giới internet bao la như vũ trụ. Thỉnh thoảng Cường bắt gặp một vài thứ hay ho và chia sẻ nó cho mọi người ở đây. Nếu cần trao đổi, hãy gửi email về [email protected] - mạnh mẽ lên nhé ;-)

Leave a Reply

Your email address will not be published. Required fields are marked *