পোস্টফিক্স: এসএএসএল প্রমাণীকরণের জন্য কীভাবে সহজ ফাইল ব্যবহার করবেন?


8

আমি আমার অ্যাপ্লিকেশন থেকে ই-মেইল প্রেরণের জন্য একটি ডেবিয়ান ভিপিএসে পোস্টফিক্স চালাতে চাই। অ্যাপ্লিকেশন (অন্যান্য ভিপিএসে চলমান) এসএমটিপি এর মাধ্যমে পোস্টফিক্সের সাথে সংযুক্ত হবে। পোস্টফিক্সে আগত ইমেলগুলি পরিচালনা করতে হবে না; এটি কেবল বহির্গামী বার্তা প্রেরণ সম্পর্কে।

ওপেন রিলে হওয়া রোধ করতে, এসএএসএল প্রমাণীকরণ ব্যবহার করা উচিত। তবে, এসএএসএল অনুমোদনের জন্য আমি ডোভকোট বা মাইএসকিউএল চালাতে চাই না।

আমি কীভাবে একটি সহজ ফাইল (ব্যবহারকারীর নাম এবং পাসওয়ার্ড সহ) ব্যবহার করে SASL প্রমাণীকরণ সেটআপ করতে পারি?

আমি ইতিমধ্যে একটি অনুরূপ প্রশ্ন খুঁজে পেয়েছি ; তবে সেখানে কোন সন্তোষজনক উত্তর নেই।


অন্যান্য ভিপিএসের কেবলমাত্র আইপি ঠিকানা সংযুক্ত করতে ফায়ারওয়াল ব্যবহার করুন। ফায়ারওয়াল ব্যর্থ হলেও এমনকি আপনি পোস্ট ফিক্সটি সম্পর্কে সচেতন করতে মেইনট্রাক্স ভেরিয়েবল মেইন সিএফ-এ সেট করতে পারেন। আপনি যদি সত্যই এসএএসএল চান, তবে পোস্টফিক্সের সাথে উপস্থিত এসএএসএল_README পড়ুন এবং একটি "ডাটাবেস" হিসাবে / ইত্যাদি / স্যাসল্ডবি ব্যবহার করার জন্য এসএএসএল সেট আপ করুন। বাক্সের বাইরে কাজ করা উচিত। saslpasswd ফাইলটি যুক্ত / অপসারণ / পরিবর্তন করে।
AndreasM

উত্তর:


15

পোস্টফিক্স বর্তমানে কেবলমাত্র দুটি এসএএসএল প্রমাণীকরণ পদ্ধতি সমর্থন করে। এর মধ্যে একটি হ'ল ডোভকোট, যা আপনি চান না। অন্যটি হ'ল সাইরাস, যা পোস্টফিক্স পুনর্লিখন না করে আপনি যা চান তার প্রায় কাছাকাছি। এটিতে পৃথক প্রমাণীকরণ ডিমন ( saslauthd) চালানো জড়িত , তবে প্রমাণীকরণ ফাইলটি সম্পাদনা এবং আপডেট করা সহজ।

সাইরাস এসএএসএল ব্যবহারের প্রাথমিক বিষয়গুলি পোস্টফিক্স ডকুমেন্টেশন সাইটে পাওয়া যাবে , তবে এখানে একটি সংক্ষিপ্ত বিবরণ দেওয়া হল। কোনও কিছুতেই যদি বিভ্রান্তিকর হয় তবে দয়া করে লিঙ্কটি দেখুন!

প্লাগইন সহ সাইরাস এসএএসএল ইনস্টল করে শুরু করুন sasldb। (এটি কীভাবে পাঠকের অনুশীলন হিসাবে ছেড়ে যায়; সম্ভবত আপনার ব্র্যান্ডের ইউনিক্স যে প্যাকেজ সিস্টেম ব্যবহার করছে তাতে একটি প্যাকেজ রয়েছে)) যেহেতু পোস্টফিক্স এবং এসএএসএল এর মধ্যে যোগাযোগ একটি ইউনিক্স ডোমেন সকেটের মাধ্যমে সংঘটিত হতে পারে এসএএসএল গ্রুপে পোস্টফিক্স যুক্ত করুন এবং নিশ্চিত করুন যে সেই গোষ্ঠীটি ডিরেক্টরিতে অনুমতিগুলি পড়েছে এবং কার্যকর করেছে /var/run/saslauthd

এসএএসএল কনফিগার করুন

/Etc/sasl2/smtpd.conf সম্পাদনা করে SASldb ব্যবহার করতে SASL কনফিগার করুন:

pwcheck_method: auxprop
auxprop_plugin: sasldb
mech_list: PLAIN LOGIN CRAM-MD5 DIGEST-MD5 NTLM

স্যাসলডিবি প্লাগইন মানে স্যাসল ব্যবহারকারীর নাম এবং পাসওয়ার্ডের জন্য বার্কলে ডিবি ফাইল ব্যবহার করবে। আপনি কমান্ডটি দিয়ে ব্যবহারকারীদের যুক্ত করুন saslpasswd2:

$ saslpasswd2 -c -u example.com username
Password:
Again (for verification):

নোট করুন যে আপনি ব্যবহারকারীর নাম সহ একসাথে একটি ডোমেন নির্দিষ্ট করেছেন, এবং ব্যবহারকারীর অনুমোদনের সময় কেবল "ব্যবহারকারী নাম" না দিয়ে "ব্যবহারকারীর নাম@example.com" ব্যবহার করা প্রয়োজন।

ব্যবহারকারীরা কী দ্বারা প্রবেশ করে প্রবেশ করেছে তা যাচাই করতে পারেন sasldblistusers2

সাসলথ করা শুরু করুন এবং প্রমাণীকরণটি করে কাজ করে যাচাই করুন

testsaslauthd -u username@example.com -p password

পোস্টফিক্স কনফিগার করুন

এটি হয়ে গেলে, পোস্টফিক্সকে এসএএসএল ব্যবহার করতে এবং সাইরাসকে এটি যে এসএমটিপি যা তা প্রমাণীকরণ করছে তা বলার জন্য /etc/postfix/main.cf সম্পাদনা করে বলুন

smtpd_sasl_auth_enable = yes
smtpd_sasl_path = smtpd

তারপরে, পোস্টফিক্সটি পুনরায় লোড করুন এবং আপনার সেট করা উচিত।


আপনার বিস্তৃত উত্তরের জন্য ধন্যবাদ! আমি সমস্ত পদক্ষেপগুলি অনুসরণ করেছি এবং সমস্ত কিছু ঠিকঠাক বলে মনে হচ্ছে। sasldblistusers2আমি যুক্ত করা ব্যবহারকারীদের তালিকাটি সঠিকভাবে আউটপুট করে। যাইহোক, যখন করণ testsaslauthd, আমি এই ফলাফলের পাবেন: 0: NO "authentication failed"। আমি কীভাবে এটি ঠিক করতে পারলাম আপনার কোনও ধারণা আছে? এটি আমার থেকে /var/log/auth.log:saslauthd[30471]: do_auth : auth failure: [user=XXX@XXX] [service=smtpd] [realm=] [mech=pam] [reason=PAM auth error]
জোনাথন

তার অর্থ স্যাসলথ্ড স্যাসল্ডবি-র পরিবর্তে পিএএম ব্যবহার করার চেষ্টা করছে। এটি শুরু করার জন্য কমান্ড লাইনটি কী ব্যবহৃত হয়েছিল?
জেনি ডি

আমি পরীক্ষাগুলি ব্যবহার করেছি (আপনার মূল উত্তরে বর্ণিত হিসাবে) এবং -s smtpdএটিতে যুক্ত করার চেষ্টাও করেছি। যদি আমি স্যাসলথড সেট MECHANISMS="sasldb"করে /etc/default/saslauthdআবার চালু করি তবে টেস্টস্ল্যাথড থেকে আমি একই ফলাফল পাব। লেখকের লগটি একটি পৃথক বার্তা দেখায়:saslauthd[3706]: do_auth : auth failure: [user=XXX@XXX] [service=smtpd] [realm=] [mech=sasldb] [reason=Unknown]
জোনাথন

2
এইচএম, টেস্টস্ল্যাথড কাজ করছে যদি আমি আলাদাভাবে ব্যবহারকারীর নাম এবং ডোমেন অংশ নির্দিষ্ট করে থাকি যেমন: testsaslauthd -u username -r example.com -p XXXফেরত দেয় 0: OK "Success."। এখন আমি পরীক্ষা করব যে পোস্টফিক্স এটির চারপাশে কাজ করতে পারে কিনা ...
জোনাথন

আপনি যদি ব্যবহার করেন তবে -s smtpdএটি সাসল্ডবিয়ের পরিবর্তে পিএএম ব্যবহার করতে পারবেন, তাই এটি করবেন না ...
জেনি ডি

1

ওপেন রিলে হওয়া রোধ করতে, এসএএসএল প্রমাণীকরণ ব্যবহার করা উচিত।

এটি প্রতিরোধের অসংখ্য উপায়ের মধ্যে এসএএসএল হ'ল একটি। অন্যটি হ'ল আপনি অন্যান্য ভিপিএসে যে আইপি ব্যবহার করেন তা শ্বেত তালিকাভুক্ত করা বা টিএলএস ক্লায়েন্টের শংসাপত্রের প্রয়োজন (এটি সবচেয়ে নিরাপদ উপায় হিসাবে বলা যেতে পারে))

পোস্টফিক্স মেশিনে কেবল একটি স্বাক্ষরকারী সিএ সেট আপ করুন এবং আপনি ইমেল জমা দিতে ইচ্ছুক প্রতি ভিপিএসের জন্য একটি শংসাপত্রে স্বাক্ষর করুন।
তারপরে সমস্ত জমা দেওয়া মেলের জন্য সম্পূর্ণ ক্লায়েন্টের শংসাপত্র যাচাইকরণের প্রয়োজন; জমা দেওয়ার অন্য কোনও পদ্ধতি অক্ষম করুন।

আপনি যা জিজ্ঞাসা করবেন তা সম্ভব নয়, কারণ পোস্টফিক্স এসএএসএলকে সরাসরি সমর্থন করে না।


1

কেবল কয়েকটি বিষয় পরিষ্কার করা,

স্যাসল্ডবিতে একটি অ্যাকাউন্ট তৈরি করা:

% saslpasswd2 -c -u fqdn username

প্রমাণীকরণ পরীক্ষার:

% testsaslauthd -u username -p password

(দ্রষ্টব্য: ব্যবহারকারীর নামটি fqdn দ্বারা অনুসরণ করা হয় না )

আমি এটি যুক্ত করতে চাই যে একটি রুট অ্যাকাউন্ট তৈরি করুন

% saslpasswd2 -c -u example.com root

আপনাকে প্রমাণীকরণ করতে দেবে না,

% testsaslauthd -u root -p some_password
0: NO "authentication failed"

তবে এটি কোনও বাগ নয়। এটি কেবল একটি সুরক্ষা বৈশিষ্ট্য।


0

আপনার যদি আগত মেলগুলি হ্যান্ডেল করার প্রয়োজন না হয় তবে প্রমাণীকরণের সাথে বিরক্ত করবেন না। ফায়ারওয়াল দিয়ে আগত ট্র্যাফিককে কেবল অবরুদ্ধ করুন এবং / অথবা কেবল লোকালহোস্টে সীমাবদ্ধ করুন।

 inet_interfaces = 127.0.0.1

আর খোলা রিলে সমস্যা নেই, এবং আপনি অ্যাপ্লিকেশনগুলির জন্য জটিল জিনিসগুলি এড়াতে পারেন যা পোস্টফিক্সের মাধ্যমে মেল প্রেরণের প্রয়োজন।


উত্তরের জন্য ধন্যবাদ. অ্যাপ্লিকেশনটি অন্যান্য ভিপিএসে চলছে, সুতরাং পোস্টফিক্স স্থানীয় হোস্টের চেয়ে অন্য হোস্টের ইমেলটি গ্রহণ করবে।
জোনাথন

আপনি কি প্রত্যাশিত সংযোগগুলির আইপিগুলি সংজ্ঞায়িত করতে এবং পোস্ট ফিক্স কনফিগারেশন বা ফায়ারওয়াল কনফিগারেশনে তালিকাবদ্ধ করতে পারেন? উদাহরণস্বরূপ এগুলি সমস্ত একক নেট-ব্লকে বা আইপি বা ব্লকের একটি ছোট পরিমাণের সেট হতে পারে যা আপনি সহজেই তাদের তালিকাভুক্ত করতে পারেন। বিকল্পভাবে আপনি আপনার ভার্চুয়াল হোস্টগুলির মধ্যে একটি ব্যক্তিগত নেটওয়ার্ক ব্যবহার করতে পারেন।
mc0e
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.