DKIM

DomainKeys Identified Mail (DKIM) เป็นเทคโนโลยีการตรวจสอบความถูกต้องของอีเมล์ โดยจะช่วยเพิ่มประสิทธิภาพในการป้องกันอีเมล์ปลอมแปลง สแปม (Spam) และฟิชชิ่ง (Phishing) แนวทางนี้จะใช้การเข้ารหัสด้วยคีย์สาธารณะ (Public Key) เพื่อให้ผู้ใช้สามารถตรวจสอบ และรักษาความครบถ้วนสมบูรณ์ของข้อความ อีกทั้ง ระบุข้อความที่ถูกต้องได้อย่างชัดเจน เทคโนโลยี DKIM จะใช้ Internet’s Domain Name System (DNS) ในลักษณะเดียวกันกับ DomainKeys นอกจากนั้น DKIM ยังใช้ประโยชน์จากเทคโนโลยีลายเซ็นรับรองเฮดเดอร์ของ Identified Internet Mail ที่จะช่วยรักษาความสม่ำเสมอของลายเซ็น ในขณะที่ข้อความถูกส่งผ่านเครือข่าย

วิธีการติดตั้ง และกำหนดค่า DKIM

1. สร้าง Folder สำหรับเก็บ Key และ สร้าง Key

mkdir /var/dkim    
amavisd-new genrsa /var/dkim/master.key.pem

2. สร้างไฟล์ Config สำหรับ DKIM

touch /etc/amavis/conf.d/80-keys_DKIM

3. ใส่ค่าด้านล่างลงไปในไฟล์ Config

$enable_dkim_signing = 1;    
dkim_key('domain.com', 'dkim', '/var/dkim/master.key.pem');     
@dkim_signature_options_bysender_maps = (     
{ '.' => { ttl => 21*24*3600, c => 'relaxed/simple' } } );     
#@mynetworks = qw(127.0.0.0/8 192.168.1.100);     
$interface_policy{'10024'} = 'DKIM_ALWAYS';     
$policy_bank{'DKIM_ALWAYS'} = { originating => 1, };

*** เปลี่ยน domain.com เป็นชื่อโดเมนที่ต้องการใช้ DKIM

4. หาค่า Key ที่ต้องการ

amavisd-new showkeys

จะได้ค่าดังนี้

dkim._domainkey.domain.com. 3600 TXT (    
"v=DKIM1; p="    
"iXr/3/4d/834dsdsds+dsdsdsdwewE3333+Q/8/xW55sdeRdsds-7VPDS0WEXY"    
"iwer4343dsd/834dsDDwedsrQdsds+dsdr4343dsd/834dsdsds+dsds/65444"    
"SJHDJhjshdjheeiuroiwer4343dsd/834dsdsds+dsdsdsdwewEwewd3243+/7"   
"7VP783ZL0dtwSsHv30urIDAQAB")

ให้ทำการ Copy ค่า ตั้งแต่ v=DKIM1 จนไปถึงบรรทัดจบ แต่ให้ตัด ( ) และ “ ออก ซึ่งจากตัวอย่างก็จะได้ค่าดังนี้

v=DKIM1; p=iXr/3/4d/834dsdsds+dsdsdsdwewE3333+Q/8/xW55sdeRdsds-7VPDS0WEXYiwer4343dsd/834dsDDwedsrQdsds+dsdr4343dsd/834dsdsds+dsds/65444SJHDJhjshdjheeiuroiwer4343dsd/834dsdsds+dsdsdsdwewEwewd3243+/77VP783ZL0dtwSsHv30urIDAQAB

5. นำค่าที่ได้ไปใส่ใน TXT ของ DNS Zone domain.com

ตัวอย่างเช่น

dkim._domainkey.domain.com. 3600 TXT v=DKIM1; p=iXr/3/4d/834dsdsds+dsdsdsdwewE3333+Q/8/xW55sdeRdsds-7VPDS0WEXYiwer4343dsd/834dsDDwedsrQdsds+dsdr4343dsd/834dsdsds+dsds/65444SJHDJhjshdjheeiuroiwer4343dsd/834dsdsds+dsdsdsdwewEwewd3243+/77VP783ZL0dtwSsHv30urIDAQAB

จากนั้น Restart bind และ Amavis

/etc/init.d/bind9 restart  
/etc/init.d/amavis restart

6. หากต้องการเพิ่ม DKIM สำหรับโดเมนอื่น ให้ทำการเพิ่มบรรทัดด้านล่างเข้าไปในไฟล์ /etc/amavis/conf.d/80-keys_DKIM

dkim_key('newdomain.com', 'dkim', '/var/dkim/master.key.pem');

เมื่อทำเสร็จแล้ว ก็ต้องเพิ่มเข้าไปใน TXT ของ DNS Zone และ Restart Services ด้วยทุกครั้ง

By Solar