opendmarc.conf(5) File Formats Manual opendmarc.conf(5)

opendmarc.conf - فایل پیکربندی opendmarc

/etc/opendmarc/opendmarc.conf

opendmarc(8) مشخصات پیشنهادی DMARC را برای احراز هویت پیام، اعمال خط‌مشی و گزارش‌دهی پیاده‌سازی می‌کند. این فایل، فایل پیکربندی آن است.

خطوط خالی نادیده گرفته می‌شوند. خطوط حاوی نویسه هش ("#") در محل نویسه هش بریده می‌شوند تا امکان درج کامنت در فایل فراهم شود.

سایر محتوا باید شامل نام یک پارامتر، به دنبال آن فاصله خالی (white space)، و به دنبال آن مقدار آن پارامتر باشد، هر کدام در یک خط جداگانه.

برای پارامترهایی که ماهیت بولی (Boolean) دارند، تنها بایت اول مقدار پردازش می‌شود. برای مقادیر مثبت، موارد زیر پذیرفته می‌شوند: "T" ،"t" ،"Y" ،"y" ،"1". برای مقادیر منفی، موارد زیر پذیرفته می‌شوند: "F" ،"f" ،"N" ،"n" ،"0".

برخی، اما نه همه این پارامترها به عنوان گزینه‌های خط فرمان برای opendmarc(8) نیز در دسترس هستند. با این حال، پارامترهای جدید معمولاً به عنوان گزینه‌های خط فرمان اضافه نمی‌شوند تا مجموعه کامل گزینه‌ها در اینجا در دسترس باشد، و بنابراین استفاده از فایل پیکربندی توصیه می‌شود. در برخی نسخه‌های آینده، احتمالاً مجموعه گزینه‌های خط فرمان موجود کاهش خواهد یافت.

برای جزئیات درباره چگونگی و زمان بازخوانی محتوای فایل پیکربندی، به صفحه راهنمای opendmarc(8) مراجعه کنید.

مگر در مواردی که خلاف آن ذکر شده باشد، مقادیر بولی به طور پیش‌فرض "false"، مقادیر عددی صحیح به طور پیش‌فرض 0، و مقادیر رشته‌ای و مجموعه‌داده به طور پیش‌فرض تعریف‌نشده هستند.

مقدار "authserv-id" را برای استفاده هنگام تولید فیلد هدر Authentication-Results: پس از تأیید اعتبار پیام تنظیم می‌کند. پیش‌فرض این است که از نام MTA پردازش‌کننده پیام استفاده شود. اگر رشته "HOSTNAME" ارائه شود، نام میزبانی که فیلتر را اجرا می‌کند (همان‌طور که توسط تابع gethostname(3) برگردانده می‌شود) استفاده خواهد شد.
اگر "true" باشد، درخواست می‌کند که بخش authserv-id از فیلدهای هدر افزوده‌شده Authentication-Results: شامل شناسه کار (job ID) پیامی باشد که در حال ارزیابی است.
راه‌اندازی مجدد خودکار در هنگام بروز خطا. با احتیاط استفاده کنید؛ اگر فیلتر بلافاصله پس از شروع با شکست مواجه شود، این امر می‌تواند باعث ایجاد یک حلقه فشرده fork(2) شود.
حداکثر تعداد راه‌اندازی مجدد خودکار را تعیین می‌کند. پس از این تعداد راه‌اندازی مجدد خودکار، فیلتر متوقف شده و به کار خود پایان می‌دهد. مقدار 0 به معنای عدم وجود محدودیت است؛ این مقدار پیش‌فرض است.
حداکثر نرخ راه‌اندازی مجدد خودکار را تعیین می‌کند. اگر فیلتر سریع‌تر از نرخ تعریف‌شده در اینجا شروع به راه‌اندازی مجدد کند، متوقف شده و پایان می‌یابد. این یک رشته به صورت n/t[u] است که در آن n یک عدد صحیح برای محدود کردن تعداد راه‌اندازی‌های مجدد در بازه زمانی داده‌شده است و t[u] بازه زمانی را که نرخ بر اساس آن محاسبه می‌شود تعریف می‌کند؛ t یک عدد صحیح است و u واحدهای نشان‌داده‌شده را تعیین می‌کند ("s" یا "S" برای ثانیه، که پیش‌فرض است؛ "m" یا "M" برای دقیقه؛ "h" یا "H" برای ساعت؛ "d" یا "D" برای روز). به عنوان مثال، مقدار "10/1h" راه‌اندازی مجدد را به ۱۰ بار در یک ساعت محدود می‌کند. هیچ پیش‌فرضی وجود ندارد، به این معنی که نرخ راه‌اندازی مجدد محدود نیست.
باعث می‌شود opendmarc فرایند fork را انجام داده و بلافاصله خارج شود، و سرویس را در پس‌زمینه در حال اجرا بگذارد. پیش‌فرض "true" است.
در صورت تنظیم، به فیلتر دستور می‌دهد قبل از انجام هر کار دیگری با استفاده از chdir(2) به دایرکتوری مشخص‌شده برود. این بدان معناست که هر فایلی که در جای دیگری از فایل پیکربندی به آن ارجاع داده شده است، می‌تواند به صورت نسبی نسبت به این دایرکتوری مشخص شود. این گزینه همچنین برای ترتیب دادن به ذخیره دامپ‌های ناشی از کرش در یک مکان مشخص کاربرد دارد.
از سیستم‌عامل درخواست می‌کند که قبل از شروع اجرا، دایرکتوری ریشه مؤثر فرایند را به دایرکتوری مشخص‌شده در اینجا تغییر دهد. chroot (2) نیازمند دسترسی کاربر ارشد (superuser) است. اگر UserID نیز تنظیم نشده باشد، یک هشدار صادر خواهد شد.
در صورتی که ارزیابی DMARC پیام ناموفق باشد، گیرنده مشخص‌شده را به پاکت (envelope) پیام اضافه می‌کند.
فهرستی مختصر از دامنه‌های در فهرست سفید که هدرهای امضای ARC آنها بر اساس ارزیابی ورودی‌های فیلد "arc.chain" موجود در هدر Authentication-Results که به صورت محلی تولید شده است، مورد اعتماد هستند.

این فهرست با DomainWhitelistFile (در صورت ارائه) الحاق خواهد شد.

فهرستی جامع از دامنه‌های در فهرست سفید که هدرهای امضای ARC آنها بر اساس ارزیابی ورودی‌های فیلد "arc.chain" موجود در هدر Authentication-Results که به صورت محلی تولید شده است، مورد اعتماد هستند.

این فهرست با DomainWhitelist (در صورت ارائه) الحاق خواهد شد.

ظرفیت ساختار داده دامنه‌های فهرست سفید را تعیین می‌کند. این مقدار حداکثر تعداد ورودی‌ها شامل دامنه‌های فهرست‌شده در پارامتر پیکربندی DomainWhitelist و دامنه‌های فهرست‌شده در DomainWhiteListFile را مشخص می‌کند. اندازه نهایی تقریباً ۲۰٪ افزایش می‌یابد تا کارایی الگوریتم درهم‌سازی (hashing) افزایش یابد.
مهلت زمانی DNS را بر حسب ثانیه تنظیم می‌کند. مقدار 0 باعث انتظار نامحدود می‌شود. پیش‌فرض 5 است. در صورت عدم استفاده از بسته تحلیل‌گر ناهمگام (asynchronous resolver)، نادیده گرفته می‌شود.
در سیستم‌هایی که از چنین قابلیتی پشتیبانی می‌کنند، یک درخواست صریح به هسته ارسال می‌کند تا در صورت کرش کردن فیلتر به هر دلیلی، هسته core dump تولید کند. برخی از سیستم‌های مدرن یونیکس در صورتی که شناسه کاربر در طول عمر فرایند تغییر کرده باشد، به دلایل امنیتی از ایجاد core dump در هنگام کرش جلوگیری می‌کنند. در حال حاضر فقط در لینوکس پشتیبانی می‌شود.
تولید گزارش‌های شکست را زمانی که آزمون DMARC ناموفق باشد و فرستنده ادعایی پیام چنین گزارش‌هایی را درخواست کرده باشد، فعال می‌کند. گزارش‌ها بر اساس RFC6591 قالب‌بندی می‌شوند.
هنگامی که گزارش‌های شکست فعال باشند و قرار باشد گزارشی تولید شود، همیشه یک نسخه به نشانی‌های مشخص‌شده در اینجا ارسال می‌شود. اگر گزارش شکست توسط مالک دامنه درخواست شده باشد، نشانی‌ها در فیلد Bcc: اضافه می‌شوند. اگر درخواستی نشده باشد، نشانی‌ها در فیلد To: استفاده می‌شوند. هیچ پیش‌فرضی وجود ندارد.
مکمل تنظیمات قبلی است و تولید گزارش‌های شکست را برای دامنه‌های فرستنده‌ای که خط‌مشی "none" منتشر می‌کنند فعال می‌سازد.
مقدار فیلد From: را برای استفاده هنگام ارسال گزارش‌های شکست مشخص می‌کند (به بالا مراجعه کنید). پیش‌فرض این است که از شناسه کاربری کاربری که فیلتر را اجرا می‌کند و نام میزبان محلی برای ساخت یک نشانی ایمیل استفاده شود.
در صورت تنظیم، مکان یک فایل متنی را مشخص می‌کند که رکوردهایی در آن نوشته می‌شوند که می‌توان از آنها برای تولید گزارش‌های تجمیعی DMARC استفاده کرد. رکوردها دسته‌هایی از سطرها هستند که حاوی اطلاعات مربوط به یک پیام دریافتی منفرد می‌باشند و تمام اطلاعات مرتبط مورد نیاز برای تولید گزارش تجمیعی DMARC را در بر می‌گیرند. انتظار می‌رود که از این فایل به شکل خام استفاده نشود، بلکه به صورت دوره‌ای در یک پایگاه داده رابطه‌ای وارد شود که می‌توان گزارش‌های تجمیعی را با استفاده از opendmarc-importstats(8) از آن استخراج کرد.
در صورت تنظیم، milter به MTA اعلام می‌کند که پیام‌های دارای p=quarantine که در احراز هویت DMARC شکست می‌خورند، باید در صف "Hold" یا "Quarantine" مربوط به MTA نگهداری شوند. این نام بسته به MTA متفاوت است. در صورت false بودن، پیام‌ها پذیرفته شده و به همراه جریان معمول ایمیل ارسال می‌شوند، و قرنطینه به فیلترهای پایین‌دستی MTA/MDA/MUA (در صورت وجود) واگذار می‌شود تا با ارزیابی مجدد هدرها، از جمله هدر Authentication-Results اضافه شده توسط این فیلتر، مدیریت شوند. پیش‌فرض "false" است.
در صورت تنظیم، milter به MTA اعلام می‌کند که پیام‌های دارای p=quarantine که در احراز هویت DMARC شکست می‌خورند، باید در صف "Hold" یا "Quarantine" مربوط به MTA نگهداری شوند. این نام بسته به MTA متفاوت است. در صورت false بودن، پیام‌ها پذیرفته شده و به همراه جریان معمول ایمیل ارسال می‌شوند، و قرنطینه به فیلترهای پایین‌دستی MTA/MDA/MUA (در صورت وجود) واگذار می‌شود تا با ارزیابی مجدد هدرها، از جمله هدر Authentication-Results اضافه شده توسط این فیلتر، مدیریت شوند. پیش‌فرض "false" است.
در صورت تنظیم، باعث می‌شود ایمیل‌های ارسال‌شده از کلاینت‌های احراز هویت شده (یعنی آنهایی که از SMTP AUTH استفاده کرده‌اند) توسط فیلتر نادیده گرفته شوند. پیش‌فرض "false" است.
مسیر فایلی را مشخص می‌کند که حاوی فهرستی از نام‌های میزبان، نشانی‌های IP یا عبارت‌های CIDR است که میزبان‌هایی را مشخص می‌کنند که اتصالات SMTP آنها باید توسط فیلتر نادیده گرفته شود. در صورت عدم تعیین، تنها به "127.0.0.1" پیش‌فرض می‌شود.
فهرستی از نام‌های دامنه را ارائه می‌دهد که ایمیل‌های آنها (بر اساس دامنه From:) باید توسط فیلتر نادیده گرفته شوند. این فهرست باید با کاما از هم جدا شود. تطبیق با این فهرست به حروف کوچک و بزرگ حساس نیست. پیش‌فرض یک فهرست خالی است، به این معنی که هیچ ایمیلی نادیده گرفته نمی‌شود.
سطح دیباگ درخواستی از کتابخانه milter را تعیین می‌کند. پیش‌فرض 0 است.
مسیر فایلی را مشخص می‌کند که باید در هنگام شروع فرایند ایجاد شود و حاوی شناسه فرایند (PID) باشد.
مسیر فایلی را مشخص می‌کند که حاوی دامنه‌های سطح‌بالا (TLDها) است و برای محاسبه دامنه سازمانی (Organizational Domain) برای یک نام دامنه مشخص استفاده خواهد شد، همان‌طور که در مشخصات DMARC توصیف شده است. در صورت عدم ارائه، فیلتر قادر به تعیین دامنه سازمانی نخواهد بود و تنها دامنه ارائه‌شده ارزیابی خواهد شد. این فایل باید به طور دوره‌ای به‌روزرسانی شود. یکی از مکان‌ها برای دریافت این فایل https://publicsuffix.org/list است.
در صورت تنظیم و هنگامی که HistoryFile در حال استفاده باشد، تمام پیام‌های دریافتی در فایل تاریخچه ثبت می‌شوند. در صورت عدم تنظیم (پیش‌فرض)، تنها پیام‌هایی که دامنه From: آنها رکورد DMARC منتشر کرده است در فایل تاریخچه ثبت خواهند شد.
در صورت تنظیم، پیام‌ها در صورت شکست در ارزیابی DMARC رد (reject) می‌شوند، یا اگر ارزیابی نتواند کامل شود به طور موقت با شکست مواجه می‌شوند (temp-fail). به طور پیش‌فرض، هیچ پیامی بدون در نظر گرفتن نتیجه ارزیابی DMARC پیام، رد یا دچار شکست موقت نمی‌شود. در عوض، یک فیلد هدر Authentication-Results اضافه خواهد شد. پیش‌فرض "false" است.
در صورت تنظیم، پیام‌هایی که دارای چندین نشانی در فیلد From: پیام هستند رد خواهند شد، مگر اینکه تمام نام‌های دامنه در آن فیلد یکسان باشند. در غیر این صورت توسط فیلتر نادیده گرفته می‌شوند (پیش‌فرض).
دستور شلی را مشخص می‌کند که در صورت فعال بودن FailureReports باید گزارش‌های شکست برای تحویل به آن ارسال شوند. پیش‌فرض /usr/sbin/sendmail است.
در صورت تنظیم، فیلتر اطمینان حاصل می‌کند که هدر پیام با محدودیت‌های اساسی تعداد فیلدهای هدر که در RFC5322، بخش 3.6 مشخص شده است مطابقت دارد. پیام‌هایی که در این آزمون شکست بخورند بدون پردازش بیشتر رد می‌شوند. یک فیلد From: که هیچ نام دامنه‌ای نتوان از آن استخراج کرد نیز رد خواهد شد.
سوکت مورد نیازی را مشخص می‌کند که باید توسط فیلتر ایجاد شود تا اتصالات را از sendmail(8) به منظور ارائه خدمات دریافت کند. socketspec به یکی از این دو شکل است: local:path, که یک سوکت دامنه یونیکس در path مشخص‌شده ایجاد می‌کند، یا inet:port[@host] یا inet6:port[@host] که یک سوکت TCP در port مشخص‌شده برای خانواده پروتکل مربوطه ایجاد می‌کند. اگر host به عنوان نام میزبان یا نشانی IP مشخص نشود، سوکت روی تمام رابط‌ها گوش خواهد داد. این گزینه چه در فایل پیکربندی یا در خط فرمان اجباری است. اگر از نشانی IP استفاده شود، باید درون براکت قرار گیرد.
باعث می‌شود opendmarc یک فیلد هدر "DMARC-Filter" اضافه کند که نشان‌دهنده حضور این فیلتر در مسیر پیام از زمان تزریق تا تحویل است. نام محصول، نسخه و شناسه کار (job ID) در محتوای این فیلد هدر گنجانده می‌شوند.
باعث می‌شود فیلتر هرگونه نتیجه SPF در هدر پیام را نادیده بگیرد. این گزینه در صورتی مفید است که بخواهید فیلتر خودش بررسی‌های SPF را انجام دهد، یا به این دلیل که به هدر ورودی اعتماد ندارید. پیش‌فرض "false" است.
باعث می‌شود فیلتر در صورتی که نتواند هیچ نتیجه SPF در هدر پیام پیدا کند، خودش یک بررسی پشتیبان SPF انجام دهد. اگر SPFIgnoreResults نیز تنظیم شده باشد، هرگز به دنبال نتایج SPF در هدرها نمی‌گردد و در صورت تنظیم این گزینه، همیشه بررسی SPF را خودش انجام می‌دهد. پیش‌فرض "false" است.
هرگونه فعالیت مهم را از طریق فراخوانی‌های syslog(3) ثبت می‌کند.
از طریق فراخوانی‌های syslog(3) با استفاده از تسهیلات (facility) نام‌برده ثبت می‌کند. نام‌های تسهیلات همان مواردی هستند که در syslog.conf(5) مجاز می‌باشند. پیش‌فرض "mail" است.
فهرستی از authserv-idها را ارائه می‌دهد که برای شناسایی فیلدهای هدر Authentication-Results استفاده می‌شوند که محتوای آنها باید به عنوان ورودی معتبر برای ارزیابی DMARC در نظر گرفته شود. برای ارائه فهرست، مقادیر را با کاما جدا کنید. اگر رشته "HOSTNAME" ارائه شود، نام میزبانی که فیلتر را اجرا می‌کند (همان‌طور که توسط تابع gethostname(3) برگردانده می‌شود) استفاده خواهد شد. تطبیق با این فهرست به حروف کوچک و بزرگ حساس نیست. پیش‌فرض استفاده از مقدار AuthservID است.
ماسک دسترسی خاصی را برای ایجاد فایل درخواست می‌کند. این فقط برای ایجاد سوکت زمانی که Socket یک سوکت دامنه یونیکس را مشخص می‌کند، و برای PidFile (در صورت وجود) اعمال می‌شود؛ فایل‌های موقت توسط تابع mkstemp(3) ایجاد می‌شوند که یک حالت فایل خاص را در هنگام ایجاد، صرف نظر از umask فرایند، اعمال می‌کند. برای اطلاعات بیشتر به umask(2) مراجعه کنید.
تلاش می‌کند تا قبل از شروع عملیات، به شناسه کاربری (userid) مشخص‌شده تبدیل شود. مقدار به صورت userid[:group] است. به فرایند تمام گروه‌ها و شناسه گروه اصلی userid نام‌برده اختصاص می‌یابد، مگر اینکه یک group جایگزین مشخص شود.

/etc/opendmarc/opendmarc.conf
مکان پیش‌فرض این فایل.

این صفحه راهنما نسخه 1.4.2 از opendmarc را پوشش می‌دهد.

Copyright (c) 2012-2015, 2018, 2021, The Trusted Domain Project. All rights reserved.

opendmarc(8), opendmarc-importstats(8), sendmail(8)

RFC4408 - Sender Policy Framework

RFC5451 - Message Header Field for Indicating Message Authentication Status

RFC5965 - An Extensible Format for Email Feedback Reports

RFC6376 - DomainKeys Identified Mail

RFC6591 - Authentication Failure Reporting Using the Abuse Reporting Format

The Trusted Domain Project