| DNSSEC-SIGNZONE(1) | BIND 9 | DNSSEC-SIGNZONE(1) |
نام (NAME)
dnssec-signzone - ابزار امضای ناحیه DNSSEC
خلاصه دستور (SYNOPSIS)
dnssec-signzone [-a] [-c class] [-d directory] [-D] [-E engine] [-e end-time] [-f output-file] [-F] [-g] [-G sync-records] [-h] [-i interval] [-I input-format] [-j jitter] [-J filename] [-K directory] [-k key] [-L serial] [-M maxttl] [-N soa-serial-format] [-o origin] [-O output-format] [-P] [-Q] [-q] [-R] [-S] [-s start-time] [-T ttl] [-t] [-u] [-v level] [-V] [-X extended end-time] [-x] [-z] [-3 salt] [-H iterations] [-A] {zonefile} [key...]
توضیحات (DESCRIPTION)
دستور dnssec-signzone یک ناحیه (zone) را امضا میکند؛ این ابزار رکوردهای NSEC و RRSIG را تولید کرده و نسخهای امضاشده از ناحیه را ایجاد مینماید. وضعیت امنیتی تفویضها (delegations) از ناحیه امضاشده (یعنی اینکه آیا نواحی فرزند ایمن هستند یا خیر) بر اساس وجود یا عدم وجود فایل keyset برای هر ناحیه فرزند تعیین میشود.
گزینهها (OPTIONS)
- -a
- این گزینه تمام امضاهای تولیدشده را اعتبارسنجی و تایید میکند.
- -c class
- این گزینه کلاس DNS ناحیه را مشخص میکند.
- -C
- این گزینه حالت سازگاری (compatibility) را فعال میکند که در آن، علاوه بر dsset-zonename یک فایل keyset-zonename نیز هنگام امضای ناحیه تولید میشود تا برای نسخههای قدیمیتر dnssec-signzone قابل استفاده باشد.
- -d directory
- این گزینه دایرکتوری مورد نظری را مشخص میکند که BIND 9 باید در آن به دنبال فایلهای dsset- یا keyset- بگردد.
- -D
- این گزینه مشخص میکند که فقط انواع رکوردهایی که بهطور خودکار توسط dnssec-signzone مدیریت میشوند (یعنی رکوردهای RRSIG، NSEC، NSEC3 و NSEC3PARAM) باید در خروجی گنجانده شوند. اگر از امضای هوشمند (-S) استفاده شود، رکوردهای DNSKEY نیز اضافه میشوند. فایل حاصل را میتوان با دستور $INCLUDE در فایل ناحیه اصلی درج کرد. این گزینه را نمیتوان با -O raw یا بهروزرسانی شماره سریال ترکیب کرد.
- -E engine
- در صورت
لزوم،
سختافزار
مورد
استفاده
برای
عملیات
رمزنگاری،
مانند یک
مخزن امن
کلید برای
امضا کردن
را مشخص
میکند.
هنگامی که BIND 9 با OpenSSL کامپایل شده باشد، این مقدار باید برابر با شناسه موتور OpenSSL باشد که شتابدهنده رمزنگاری یا ماژول امنیتی سختافزاری (معمولاً pkcs11) را هدایت میکند.
- -F
- این گزینه در صورتی که کتابخانه رمزنگاری زیربنایی از حالت FIPS پشتیبانی کند، حالت FIPS (استانداردهای فدرال پردازش اطلاعات ایالات متحده) را فعال میسازد.
- -g
- این گزینه مشخص میکند که رکوردهای DS برای نواحی فرزند باید از یک فایل dsset- یا keyset- تولید شوند. رکوردهای DS موجود حذف خواهند شد.
- -G sync-records
- این گزینه مشخص میکند کدام رکوردهای CDS و CDNSKEY باید تولید شوند. شناسه sync-records رشتهای جداشده با کاما از موارد مجاز زیر است: cdnskey و cds:<digest-type>، که در آن digest-type یک الگوریتم مجاز مانند SHA-256 (2) یا SHA-384 (4) است. این گزینه تنها در ترکیب با امضای هوشمند (-S) کار میکند.
- -J filename
- این گزینه به dnssec-signzone دستور میدهد که هنگام بارگذاری فایل ناحیه، ژورنال را از فایل مشخصشده بخواند.
- -K directory
- این گزینه دایرکتوری مورد جستجو برای یافتن کلیدهای DNSSEC را مشخص میکند. در صورت عدم تعیین، به طور پیشفرض از دایرکتوری فعلی استفاده میشود.
- -k key
- این گزینه به BIND 9 اعلام میکند که با کلید مشخصشده به عنوان کلید امضای کلید (KSK) رفتار کند و تمام فلگهای کلید را نادیده بگیرد. این گزینه را میتوان چندین بار مشخص کرد.
- -M maxttl
- این گزینه حداکثر مقدار TTL را برای ناحیه امضاشده تنظیم میکند. هر مقدار TTL در ناحیه ورودی که بزرگتر از maxttl باشد، در خروجی به maxttl کاهش مییابد. این کار اطمینان لازم را در خصوص بیشترین TTL ممکن در ناحیه امضاشده فراهم میکند که در زمان چرخش کلیدها مفید است. مقدار maxttl طولانیترین زمان ممکن است پیش از آنکه امضاهای دریافتشده توسط ریزالورها از حافظه موقت (کَش) آنها منقضی شوند. نواحی امضاشده با این گزینه باید طوری پیکربندی شوند که از مقدار منطبق max-zone-ttl در named.conf <#std-iscman-named.conf> استفاده کنند. (توجه: این گزینه با -D ناسازگار است، زیرا دادههای غیر DNSSEC را در ناحیه خروجی تغییر میدهد.)
- -s start-time
- این گزینه تاریخ و زمانی را که رکوردهای RRSIG تولیدشده معتبر میشوند، مشخص میکند. این مقدار میتواند زمان مطلق یا نسبی باشد. زمان مطلق با عددی در قالب YYYYMMDDHHMMSS مشخص میشود؛ عدد 20000530144500 نشاندهنده ساعت 14:45:00 به وقت UTC در تاریخ ۳۰ مه ۲۰۰۰ است. زمان نسبی با +N مشخص میشود که به معنای N ثانیه پس از زمان فعلی است. در صورت عدم تعیین start-time، زمان فعلی منهای ۱ ساعت (برای لحاظ کردن خطای اختلاف ساعت) استفاده میشود.
- -e end-time
- این گزینه تاریخ و زمانی را که رکوردهای RRSIG تولیدشده منقضی میشوند، مشخص میکند. همانند start-time، زمان مطلق در قالب YYYYMMDDHHMMSS بیان میشود. زمان نسبی نسبت به زمان شروع با +N (N ثانیه پس از زمان شروع) و زمان نسبی نسبت به زمان فعلی با now+N مشخص میگردد. در صورت عدم تعیین end-time، بهطور پیشفرض ۳۰ روز پس از زمان شروع در نظر گرفته میشود. مقدار end-time باید پس از start-time باشد.
- -X extended end-time
- این گزینه
تاریخ و
زمانی را که
رکوردهای RRSIG
تولیدشده
برای
مجموعه
رکوردهای DNSKEY
منقضی
میشوند،
مشخص
میکند. این
گزینه در
مواردی
کاربرد
دارد که
امضاهای DNSKEY
نیاز به
ماندگاری
طولانیتری
نسبت به
امضاهای
سایر
رکوردها
دارند؛
برای نمونه
زمانی که
مؤلفه
خصوصی KSK
بهصورت
آفلاین
نگهداری
میشود و
امضای KSK
باید
بهصورت
دستی تمدید
گردد.
همانند end-time، زمان مطلق در قالب YYYYMMDDHHMMSS بیان میشود. زمان نسبی نسبت به زمان شروع با +N (N ثانیه پس از زمان شروع) و زمان نسبی نسبت به زمان فعلی با now+N مشخص میگردد. در صورت عدم تعیین extended end-time، مقدار end-time به عنوان مقدار پیشفرض استفاده میشود (که end-time نیز بهنوبه خود پیشفرض ۳۰ روز پس از زمان شروع را دارد). مقدار extended end-time باید پس از start-time باشد.
- -f output-file
- این گزینه نام فایل خروجی حاوی ناحیه امضاشده را مشخص میکند. پیشفرض برنامه این است که پسوند .signed را به انتهای نام فایل ورودی اضافه کند. اگر output-file روی - تنظیم شود، ناحیه امضاشده با فرمت خروجی پیشفرض full در خروجی استاندارد نوشته میشود.
- -h
- خلاصهای کوتاه از گزینهها و آرگومانهای dnssec-signzone را چاپ میکند.
- -V
- اطلاعات نسخه را چاپ میکند.
- -i interval
- این گزینه
مشخص
میکند
هنگامی که
یک ناحیه از
پیش
امضاشده به
عنوان
ورودی داده
میشود،
رکوردها
ممکن است
دوباره
امضا شوند.
گزینه interval
بازه زمانی
چرخه را به
عنوان آفست
از زمان
فعلی (بر
حسب ثانیه)
تعیین
میکند. اگر
یک رکورد RRSIG
پس از بازه
چرخه منقضی
شود، حفظ
میگردد؛
در غیر این
صورت رو به
انقضا تلقی
شده و
جایگزین
میشود.
بازه چرخه پیشفرض یکچهارم اختلاف بین زمان پایان و زمان شروع امضا است. بنابراین اگر نه end-time و نه start-time مشخص نشده باشند، dnssec-signzone امضاهایی تولید میکند که برای ۳۰ روز معتبرند و بازه چرخه آنها ۷٫۵ روز خواهد بود. در نتیجه، اگر هر رکورد RRSIG موجود کمتر از ۷٫۵ روز تا انقضا فاصله داشته باشد، جایگزین میگردد.
توجه داشته باشید که محاسبه بازه چرخه بر اساس دوره اعتبار امضاهای جایگزینی است که توسط dnssec-signzone تولید خواهند شد، نه بر اساس طول عمر معتبر رکوردهای RRSIG ورودی که برای جایگزینی پیش از موعد بررسی میشوند.
- -I input-format
- فرمت فایل ناحیه ورودی را مشخص میکند. فرمتهای ممکن عبارتند از text (پیشفرض) و raw. این گزینه در درجه اول برای نواحی پویای امضاشده در نظر گرفته شده است، تا فایل دامپشده ناحیه در فرمت غیرمتنیِ حاوی بهروزرسانیها را بتوان مستقیماً امضا کرد. این گزینه برای نواحی غیرپویا کاربردی ندارد.
- -j jitter
- هنگام
امضای یک
ناحیه با
طول عمر
امضای
ثابت، تمام
رکوردهای RRSIG
صادرشده در
زمان امضا
همزمان
منقضی
میشوند.
اگر ناحیه
به صورت
افزایشی
امضا
شود—یعنی
یک ناحیه از
قبل
امضاشده به
عنوان
ورودی به
امضاکننده
داده
شود—تمام
امضاهای
منقضیشده
باید
تقریباً در
یک زمان
دوباره
تولید شوند.
گزینه jitter یک
پنجره
نوسان
تصادفی (jitter)
مشخص
میکند که
برای
تصادفیسازی
زمان
انقضای
امضا به کار
میرود و در
نتیجه
بازتولید
افزایشی
امضاها را
در طول زمان
پخش میکند.
نوسان تصادفی طول عمر امضا همچنین تا حدی با پخش کردن زمان انقضای حافظه موقت (کَش) به سود اعتبارسنجها و سرورها عمل میکند؛ یعنی اگر تعداد زیادی از رکوردهای RRSIG به طور همزمان از تمام حافظههای موقت منقضی نشوند، ازدحام شبکه بسیار کمتر از حالتی خواهد بود که تمام اعتبارسنجها نیاز به واکشی مجدد در حدود یک زمان واحد داشته باشند.
- -L serial
- هنگام نوشتن یک ناحیه امضاشده در فرمت "raw"، این گزینه مقدار "source serial" را در هدر به شماره serial مشخصشده تنظیم میکند. (انتظار میرود این گزینه عمدتاً برای مقاصد آزمایشی استفاده شود.)
- -n ncpus
- تعداد ریسههای مورد استفاده را مشخص میکند. به طور پیشفرض، به ازای هر پردازنده (CPU) شناساییشده یک ریسه راهاندازی میشود.
- -N soa-serial-format
- فرمت شماره سریال SOA ناحیه امضاشده را تنظیم میکند. فرمتهای ممکن عبارتند از keep (پیشفرض)، increment، unixtime و date.
- keep
- این فرمت مشخص میکند که شماره سریال SOA نباید تغییر کند.
- increment
- این فرمت شماره سریال SOA را بر اساس محاسبات ریاضی RFC 1982 https://datatracker.ietf.org/doc/html/rfc1982.html افزایش میدهد.
- unixtime
- این فرمت شماره سریال SOA را برابر با تعداد ثانیههای سپریشده از آغاز مبدا زمانی یونیکس (Unix epoch) قرار میدهد، مگر اینکه شماره سریال در حال حاضر بزرگتر یا مساوی با آن مقدار باشد که در این صورت فقط یک واحد به آن افزوده میشود.
- date
- این فرمت شماره سریال SOA را به تاریخ امروز در قالب YYYYMMDDNN تنظیم میکند، مگر اینکه شماره سریال در حال حاضر بزرگتر یا مساوی با آن مقدار باشد که در این صورت فقط یک واحد به آن افزوده میشود.
- -o origin
- مبدا ناحیه (origin) را تعیین میکند. در صورت عدم تعیین، نام فایل ناحیه به عنوان مبدا در نظر گرفته میشود.
- -O output-format
- فرمت فایل خروجی حاوی ناحیه امضاشده را مشخص میکند. فرمتهای ممکن عبارتند از: text (پیشفرض) که نمایش متنی استاندارد ناحیه است؛ full که خروجی متنی در قالبی مناسب برای پردازش توسط اسکریپتهای خارجی است؛ و raw و raw=N که ناحیه را در قالبهای باینری برای بارگذاری سریع توسط named <#std-iscman-named> ذخیره میکنند. گزینه raw=N نسخه فرمت فایل خام ناحیه را تعیین میکند: اگر N برابر با 0 باشد، فایل خام توسط هر نسخهای از named <#std-iscman-named> قابل خواندن است؛ اگر N برابر با 1 باشد، فایل توسط نسخه 9.9.0 یا بالاتر قابل خواندن خواهد بود. مقدار پیشفرض 1 است.
- -P
- آزمونهای
اعتبارسنجی
پس از امضا
را غیرفعال
میکند.
آزمونهای اعتبارسنجی پس از امضا تضمین میکنند که به ازای هر الگوریتم مورد استفاده، حداقل یک کلید KSK خودامضاشدهٔ باطلنشده وجود داشته باشد، تمامی کلیدهای KSK باطلشده خودامضا باشند، و تمام رکوردهای ناحیه توسط الگوریتم امضا شده باشند. این گزینه این آزمایشها را نادیده میگیرد.
- -Q
- امضاها را
از
کلیدهایی
که دیگر
فعال
نیستند حذف
میکند.
معمولاً هنگامی که یک ناحیه از پیش امضاشده به عنوان ورودی به امضاکننده داده میشود و یک رکورد DNSKEY حذف و با رکورد جدیدی جایگزین شده باشد، امضاهای کلید قدیمی که هنوز در دوره اعتبار خود هستند حفظ میشوند. این کار به ناحیه اجازه میدهد تا با نسخههای کششدهٔ مجموعه رکوردهای قبلی DNSKEY به اعتبارسنجی ادامه دهد. گزینه -Q برنامه dnssec-signzone را وادار میکند که امضاها را از کلیدهایی که دیگر فعال نیستند حذف کند. این امر امکان چرخش ZSK را با استفاده از رویه شرح داده شده در RFC 6781 بخش 4.1.1.1 https://datatracker.ietf.org/doc/html/rfc6781.html#section-4.1.1.1 ("Pre-Publish Zone Signing Key Rollover") فراهم میسازد.
- -q
- حالت بیصدا (quiet mode) را فعال میکند که خروجیهای غیرضروری را متوقف میسازد. بدون این گزینه، هنگام اجرای dnssec-signzone سه بخش اطلاعاتی در خروجی استاندارد چاپ میشود: تعداد کلیدهای در حال استفاده، الگوریتمهای استفادهشده برای بررسی امضای صحیح ناحیه و سایر اطلاعات وضعیت، و نام فایل حاوی ناحیه امضاشده. با این گزینه، این خروجیها حذف شده و تنها نام فایل باقی میماند.
- -R
- امضاها را
از
کلیدهایی
که دیگر
منتشر
نمیشوند
حذف میکند.
این گزینه شبیه به -Q است، با این تفاوت که dnssec-signzone را وادار میکند امضاها را از کلیدهایی که دیگر منتشر نمیشوند حذف کند. این قابلیت امکان چرخش ZSK را با استفاده از رویه شرح داده شده در RFC 6781 بخش 4.1.1.2 https://datatracker.ietf.org/doc/html/rfc6781.html#section-4.1.1.2 ("Double Signature Zone Signing Key Rollover") فراهم میکند.
- -S
- امضای
هوشمند (smart signing)
را فعال
میکند که
به dnssec-signzone
دستور
میدهد
مخزن
کلیدها را
برای یافتن
کلیدهای
منطبق با
ناحیه در
حال امضا
جستجو کند و
در صورت
لزوم آنها
را در ناحیه
بگنجاند.
هنگامی که کلیدی پیدا میشود، متادیتای زمانبندی آن بر اساس قوانین زیر بررسی میشود تا نحوه استفاده از آن تعیین گردد. هر قانون بعدی نسبت به قوانین قبلی اولویت دارد:
اگر تاریخ انتشار کلید تنظیم شده باشد و در گذشته قرار داشته باشد، کلید در ناحیه منتشر میشود.
اگر تاریخ فعالسازی کلید تنظیم شده باشد و در گذشته باشد، کلید (صرف نظر از تاریخ انتشار) در ناحیه منتشر شده و برای امضای ناحیه به کار میرود.
اگر تاریخ ابطال کلید تنظیم شده باشد و در گذشته باشد و کلید منتشر شده باشد، کلید باطل میگردد و کلید باطلشده برای امضای ناحیه استفاده میشود.
اگر تاریخ لغو انتشار یا حذف کلید تنظیم شده باشد و در گذشته باشد، کلید بدون توجه به هر متادیتای دیگر در ناحیه منتشر نشده و برای امضای ناحیه استفاده نمیشود.
اگر تاریخ انتشار همگامسازی (sync publication) کلید تنظیم شده باشد و در گذشته باشد، رکوردهای همگامسازی (از نوع CDS و/یا CDNSKEY) ایجاد میشوند.
اگر تاریخ حذف همگامسازی (sync deletion) کلید تنظیم شده باشد و در گذشته باشد، رکوردهای همگامسازی (از نوع CDS و/یا CDNSKEY) حذف میگردند.
- -T ttl
- مقدار TTL را برای رکوردهای جدید DNSKEY که از مخزن کلیدها به ناحیه وارد میشوند، تعیین میکند. در صورت عدم تعیین، مقدار پیشفرض برابر با TTL رکورد SOA ناحیه خواهد بود. این گزینه هنگام امضا بدون -S نادیده گرفته میشود، زیرا در این حالت رکوردهای DNSKEY از مخزن کلید وارد نمیشوند. همچنین در صورتی که هرگونه رکورد DNSKEY از پیش در راس ناحیه وجود داشته باشد، این گزینه نادیده گرفته شده و TTL رکوردهای جدید منطبق با آنها تنظیم خواهد شد، یا اگر هر یک از رکوردهای DNSKEY واردشده دارای مقدار TTL پیشفرض باشند. در صورت بروز تداخل بین مقادیر TTL در کلیدهای واردشده، کمترین مقدار به کار میرود.
- -t
- پس از تکمیل کار، آمارها را چاپ میکند.
- -u
- هنگام امضای مجدد ناحیهای که از قبل امضا شده است، زنجیره NSEC/NSEC3 را بهروزرسانی میکند. با این گزینه، ناحیهای که با NSEC امضا شده میتواند به NSEC3 تغییر یابد، یا ناحیهای با NSEC3 میتواند به NSEC یا به NSEC3 با پارامترهای دیگر تبدیل شود. بدون این گزینه، dnssec-signzone هنگام امضای مجدد زنجیره موجود را حفظ میکند.
- -v level
- سطح گزارش اشکالزدایی (debugging level) را تنظیم میکند.
- -x
- این گزینه مشخص میکند که BIND 9 باید مجموعههای رکوردهای DNSKEY، CDNSKEY و CDS را تنها با کلیدهای امضای کلید (KSK) امضا کند و از امضا با کلیدهای امضای ناحیه (ZSK) صرف نظر نماید.
- -z
- این گزینه مشخص میکند که BIND 9 هنگام تصمیمگیری درباره موارد قابل امضا، باید فلگ KSK روی کلیدها را نادیده بگیرد. این امر باعث میشود کلیدهای دارای فلگ KSK علاوه بر مجموعه رکوردهای DNSKEY، تمامی رکوردها را نیز امضا کنند.
- -3 salt
- یک زنجیره NSEC3
با سالت (salt)
ارائهشده
در قالب
هگزادسیمال
تولید
میکند.
میتوان از
یک خط تیره (-)
برای مشخص
کردن عدم
استفاده از
سالت هنگام
تولید
زنجیره NSEC3
استفاده
کرد.
توجه:
- -H iterations
- مشخص
میکند که
هنگام
تولید
زنجیره NSEC3،
برنامه BIND 9 از
چه تعداد
تکرار (iterations)
استفاده
کند. مقدار
پیشفرض 0
است.
هشدار:
- -A
- این گزینه
مشخص
میکند که
هنگام
تولید
زنجیره NSEC3،
برنامه BIND 9
باید فلگ OPTOUT
را روی
تمامی
رکوردهای NSEC3
تنظیم کند و
برای
تفویضهای
ناامن
رکورد NSEC3
تولید نکند.
هشدار:
- -AA
- این گزینه فلگ OPTOUT را برای همه رکوردها غیرفعال میکند. این ویژگی هنگام استفاده از گزینه -u جهت تغییر زنجیره NSEC3 که پیشتر OPTOUT روی آن فعال بوده، مفید است.
- zonefile
- فایل حاوی ناحیهای را که باید امضا شود مشخص میکند.
- key
- مشخص میکند کدام کلیدها باید برای امضای ناحیه استفاده شوند. اگر هیچ کلیدی تعیین نشود، ناحیه برای یافتن رکوردهای DNSKEY در راس ناحیه بررسی میشود. اگر این رکوردها یافت شوند و کلیدهای خصوصی منطبق در دایرکتوری فعلی موجود باشند، از آنها برای امضا استفاده میگردد.
مثالها (EXAMPLES)
دستور زیر ناحیه example.com را با کلید ECDSAP256SHA256 تولیدشده توسط dnssec-keygen <#std-iscman-dnssec-keygen> (Kexample.com.+013+17247) امضا میکند. از آنجا که گزینه -S استفاده نشده است، کلیدهای ناحیه باید در فایل اصلی (db.example.com) موجود باشند. این فراخوانی به دنبال فایلهای dsset در دایرکتوری فعلی میگردد تا بتوان رکوردهای DS را از آنها وارد کرد (-g).
% dnssec-signzone -g -o example.com db.example.com \ Kexample.com.+013+17247 db.example.com.signed %
در مثال فوق، dnssec-signzone فایل db.example.com.signed را ایجاد میکند. این فایل باید در یک دستور zone در فایل named.conf <#std-iscman-named.conf> ارجاع داده شود.
این مثال یک ناحیه از قبل امضاشده را با پارامترهای پیشفرض دوباره امضا میکند. فرض میشود کلیدهای خصوصی در دایرکتوری فعلی قرار دارند.
% cp db.example.com.signed db.example.com % dnssec-signzone -o example.com db.example.com db.example.com.signed %
همچنین ببینید (SEE ALSO)
dnssec-keygen(8) <#std-iscman-dnssec-keygen>, BIND 9 Administrator Reference Manual, RFC 4033 https://datatracker.ietf.org/doc/html/rfc4033.html, RFC 6781 https://datatracker.ietf.org/doc/html/rfc6781.html.
نویسنده (AUTHOR)
Internet Systems Consortium
حق نشر (COPYRIGHT)
2026, Internet Systems Consortium
| 2026-08-19 | 9.20.27 |