Skip to content

ایمن‌سازی اعتبارسنج ​

هر اعتبارسنج DotOne تشویق می‌شود عملیات خود را به‌طور مستقل اجرا کند. تنوع در پیکربندی زیرساخت در سراسر مجموعه‌ی اعتبارسنج‌ها، تاب‌آوری کلی شبکه را افزایش می‌دهد. با توجه به سرمایه و مسئولیتی که در اجرای یک اعتبارسنج دخیل است، محافظت از نود شما در برابر حملات DoS و DDoS اختیاری نیست — بلکه یک الزام عملیاتی اصلی است.


معماری نود سنتری (محافظت در برابر DDoS) ​

مؤثرترین راه برای محافظت از اعتبارسنج شما در برابر حملات مستقیم شبکه، استقرار یک معماری نود سنتری است. در این چیدمان، نود اعتبارسنج شما هرگز مستقیماً در معرض اینترنت عمومی قرار نمی‌گیرد. در عوض، یک یا چند نود سنتری — نودهای کامل استاندارد DotOne — به‌عنوان واسط میان اعتبارسنج شما و شبکه‌ی گسترده‌تر P2P عمل می‌کنند.

ویژگی‌های کلیدی این معماری:

  • نودهای سنتری در فضای IP خصوصی عمل می‌کنند و اعتبارسنج را از قرارگیری مستقیم محافظت می‌کنند
  • نودهای سنتری می‌توانند به‌سرعت مجدداً مستقر شده و آدرس IP آن‌ها در صورت هدف قرار گرفتن، تغییر کند
  • پیشنهادهای بلاک و رأی‌های اعتبارسنج شما از طریق لایه‌ی سنتری به‌طور قابل‌اعتماد به شبکه می‌رسند
  • هویت و موقعیت اعتبارسنج شما از دید همتاهای عمومی پنهان می‌ماند

مرحله ۱ — راه‌اندازی نودهای خود ​

یک شبکه‌ی خصوصی شامل نود اعتبارسنج و یک یا چند نود سنتری ایجاد کنید. برای استقرار هر نود، راهنمای راه‌اندازی نود کامل را دنبال کنید.

اتصالات مورد اعتماد را منحصراً میان اعتبارسنج و نودهای سنتری آن پیکربندی کنید.

⚠️ هرگز نقاط پایانی RPC اعتبارسنج خود را تحت هیچ شرایطی در معرض شبکه‌ی عمومی قرار ندهید.


مرحله ۲ — افزودن نودهای سنتری به‌عنوان همتای ثابت ​

به کنسول هر نود سنتری متصل شوید و دستور زیر را برای دریافت اطلاعات enode آن اجرا کنید:

js
admin.nodeInfo.enode

این دستور یک آدرس enode با فرمت زیر برمی‌گرداند:

enode://f2da64f49c30a0038bba3391f40805d531510c473ec2bcc7c201631ba003c6f1
6fa09e03308e48f87d21c0fed1e4e0bc53428047f6dcf34da344d3f5bb69373b@[::]:30306?discport=0

نکته: [::] نشان‌دهنده‌ی آدرس لوکال‌هاست 127.0.0.1 است. اگر نودهای سنتری شما در یک شبکه‌ی محلی هستند، IP صحیح را با ifconfig روی هر هاست پیدا کنید. اگر نودهای سنتری روی سرورهای خارجی هستند، از IP عمومی آن‌ها در آدرس enode استفاده کنید.

[::] را با IP صحیح جایگزین کنید، سپس ورودی‌های enode را به config.toml نود اعتبارسنج خود اضافه کنید:

toml
# مخفی کردن اعتبارسنج از کشف عمومی
NoDiscovery = true

# اتصال منحصراً به نودهای سنتری
StaticNodes = [
  "enode://f2da64f49c30a0038bba3391f40805d531510c473ec2bcc7c201631ba003c6f16fa09e03308e48f87d21c0fed1e4e0bc53428047f6dcf34da344d3f5bb69373b@[10.1.1.1]:30306",
  "enode://{sentry-node-2-enode}@[10.1.1.2]:30306"
]

تنظیم NoDiscovery = true تضمین می‌کند اعتبارسنج شما خود را به شبکه‌ی عمومی P2P اعلام نکرده و فقط از طریق نودهای سنتری تعریف‌شده ارتباط برقرار می‌کند.


مرحله ۳ — تأیید اتصالات ​

به کنسول نود اعتبارسنج خود متصل شوید و تأیید کنید که اتصالات نودهای سنتری فعال هستند:

js
admin.peers

باید جزئیات هر نود سنتری پیکربندی‌شده را در خروجی مشاهده کنید. اگر یک نود سنتری ظاهر نشد، آدرس enode، IP و پیکربندی پورت را بررسی کنید.


پیکربندی فایروال ​

قوانین صحیح فایروال برای جلوگیری از دسترسی غیرمجاز به نود اعتبارسنج ضروری هستند. کلاینت geth در DotOne از چندین پورت برای عملکردهای مختلف استفاده می‌کند:

پورتپروتکلهدفاقدام توصیه‌شده
30303TCP + UDPشنونده و کشف P2Pباز — لازم برای مشارکت در شبکه
8545TCPAPI JSON-RPCمسدود از بیرون — هرگز در معرض عموم قرار نگیرد
8546TCPAPI WebSocketمسدود از بیرون — فقط استفاده‌ی داخلی

قوانینی که باید اعمال شوند:

  • اجازه‌ی ترافیک ورودی و خروجی روی پورت 30303 برای اتصال‌پذیری P2P
  • مسدودسازی کامل دسترسی خارجی به پورت‌های 8545 و 8546 در سطح فایروال
  • در صورت اجرا در حالت نود سنتری، دسترسی P2P اعتبارسنج را فقط به آدرس‌های IP نودهای سنتری محدود کنید
  • در صورت عدم نیاز، ماژول HTTP را به‌طور کامل غیرفعال کنید

چک‌لیست امنیتی ​

پیش از رفتن به مین‌نت، موارد زیر را تأیید کنید:

  • نود اعتبارسنج به‌طور مستقیم از اینترنت عمومی قابل‌دسترسی نیست
  • نودهای سنتری مستقر شده و به‌عنوان همتای فعال تأیید شده‌اند
  • NoDiscovery = true در config.toml اعتبارسنج تنظیم شده است
  • پورت‌های RPC (8545، 8546) در سطح فایروال مسدود شده‌اند
  • فایل‌های keystore به‌صورت امن و آفلاین پشتیبان‌گیری شده‌اند
  • رمزهای عبور کلید BLS و اجماع به‌طور امن نگهداری می‌شوند، نه به‌صورت متن ساده روی سرور
  • نظارت و هشداردهی برای آپ‌تایم و شمارش جریمه فعال است
  • یک نود اعتبارسنج پشتیبان تدارک دیده و آماده است

شیوه‌های عمومی امنیتی ​

فراتر از معماری سنتری و پیکربندی فایروال، شیوه‌های زیر شدیداً توصیه می‌شوند:

مدیریت کلید کلیدهای خصوصی اجماع و BLS خود را روی درایوهای رمزنگاری‌شده نگهداری کنید. هرگز فایل‌های کلید را از طریق کانال‌های رمزنگاری‌نشده منتقل نکنید. برای استقرارهای تولیدی، استفاده از ماژول‌های امنیتی سخت‌افزاری (HSM) را در نظر بگیرید.

کنترل دسترسی: دسترسی SSH به اعتبارسنج و نودهای سنتری خود را فقط به احراز هویت مبتنی بر کلید محدود کنید. ورود با رمز عبور را غیرفعال کنید. دسترسی را به حداقل مجموعه‌ی اپراتورهای مورد اعتماد محدود کنید.

بهداشت نرم‌افزاری: باینری نود، سیستم‌عامل و وابستگی‌ها را به‌روز نگه دارید. برای اطلاعیه‌های انتشار DotOne مشترک شوید و وصله‌های امنیتی را فوراً اعمال کنید.

پاسخ به حوادث: یک فرآیند مستند برای پاسخ به خرابی نود، مظنون بودن به افشای کلید و رویدادهای غیرمنتظره‌ی جریمه داشته باشید. بدانید چگونه خاموشی اضطراری را اجرا کرده و اعتبارسنج خود را در صورت نیاز آزاد کنید.