Postfix یک عامل انتقال نامه است که برای مسیریابی و تحویل نامه الکترونیکی استفاده می شود. در اینجا توضیح مفصلی از کار آن است.
آشنایی با معماری ایمیل برای پاسخگویی به مسائل مختلف امنیتی و عملکردی در مورد سیستم های پستی ضروری است. هنگامی که سیستم های پستی و معماری های نامه مورد بررسی قرار می گیرند، مشخص می شود که یکی از مهمترین مسائل امنیتی مربوط به عوامل انتقال نامه (MTA) است.
Postfix یکی از امن ترین و قابل تنظیم ترین عامل های انتقال نامه است. در اینجا همه چیزهایی است که باید در مورد Postfix و معماری آن بدانید.
Postfix چیست؟
Postfix یک عامل انتقال نامه رایگان است که در سال 1998 با نام VMailer منتشر شد. که به زبان برنامه نویسی C نوشته شده است، می تواند به راحتی بر روی بسیاری از سیستم های یونیکس و لینوکس اجرا شود. از پروتکل هایی مانند POP و IMAP استفاده نمی کند. اگر میخواهید از چنین خدماتی استفاده کنید، باید از برخی نرمافزارهای سرویس گیرنده ایمیل اضافی استفاده کنید.
نمای کلی معماری سیستم Postfix
نمودار زیر سیستم کاری Postfix را شرح می دهد.
از آنجایی که کلاینت ها و سرورهای ایمیل کاربران مختلف را هدف قرار می دهند، آشنایی مدیران با معماری این سیستم ها بسیار مهم است. از دست دادن احتمالی امنیت و عملکرد می تواند مشکلات بزرگی ایجاد کند.
یک سیستم بسیار جامع در پشت Postfix وجود دارد. از دیمون های مختلفی استفاده می کند که با یکدیگر تعامل دارند. هر کدام از دیمون ها مسئولیت ها و وظایف مختلفی را بر عهده می گیرند. آنها در زمینه های امنیتی مختلف کار می کنند و قوانین متفاوتی با توجه به تراکنش های ایجاد شده دارند.
همچنین برنامه اصلی وضعیت اجرای هر دیمون را کنترل می کند. در برخی موارد، این دیمون ها ممکن است اصلاً اجرا نشوند زیرا زمان خاموش شدن را نیز از پیش پیکربندی کرده اند.
تراکنش های پیام جدید دریافتی
با توجه به مسیری که پیامها در سیستم Postfix دنبال میشوند، سه راه مختلف برای این امر وجود دارد. یکی از آنها QMQP است که از دیمون qmqpd استفاده می کند. دیگری SMTP است. SMTP از QMQP محبوب تر است و از دیمون smtpd استفاده می کند. راه سوم برنامه Sendmail است.
سیستم کاری Sendmail به شرح زیر است:
- اول از همه، Sendmail نامه ها را به برنامه postdrop فوروارد می کند که می توانید در نمودار Postfix بالا مشاهده کنید.
- دیمون پیکاپ پیام دریافتی را به دیمون پاکسازی ارسال می کند. در این مرحله پیام هایی که از Sendmail، smtpd و qmqpd ارسال می شوند در یک نقطه مشترک به هم می رسند و همان مسیر را طی می کنند.
- دیمون پاکسازی بازنویسی پیام های استفاده شده را انجام می دهد. در اینجا، هنگامی که کار پاکسازی به پایان رسید، پیام به صف ارسال می شود. در نهایت مدیر صف از پیام های دریافتی مطلع می شود.
تحویل پیام های برنامه ریزی شده
مدیر صف (qmgr) مسئولیت تحویل پیام ها را بر عهده می گیرد. تعیین اینکه چگونه یک پیام به گیرنده می رسد، وارد عمل می شود.
اگر به مسیری که پیامها طی میکنند فکر میکنید، حوزه مسئولیت مدیر صف، کل منطقهای است که شبح پاکسازی از آنجا به پایان میرسد تا انتهای صف. نامه ای که سیستم Postfix آن را جهش غیرقابل تحویل در نظر می گیرد و همه اینها توسط مدیر صف همراه با bounce daemon انجام می شود.
دایرکتوری هایی وجود دارد که مدیر صف برای اهداف مختلف از آنها استفاده می کند. مسیر پیموده شده برای پیام های جدید به ترتیب صف ورودی و صف فعال است. صف فعال حاوی پیام هایی است که آماده تحویل هستند.
اگر تحویل ناموفق باشد، پیام را در صف معوق قرار می دهد. در حالی که پیام اینجا است، به صورت دوره ای اسکن می شود. در این مرحله اگر این سیستم صف بخواهد پیام را دوباره ارسال کند، پیام به صف فعال ارسال می شود.
بررسی و جابجایی پیام ها بین صف ها به دو موقعیت متفاوت بستگی دارد. مهم است که چقدر از زمان رسیدن پیام به صف گذشته است و تفاوت زمانی واقعی بین تلاش های مجدد چقدر است. در این مواقع همراه با تصمیمی که سیستم گرفته می شود، پیام ها بین صف ها حرکت می کنند.
چگونه فرآیند پیام با ابزار Postfix کار می کند؟
برنامه ها و عوامل زیادی وجود دارد که Postfix با آنها کار می کند. اینها سیستم هایی هستند که مسیر پیام را از طریق یک صف کامل خاتمه می دهند و پاسخ نهایی را می دهند.
به عنوان مثال، smtp پیام ها را با استفاده از smtpd به میزبان دیگر ارسال می کند. در اینجا smtp به مشتری SMTP و smtpd به پروتکل SMTP اشاره دارد. بین lmtp و lmtpd هم همینطور است. کلاینت های SMTP و LMTP (smtp و lmtp) که در اینجا توضیح داده شده است را با smtpd و lmtpd اشتباه نگیرید.
از سوی دیگر، عامل تحویل محلی، مسئول ارسال پیام ها به کاربرانی است که دارای حساب های عادی در سیستم هستند. همچنین، این ابزار از نام مستعار برای فایل های .forward پشتیبانی می کند. در نتیجه، کاربران میتوانند خودشان تعیین کنند که پیامها ارسال شوند یا نه.
در سیستمی که کاربرانی با حساب های واقعی یا پوسته برای جعبه پیام مجازی وجود دارند، پیام ها به صورت مجازی تحویل داده می شوند.
گاهی اوقات عوامل توزیع استانداردی که Postfix ارائه می دهد کافی نیستند. در این موارد می توان واسطه های خود را توسعه داد. با انجام این کار، می توانید از دیمون لوله برای ارائه متن پیام به فرآیند تحویل خود از طریق جریان ورودی استاندارد استفاده کنید.
اگر میخواهید یک عامل تحویل ایجاد کنید که پیامها را از طریق برخی از پروتکلهای شبکه بپذیرد، دیمون تخمگذاری به شما کمک میکند.
پلتفرم های پشتیبانی
یکی از مزایای استفاده از Postfix این است که می توانید از آن با سایر برنامه های پشتیبانی شده استفاده کنید. برنامه های مختلفی وجود دارد که می توانید برای بررسی، تست یا اشکال زدایی سیستم خود از آنها استفاده کنید.
برخی از این برنامه ها عبارتند از:
- mailq: با این برنامه امکان مشاهده اطلاعات پیام ها در صف وجود دارد
- postalias: با استفاده از postalias، می توانید یک فایل مستعار را بازسازی کنید و جدول جستجوی نام مستعار را جستجو کنید.
- postmap: اغلب برای اشکال زدایی Postfix استفاده می شود. این به شما امکان می دهد تا فایل پایگاه داده نمایه شده را بازسازی کنید و جدول جستجوی انتخابی خود را جستجو کنید.
- postqueue: با این برنامه می توانید صف پیام را پاک کنید. برای انجام این کار، تمام پیام های موجود در صف معوق را به صف فعال منتقل می کنید. هر چند باید با دقت از آن استفاده کنید. اگرچه ممکن است انجام پاکسازی روی سرورهایی با عملکرد ضعیف منطقی به نظر برسد، اما میتواند به سیستم آسیب برساند زیرا بار بیشتری را روی صف فعال وارد میکند.
- postsuper: به شما این امکان را می دهد که در پیام های موجود در صف پیام دخالت کنید. میتوانید پیامهای موجود در صف را حذف یا دوباره ترتیب دهید.
Postfix یک سرور پست با کاربری آسان است
Postfix می تواند به راحتی بر روی بسیاری از سیستم عامل های مختلف مانند لینوکس، یونیکس، BSD و AIX اجرا شود. همچنین، در توزیعهای لینوکس مبتنی بر اوبونتو، عامل انتقال نامه استاندارد Postfix است. اگرچه Postfix به عنوان یک معماری جایگزین برای Sendmail توسعه یافته است، شما به راحتی می توانید از آن با Sendmail استفاده کنید.
همچنین میتوانید خدماتی مانند فیلتر کردن آنتی ویروس، فیلتر هرزنامه، چارچوب خطمشی فرستنده، نامهای کاربری خاص دامنه، IMAP و پشتیبانی POP3 را با استفاده از سایر نرمافزارهای سازگار Postfix دریافت کنید.
اگر به دنبال یک سرویس گیرنده ایمیل قابل اعتماد و راحت برای دسکتاپ لینوکس خود هستید، خود را خوش شانس بدانید. لینوکس دارای تعداد زیادی کلاینت ایمیل مختلف برای دانلود رایگان است.