উবুন্টু সার্ভার 12.04LTS এ ওপেনডিকেআইএম এবং পোস্টফিক্স
আমি ফিরে আসার চেষ্টা করব এবং এটিকে আরও ভাল করে ফর্ম্যাট করব। তবে যেহেতু আমার উত্তর পোস্ট করার জন্য একটি অনুরোধ ছিল, তাই আমি সঠিকভাবে ফর্ম্যাট করার সময় না পাওয়া পর্যন্ত অপেক্ষা না করে এখনই এটি পোস্ট করতে চাই। সময়ের অভাবের কারণে আমি আমার পুরো উত্তরটি একটি ব্লককোয়টে মুড়ে ফেলেছি। আমি আশা করি এই সমাধানটি সহায়ক হবে।
এগুলি আমার উল্লেখগুলি:
এবং উইকিপিডিয়ায় বিষয়টিতে ভাল প্রবেশ রয়েছে
সর্বনিম্ন আপনার প্রয়োজন হবে:
- আপনার মেল সার্ভারে রুট অ্যাক্সেস
- আপনার ডোমেনের জন্য ডিএনএস রেকর্ডগুলি আপডেট করতে অ্যাক্সেস করুন
সংগ্রহস্থলগুলি থেকে ওপেনডকিম ইনস্টল করুন:
# sudo apt-get install opendkim opendkim-tools
আপনি কোন "নির্বাচক" ব্যবহার করতে চান তা আপনাকে অবশ্যই স্থির করতে হবে। আপনি যে চাবিটি ব্যবহার করতে চান তা বর্ণনা করতে নির্বাচকটি মূলত একটি শব্দ। এখানে আমি ২০১২ সালের সিলেক্টরটি ব্যবহার করতে যাচ্ছি কী মে ২০১২ (ধূর্তি?) তে বৈধ হয়ে উঠেছে। আমি বৈচিত্র্যের জন্য দুটি উদাহরণ দিচ্ছি, যা আশাবাদী স্পষ্টতা যুক্ত করবে। আপনার কেবলমাত্র একটি কী তৈরি করতে হবে। যাইহোক, আমি উভয় উদাহরণ দিচ্ছি যাতে আপনি তাদের তুলনা করতে পারেন।
- 201205 (1 ম কী)
- আমার_নির্বাচক (২ য় কী)
আমার ডোমেনটি হবে example.com
তবে আমি আমার দ্বিতীয় উদাহরণের জন্য একটি সাবডোমেন ব্যবহার করব:
- উদাহরণ.কম (প্রথম কী)
- mail.example.com (২ য় কী)
আমি নিম্নলিখিত ডিরেক্টরিতে কাজ করার সিদ্ধান্ত নিয়েছে:
# mkdir /etc/opendkim/
# cd /etc/opendkim
আপনার নির্বাচিত নির্বাচক এবং ডোমেন ব্যবহার করে বর্তমান ডিরেক্টরিতে কীগুলি তৈরি করুন।
# opendkim-genkey -s 201205 -d example.com
আপনার মালিকানা পরিবর্তন করার প্রয়োজন হতে পারে বা নাও হতে পারে। মালিকানা এবং অনুমতি কী হওয়া উচিত তার জন্য নীচের ২ য় কীটির জন্য আমার উদাহরণে বিশদটি দেখুন।
প্রথমে আপনার কোনও opendkim
ব্যবহারকারী আছে কিনা তা পরীক্ষা করা উচিত (আপনার ব্যবহারকারী / গ্রুপ আইডি আলাদা হতে পারে):
# grep opendkim /etc/passwd
opendkim:x:108:117::/var/run/opendkim:/bin/false
এবং আপনার সম্ভবত এটি করা দরকার:
# chmod 700 /var/run/opendkim
দ্রষ্টব্য: উবুন্টু 12.04 এ এই পরবর্তী দুটি কমান্ডের প্রয়োজন নেই। তবে উপরের কমান্ডটি যদি না দেখায় যে ব্যবহারকারী ওপেনডকিমটি সঠিকভাবে সেট আপ হয়েছে, তবে এটির সাথে একইভাবে করুন:
# useradd -r -g opendkim -G mail -s /sbin/nologin -d /var/run/opendkim -c "OpenDKIM" opendkim
# chown opendkim:opendkim 201205.private
# cat 201205.private
-----BEGIN RSA PRIVATE KEY-----
ABCCXQ...[long string]...SdQaZw9
-----END RSA PRIVATE KEY-----
এখন পাবলিক কীটি পরীক্ষা করে দেখুন যে একটি বাগ রয়েছে (উবুন্টু 12.04-তে ওপেনডিকেআইএম 2.5.2 এ)! যেখানে রয়েছে ;=rsa;
তা, এটি থাকা উচিত ;k=rsa;
। k
অনুপস্থিত। দয়া করে এটি sertোকান।
# cat 201205.txt
201205._domainkey IN TXT "v=DKIM1;=rsa; p=WIGfM..[snip]..QIDIAB" ; ----- DKIM 201205 for example.com
স্থির হওয়ার পরে, এটি দেখতে এরকম হবে:
201205._domainkey IN TXT "v=DKIM1;k=rsa; p=WIGfM..[snip]..QIDIAB" ; ----- DKIM 201205 for example.com
তদ্ব্যতীত, আপনার সম্ভবত সম্ভবত এর মতো অর্ধপরিবাহগুলি এড়াতে হবে। আপনি যদি শেষ মন্তব্যটি না চান তবে কেবল এটি মুছুন। এছাড়াও খেয়াল করুন যে আপনি যে ডিভারিএম পরীক্ষা করছেন কিন্তু এখনও সক্রিয়ভাবে এটি ব্যবহার করছেন না এমন সার্ভারগুলি গ্রহণ করার জন্য আপনাকে t = y পতাকা যুক্ত করা উচিত। আপনি একটি ব্যবহার্য সংস্থান রেকর্ড বাকি আছে:
201205._domainkey IN TXT "v=DKIM1\;k=rsa\;t=y\;p=WIGfM..[snip]..QIDIAB"
উপরের পাবলিক কীটির বিষয়বস্তু আপনাকে অবশ্যই আপনার অনুমোদিত ডিএনএস সার্ভারে প্রকাশ করতে হবে। আমি একটি টিএক্সটি রেকর্ড ব্যবহার করার পরামর্শ দিচ্ছি। এসপিএফ রেকর্ড ব্যবহার করতে হবে বা উভয় প্রকারেই কিছুটা বিতর্ক আছে বলে মনে হচ্ছে। কিছুটা পড়ার পরে, আমি একচেটিয়াভাবে TXT রেকর্ড টাইপের সাথে লেগে যেতে বেছে নিয়েছি, যদিও আমি বিশ্বাস করি না যে এটি এই বিষয়টির চূড়ান্ত শব্দ।
আপনার একটি সংক্ষিপ্ত টিটিএল (বেঁচে থাকার সময়) ব্যবহার করা উচিত যাতে আপনি ডিএনএসের প্রচারের জন্য বয়সের অপেক্ষা না করে কীটি পরিবর্তন করতে পারেন। আমি 180 সেকেন্ড ব্যবহার করেছি।
কী জুড়ি তৈরির দ্বিতীয় উদাহরণটি আমার জন্য কিছুটা জটিল ছিল। আমি যা করেছি তা বর্ণনা করব। প্রথম উপাদানটি হ'ল আমি "example.com.com" ডোমেন মানটি ব্যবহার করেছি যদিও কীটি "mail.example.com" এর জন্য ব্যবহৃত হবে। আমি এটি পরীক্ষার এবং ত্রুটির মাধ্যমে পৌঁছেছি। এটি "mail.example.com" ব্যবহার করার সময় কাজ করে না। দুর্ভাগ্যক্রমে, আমি এর পিছনে কারণগুলি সম্পর্কে অবগত নই। এটিই কেবলমাত্র আমিই পার্থক্যের মুখোমুখি হয়েছি, তবে এটি যথেষ্ট কষ্ট পেয়েছিল যে অনুভূত হয়েছিল আমার সাবডোমেনগুলি ব্যবহার করে আমার অভিজ্ঞতাগুলি নথিভুক্ত করা উচিত। অন্য যে কোনও প্রাথমিক স্তরের টিউটোরিয়াল আমি পেয়েছি তা এটি করেনি। দ্বিতীয় কী তৈরি করুন:
opendkim-genkey -s my_selector -d example.com
উপরের মত, ব্যক্তিগত কীটির মালিকানা এবং অনুমতিগুলি পরীক্ষা করুন। তাদের দেখতে কেমন হওয়া উচিত তা এখানে:
# ls -la /etc/opendkim
-rw------- 1 opendkim opendkim 891 May 10 07:44 my_selector.private
ডিএনএস রেকর্ড প্রকাশের পরে এটি দিয়ে পরীক্ষা করুন dig
। আপনি রিসোর্স রেকর্ডে (আরআর) প্রবেশ করিয়েছেন ঠিক সেটাই ফিরে আসা উচিত।
$ dig 201205._domainkey.example.com txt +short
"v=DKIM1\;k=rsa\;t=y\;p=WIGfM..[snip]..QIDIAB"
এখন, কীটি পরীক্ষা করুন। নীচের কমান্ডগুলি ধরে নিয়েছে আপনি কী সেই ডিরেক্টরিতে রয়েছেন যেখানে কীটি রয়েছে (/ etc / opendkim আমার জন্য)।
# opendkim-testkey -d example.com -s 201205 -k 201205.private -vvv
opendkim-testkey: key loaded from /etc/opendkim/201205.private
opendkim-testkey: checking key '201205._domainkey.example.com'
opendkim-testkey: key not secure
opendkim-testkey: key OK
এই ফলাফল প্রত্যাশিত। "কী সুরক্ষিত নয়" কোনও ত্রুটি নির্দেশ করে না। এটি ডিএনএসএসইসি ব্যবহার না করার একটি প্রত্যাশিত পরিণতি। ডিএনএসএসইসি আসছে, তবে এটি আমার পাঠ্য অনুসারে এখনও প্রাইম টাইমের জন্য প্রস্তুত নয়।
২ য় কী সহ উদাহরণ:
# opendkim-testkey -d example.com -s my_selector -k /etc/opendkim/my_selector.private -vvvv
opendkim-testkey: key loaded from /etc/opendkim/my_selector.private
opendkim-testkey: checking key 'my_selector._domainkey.example.com'
opendkim-testkey: key not secure
opendkim-testkey: key OK
নোট করুন যে ওপেনডকিম জানিয়েছে যে কীটি নিরাপদ নয়। এটি এই সত্যের সাথে সম্পর্কিত যে ডিএনএসএসইসি আমার ডিএনএস সার্ভারে প্রয়োগ করা হয়নি এবং তাত্ত্বিকভাবে কেউ ডিএনএস লুকআপকে আটকাতে এবং তাদের নিজস্ব কী দিয়ে এটি প্রতিস্থাপন করতে পারে।
ওপেনডিকেআইএম কনফিগারেশন ফাইলটি সম্পাদনা করুন:
# nano /etc/opendkim.conf
# cat /etc/opendkim.conf
# This is a basic configuration that can easily be adapted to suit a standard
# installation. For more advanced options, see opendkim.conf(5) and/or
# /usr/share/doc/opendkim/examples/opendkim.conf.sample.
#
Domain example.com
KeyFile /etc/opendkim/201205.private
Selector 201205
#
# Commonly-used options
Canonicalization relaxed/simple
Mode sv
SubDomains yes
# Log to syslog
Syslog yes
LogWhy yes
# Required to use local socket with MTAs that access the socket as a non-
# privileged user (e.g. Postfix)
UMask 022
UserID opendkim:opendkim
#
KeyTable /etc/opendkim/KeyTable
SigningTable /etc/opendkim/SigningTable
ExternalIgnoreList /etc/opendkim/TrustedHosts
InternalHosts /etc/opendkim/TrustedHosts
#
Socket inet:8891@localhost
#EOF
আপনি যদি আমার ২ য় কী উদাহরণ ব্যবহার করেন, লক্ষ্যযুক্ত ডোমেন "mail.example.com" সহ এন্ট্রিটি কেবলমাত্র প্রধান ডোমেনটিকেই উল্লেখ করবে:
Domain example.com
KeyFile /etc/dkim/my_selector.private
Selector my_selector
-----
আমার একটি উত্স থেকে দ্রষ্টব্য: আপনি যদি পোস্টফিক্সের একাধিক উদাহরণ চালনা করেন তবে আপনাকে প্রতিটি উদাহরণের জন্য এটি opendkim.conf এ যুক্ত করতে হবে (বা যেগুলি আপনি opendkim ব্যবহার করতে চান)
আপনার পাঠ্য সম্পাদক দিয়ে একটি ফাইল তৈরি করুন /etc/opendkim/TrustedHosts
:
ওপেনডিকেআইএম দ্বারা পরিচালিত হওয়া ডোমেন, হোস্টনাম এবং / অথবা আইপি যুক্ত করুন। লোকালহোস্ট ভুলে যাবেন না।
127.0.0.1
localhost
example.com
mail.example.com
192.168.1.100 #(IP address of your server, if applicable)
(উপরের লাইনটি সম্ভবত সম্ভবত লাগবে না add যোগ করার জন্য আপনার কাছে যদি আইপি ঠিকানা থাকে তবে নিশ্চিত করুন যে আপনি নিজেরটি ব্যবহার করেছেন, উপরের উদাহরণটি নয়))
সম্পাদনা করুন /etc/default/opendkim
:
এই সারিটি কমেন্ট করুন এবং পোর্ট 8891 ব্যবহার করুন:
SOCKET="inet:8891@localhost" # listen on loopback on port
আপনার ফায়ারওয়াল (iptables) লোকালহোস্টে লুপব্যাকের অনুমতি দেয় তা নিশ্চিত করুন:
sudo iptables -A INPUT -i lo -j ACCEPT
এরপরে, আপনার পাঠ্য সম্পাদক দিয়ে একটি ফাইল তৈরি করুন /etc/opendkim/KeyTable
এবং কী টেবেলে ডোমেন যুক্ত করুন
লাইন যুক্ত করুন:
#EXAMPLE showing my 2nd key:
my_selector._domainkey.example.com example.com:my_selector:/etc/opendkim/my_selector.private
পরবর্তী আপনার পাঠ্য সম্পাদক দিয়ে একটি ফাইল তৈরি করুন /etc/opendkim/SigningTable
এবং সাইনিং টেবিলটিতে ডোমেন যুক্ত করুন
আমি দুটি উদাহরণই দেখাই। মনে রাখবেন যে আমার ২ য় কীটির জন্য, আমাকে এখন সম্পূর্ণ ডোমেইন নাম "mail.example.com" ব্যবহার করতে হবে:
example.com 201205._domainkey.example.com
mail.example.com my_selector._domainkey.example.com
দ্রষ্টব্য যে ওপেনডিকেআইএম ২.০.১ এ ডোমেনের নামগুলি সংবেদনশীল। এই উদাহরণে আমরা ওপেনডিকেআইএম এর একটি নতুন সংস্করণ ব্যবহার করছি এবং এটি কোনও সমস্যা বলে মনে হচ্ছে না।
পোস্টফিক্স কনফিগার করুন। /Etc/postfix/main.cf সম্পাদনা করুন এবং লাইনগুলি শেষে যুক্ত করুন
milter_default_action = accept
milter_protocol = 2
smtpd_milters=inet:localhost:8891
non_smtpd_milters=inet:localhost:8891
হোস্টের নামটিও পরিবর্তন করুন:
#myhostname = localhost #original
myhostname = mail.example.com
আপনার / ইত্যাদি / হোস্টগুলিতে সংশ্লিষ্ট এন্ট্রি পরিবর্তন করা উচিত। এই পরিবর্তনগুলি পুনরায় বুট করার পরে কার্যকর হয় (যদিও আপনি এটি কমান্ড দিয়ে অবিলম্বে সেট করতে পারেন hostname NEW_NAME
:)।
আপনি পুনরায় চালু না করলে পোস্টফিক্স এবং ওপেনডকিম পুনরায় চালু করুন:
# service opendkim restart
Restarting OpenDKIM: opendkim.
# service postfix restart
* Stopping Postfix Mail Transport Agent postfix [ OK ]
* Starting Postfix Mail Transport Agent postfix [ OK ]
পরীক্ষামূলক
আপনার স্বাক্ষরিত মেলটি প্রমাণীকরণ হচ্ছে এবং আপনার ডিএনএস রেকর্ডগুলি সঠিকভাবে সেট আপ করা হয়েছে তা যাচাই করার সর্বোত্তম উপায় হ'ল একটি নিখরচায় পরিষেবা পরিষেবা ব্যবহার করা। আমি এগুলি ব্যবহার করেছি:
- ব্র্যান্ডন চেকেটস ইমেল ভ্যালিডেটর - http://www.brandonchecketts.com/emailtest.php (আমার প্রিয়)
- একটি স্বাক্ষরিত ইমেল প্রেরণ করুন: চেক-auth@verifier.port25.com (আমার প্রিয়ও)
একটি স্বাক্ষরিত ইমেল প্রেরণ করুন: sa-test@sendmail.net (আপনি পরীক্ষার ইমেল ঠিকানাগুলির সমস্ত একটিতে বহির্গমন বার্তাকে পরীক্ষার জন্য করতে পারেন)
একটি স্বাক্ষরিত ইমেল প্রেরণ করুন: autorespond+dkim@dk.elandys.com <--- ব্রোকেন !!! এটি ব্যবহার করবেন না।
এগুলির প্রতিটি আপনাকে জানিয়ে দেবে যে জিনিসগুলি সঠিকভাবে কাজ করছে কিনা এবং প্রয়োজনে সমস্যা সমাধানের জন্য আপনাকে কিছু পয়েন্টার দেবে।
আপনার যদি জিমেইল অ্যাকাউন্ট থাকে তবে দ্রুত এবং সহজ পরীক্ষার জন্য আপনি সেখানে একটি স্বাক্ষরিত বার্তাও পাঠাতে পারেন।
একবার আপনি যদি খুশি হন যে সবকিছু ঠিকঠাক হয়ে যায়, আপনি ডিএনএস টিএক্সটি রেকর্ডে পরীক্ষার পতাকাটি সরিয়ে টিটিএল বাড়িয়ে নিতে পারেন।
সম্পন্ন!