| TLSRPT-REPORTD(1) | tlsrpt-reportd | TLSRPT-REPORTD(1) |
نام (NAME)
tlsrpt-reportd - دیمنی برای ایجاد و تحویل گزارشهای TLSRPT مطابق با RFC 8460
خلاصه دستور (SYNOPSIS)
tlsrpt-reportd [گزینه]
توضیحات (DESCRIPTION)
برنامه tlsrpt-reportd مؤلفه نهایی در چارچوب کاری TLSRPT است. یک MTA (عامل انتقال ایمیل) تحویل موفقیتآمیز یا خطاهای رخداده را از طریق libtlsrpt به یک tlsrpt-collectd گزارش میدهد که وظیفه جمعآوری و پیشتجمیع دادهها را بر عهده دارد. ابزار tlsrpt-fetcher مرتبط با یک tlsrpt-collectd، دادههای پیشتجمیعشده را به tlsrpt-reportd منتقل میکند. برنامه tlsrpt-reportd میتواند دادهها را از چندین tlsrpt-fetcher دریافت کرده و دادههای پیشتجمیعشده را در قالب گزارشهای نهایی تجمیع کند. این گزارشها با gzip فشرده شده و به مقاصدی ارسال میشوند که در رکوردهای DNS مربوط به TLSRPT دامنههای دریافتکننده ایمیل از MTA مشخص شدهاند.
یک نمودار جریان داده ساده که نحوه تعامل مؤلفهها را نشان میدهد به شرح زیر است:
(MTA) v libtlsrt v tlsrpt-collectd v (storage) v tlsrpt-fetcher v tlsrpt-reportd v (report destination)
گزینهها (OPTIONS)
گزینههای ایجاد و پیکربندی گزارش (Report creation and configuration options)
--contact_info=addr
--organization_name=descr
--sender_address=email
--fetchers=list
--dbname=path
--compression_level=n
--keep_days=n
گزینههای تحویل گزارش (Report delivery options)
--spread_out_delivery=sec
--sendmail_script=path
--sendmail_timeout=sec
--http_script=path
--http_timeout=sec
--max_retries_delivery=n
--min_wait_delivery=sec
--max_wait_delivery=sec
--http_upload_map=path
--mail_destination_map=path
--tlsrpt_record_map=path
گزینههای کنترل تعامل با یک یا چند tlsrpt-collectd (Options controlling the interaction with one or more tlsrpt-collectd)
--max_collectd_timediff=sec
--max_collectd_timeout=sec
--max_retries_domaindetails=n
--min_wait_domaindetails=sec
--max_wait_domaindetails=sec
--max_retries_domainlist=n
--min_wait_domainlist=sec
--max_wait_domainlist=sec
--interval_main_loop=sec
گزینههای اشکالزدایی و توسعه (Debug and development options)
--debug_db=n
--debug_send_file_dest=dir
--debug_send_mail_dest=path
--debug_send_http_dest=path
گزینههای عمومی (General options)
--config_file=filename
--help
--pidfilename=path
گزینههای ثبت وقایع (Logging options)
--logfilename=filename
--log_level=level
محیط (ENVIRONMENT)
تمامی گزینههای پیکربندی به جز --help و --config_file را میتوان از طریق متغیرهای محیطی نیز تنظیم کرد. متغیر محیطی متناظر با هر گزینه پیکربندی، شامل پیشوند TLSRPT_REPORTD_ به همراه نام تنظیم پیکربندی با حروف بزرگ انگلیسی است. برای نمونه، گزینه --log_level را میتوان با استفاده از متغیر محیطی TLSRPT_REPORTD_LOG_LEVEL پیکربندی کرد.
نگاشت مقصد (DESTINATION MAPPING)
گزینههای --tlsrpt_record_map، --http_upload_map و --mail_destination_map امکان نگاشت مقاصد گزارش استخراجشده از رکورد TLSRPT را بر اساس دامنهای که گزارش برای آن ایجاد میشود فراهم میکنند.
تمام جداول نگاشت بر اساس قاعده «اولین تطابق برنده است» (first match wins) پردازش میشوند. پس از تطابق یک قانون، هیچ قانون دیگری بررسی و پردازش نخواهد شد.
گزینه --tlsrpt_record_map در ابتدا برای تبدیل کل مجموعه مقاصد به کار میرود. گزینههای --http_upload_map و --mail_destination_map امکان اعمال تغییرات بیشتر روی مقاصد گزارشی که با طرحوارههای «mailto:» یا «https:» مطابقت دارند را فراهم میسازند و این گزینهها خود مقصد گزارش را برای اعمال قانون بررسی میکنند، نه دامنهای که گزارش برای آن ساخته شده است.
هر خط از جدول نگاشت دارای ساختار زیر است: match action [parameters]
بخش match به صورت «matchtype:pattern» است. انواع تطابق پشتیبانیشده عبارتند از: «domain:» و «regexp:».
پیشوند «domain:» را میتوان حذف کرد؛ یعنی در صورت عدم تعیین نوع تطابق، شیوه تطابق «domain:» حالت پیشفرض است. یک تطابق «domain:» با بخش دامنه در یک نشانی «mailto:» در --mail_destination_map و با بخش دامنه در یک نشانی «https:» در --http_upload_map تطبیق داده میشود. تطابق «domain:» میتواند با یک نام دامنه کامل تطابق یابد یا اگر با یک «.» آغاز شود با تمامی زیردامنهها تطبیق پیدا میکند. یک «.» منفرد با تمام نامهای دامنه تطبیق دارد. علامت «.» در انتهای نام دامنه نادیده گرفته میشود.
نام دامنه «many.sub.domains.example.com» بدون نقطه در ابتدا، با «sub.domains.example.com» یا «sub.domains.example.com.» تطابق نمییابد، اما با این عبارات تطابق دامنه مطابقت خواهد داشت:
یک تطابق به سبک «regexp:» در --tlsrpt_record_map با نام دامنهای که گزارش برای آن ایجاد میشود تطبیق مییابد. یک تطابق به سبک «regexp:» در جداول نگاشت --http_upload_map و --mail_destination_map با کل رشته مقصد گزارش تطبیق داده میشود، نه فقط بخش دامنه استخراجشده.
بخش action میتواند یکی از موارد «ACCEPT»، «DISCARD»، «APPEND»، «REPLACE» و «REGEXP» باشد. عملیات «ACCEPT» مقاصد گزارش را همانگونه که هستند میپذیرد. عملیات «DISCARD» مجموعهای خالی از مقاصد گزارش برمیگرداند و هیچ گزارشی ارسال نخواهد شد. عملیات «APPEND» مقاصد گزارش اضافی ارائه میدهد. عملیات «REPLACE» مقاصد گزارش را با مقاصد دیگری جایگزین میکند. عملیات «REGEXP» هر مقصد گزارش تطابقیافته را بر اساس دو پارامتر خود تبدیل میکند: یک عبارت باقاعده (regexp) منطبق و یک جایگزین (substitution).
عملیاتهای «APPEND»، «REPLACE» و «REGEXP» میتوانند طرحوارههای نشانی (URI schemes) دیگری را معرفی کنند. علاوه بر طرحوارههای «mailto:» و «https:» تعریفشده در RFC 8460، دیمن tlsrpt-reportd طرحواره اضافی «directory:» را به عنوان دایرکتوری در سیستم فایل میشناسد که در آن گزارشها برای بررسی و اشکالزدایی به صورت فایل ذخیره میشوند.
قوانین موجود در --mail_destination_map میتوانند نشانیهای «https:» و «directory:» را نیز به عنوان مقصد گزارش معرفی کنند. قوانین موجود در --http_upload_map نیز میتوانند نشانیهای «https:» و «directory:» را به عنوان مقصد گزارش معرفی کنند. هیچ پردازش دیگری روی این مقاصد انجام نمیشود؛ به این معنی که نشانی «https:» معرفیشده در --mail_destination_map از تبدیلهای --http_upload_map عبور داده نمیشود و برعکس.
با این حال، نتایج حاصل از --tlsrpt_record_map که ابتدا پردازش میشود، حتی در صورتی که --tlsrpt_record_map مقاصد گزارش را تغییر داده باشد، از فیلتر تبدیلهای --http_upload_map و --mail_destination_map عبور داده میشوند.
مثالها (EXAMPLES)
دریافت داده از یک واکشیکننده محلی با پیکربندی استاندارد و از یک واکشیکننده محلی دیگر با فضای ذخیرهسازی متفاوت:
tlsrpt-reportd --fetchers "tlsrpt-fetcher, tlsrpt-fetcher --storage sqlite:///tmp/test.sqlite"
دریافت داده از یک واکشیکننده محلی و یک واکشیکننده از راه دور:
tlsrpt-reportd --fetchers "tlsrpt-fetcher, ssh user@remote tlsrpt-fetcher"
وضعیت خروج (EXIT STATUS)
0
1
همچنین ببینید (SEE ALSO)
man:tlsrpt-collectd[1], man:tlsrpt-fetcher[1]
نویسنده (AUTHOR)
Boris Lohner
| 2026-09-01 | tlsrpt-reportd |