System Hardening فورتی گیت
FortiGate System Hardening مجموعهای از بهترین شیوههای امنیتی است که با کاهش سطح حمله و حذف بردارهای نفوذ، امنیت دستگاه فایروال را به شکل قابل توجهی افزایش میدهد. این راهنما شامل تنظیمات CLI، سیاستهای امنیتی، و نکات پیشرفتهای برای افزایش ایمنی در برابر تهدیدات روز است.
خلاصه تخصصی مقاله
FortiGate System Hardening مجموعهای از بهترین شیوههای امنیتی است که با کاهش سطح حمله و حذف بردارهای نفوذ، امنیت دستگاه فایروال را به شکل قابل توجهی افزایش میدهد. این راهنما شامل تنظیمات CLI، سیاستهای امنیتی، و نکات پیشرفتهای برای افزایش ایمنی در برابر تهدیدات روز است.
موضوعات اصلی: فایروال، استفاده، set، باید، شوند، دسترسی
سیستم هاردنینگ فورتی گیت
System Hardening باعث کاهش ریسک امنیتی از طریق حذف بردارهای احتمالی حمله و کاهش سطح حمله سیستم میشود. برخی از بهترین شیوههایی که پیشتر در این سند توضیح داده شدهاند، به سختسازی FortiGate کمک میکنند.
کنترل دسترسی مدیریتی (Administrative Access Control)
برای جلوگیری از دسترسی غیرمجاز به رابطهای مدیریتی FortiGate، مجموعهای از اقدامات ضروری توصیه میشود
- محدودسازی IP با Trusted Hostsفقط به IPهای مشخص اجازه دسترسی به سرویسهای مدیریتی مانند HTTPS، SSH یا SNMP داده شود.
مثال CLI
config system admin edit "admin" set trusthost1 192.168.1..255.255 set trusthost2 192.168.1..255.255 end
- غیرفعالسازی دسترسی مدیریتی از طریق WANدسترسی مدیریتی فقط از طریق اینترفیسهای داخلی یا MGMT انجام شود، نه از طریق WAN.
config system adminedit"admin"set trusthost1 192.168.1..255.255set trusthost2 192.168.1..255.255endمثال CLI
config system interface edit "wan1" set allowaccess ping end
- تغییر پورتهای پیشفرض مدیریتیبرای کاهش احتمال شناسایی توسط مهاجم، پورتهای SSH و HTTPS را به پورتهای غیرمعمول مانند 2222 یا 8443 تغییر دهید.
- فعالسازی MFA برای مدیراناستفاده از احراز هویت چندمرحلهای (MFA) برای تمام حسابهای مدیریتی الزامی شود.
- تعیین Idle Timeout برای نشستهابرای بستن خودکار نشستهای مدیریتی پس از مدتزمان بیکاری.
- استفاده از local-in-policyبرای محدودسازی دسترسی به رابط مدیریتی براساس IP، زمان یا سرویس خاص.
- استفاده از کلید SSHبرای ورود امن به CLI بهجای رمز عبور.
- فعالسازی قفل خودکار حسابحسابهایی که چند بار ورود ناموفق داشتهاند، بهصورت خودکار قفل شوند.
استفاده از پورتهای غیر پیشفرض برای سرویسها
برای کاهش شانس اسکن و حمله، پورت SSH و HTTPS را به پورتهای دیگر تغییر دهید (مثلاً 2222 برای SSH).
- فعالسازی MFA برای مدیراناحراز هویت دومرحلهای برای دسترسی به رابطهای مدیریتی الزامی شود (Token-Based یا SMS).
- فعالسازی Idle Timeoutبرای نشستهای مدیریتی، زمان بیکاری (idle) کوتاه تعریف شود تا نشستها بهسرعت بسته شوند.
- کنترل دقیق با local-in-policiesبا استفاده از local-in-policy میتوان دسترسی به سرویسهای مدیریتی را فقط از IPهای خاص و حتی در زمانهای خاص محدود کرد.
- استفاده از کلید SSH بهجای پسوردبرای امنیت CLI، از کلیدهای عمومی/خصوصی SSH استفاده شود و قابلیت ورود با رمز غیرفعال شود.
- قفل خودکار حساب پس از تلاشهای ناموفقامنیت بیشتر با فعال کردن Lockout برای اکانتهایی که چندبار ورود ناموفق داشتند.
مدیریت زمان سیستم (System Time Management)
- اتصال به سرور NTP معتبرFortiGate باید به یک سرور NTP داخلی یا خارجی معتبر مانند time.cloudflare.com یا time.google.com متصل شود.
- فعالسازی احراز هویت NTPبرای جلوگیری از حملات NTP Spoofing در شبکههای حساس، از کلیدهای رمزنگاریشده برای تأیید پاسخها استفاده شود.
مثال CLI
config system ntp set authentication enable set keyset key-id 1 end
- هماهنگی زمان در HAتمام گرههای HA باید به یک NTP Server واحد متصل باشند. عدم همزمانی باعث اختلال در لاگها و عملکرد سیستم میشود.
- ثبت زمان دقیق در لاگها و گواهیهاصحت زمان برای تحلیل رویدادها، همگامسازی گواهیها و انطباق با SIEM اهمیت زیادی دارد.
استفاده از سیاستهای local-in
سیاستهای local-in به نوع خاصی از ترافیک اشاره دارند که مقصد آن خود دستگاه FortiGate است، مانند SSH، HTTPS، SNMP یا VPN که بهمنظور مدیریت یا دسترسی مستقیم به دستگاه استفاده میشوند.
- محدودسازی دقیق دسترسیفقط آدرسهای IP مشخصشده اجازه استفاده از سرویسهای مدیریتی را داشته باشند. این کار با استفاده از فیلتر در local-in-policy انجام میشود.
- غیرفعالسازی سرویسهای غیرضروریسرویسهایی مانند Ping یا SNMP در صورت عدم نیاز باید غیرفعال شوند تا سطح حمله کاهش یابد.
- اعمال محدودیت بر اینترفیسهااطمینان حاصل شود که سرویسهای مدیریتی فقط از طریق اینترفیسهای داخلی یا اختصاصی فعال باشند و از WAN در دسترس نباشند.
- استفاده از Virtual Patchingدر شرایطی که اعمال فوری patch ممکن نیست، میتوان با استفاده از local-in-policy بهصورت موقتی دسترسی به برخی سرویسها یا الگوهای حمله (مثلاً CVEهای شناختهشده) را مسدود کرد.
پایگاههای داده FortiGuard
- بهروزرسانی منظمپایگاههای دادهی امنیتی مانند آنتیویروس (AV)، IPS، Web Filtering و Application Control باید بهطور منظم آپدیت شوند تا FortiGate در برابر تهدیدات روز محافظت شود.
- سناریوی آفلایندر محیطهایی که دسترسی به اینترنت محدود است، میتوان بعد از دریافت فایلهای امنیتی با FTP یا TFTP آپدیت کرد و یا ازنرم افزار سیبتااستفاده کنید.
- بررسی دورهای نسخه دیتابیسهاتطابق نسخه فعلی دیتابیس با آخرین نسخه رسمی بهصورت زمانبندیشده انجام شود تا از عقبافتادگی جلوگیری شود.
- تقویت سیاستهای امنیتیمیتوان از وضعیت دیتابیسها برای تقویت حساسیت IPS یا بلاک کردن دستههای خاصی از ترافیک استفاده کرد.
تست نفوذ (Penetration Testing)
- تست داخلی و خارجیتست امنیتی باید هم از بیرون شبکه و هم از درون انجام شود تا آسیبپذیریها و پیکربندیهای نادرست شناسایی شوند.
- استفاده از ابزارهای حرفهایابزارهایی مانند Nessus، OpenVAS، Burp Suite و Metasploit برای تستهای خودکار و دستی استفاده شوند.
- بازبینی و اصلاح سیاستهانتایج تست باید بهصورت مستند بررسی و برای بهبود سیاستهای امنیتی بهکار گرفته شود.
- محدود کردن بازه زمانی تستتستهای نفوذ باید در بازه زمانی مشخص، با هماهنگی قبلی، و با کنترل دقیق انجام شوند تا به عملکرد شبکه آسیب نزنند.
- تکرار دورهایتستها باید پس از تغییرات مهم در زیرساخت و بهصورت دورهای اجرا شوند تا سطح امنیتی سیستم بهروز باقی بماند.
پشتیبانگیری از پیکربندی (Configuration Backup)
- پشتیبانگیری منظمتنظیم زمانبندی خودکار برای تهیه نسخه پشتیبان از فایل پیکربندی FortiGate ضروری است تا در مواقع بحران یا تغییرات اشتباه قابل بازیابی باشد. (نرم افزار سیبتابه شما امکان نوشتن تسک و گرفتن Backup دستگاه به صورت منظم را میدهد.)
- رمزنگاری فایل پشتیباندر زمان export، گزینه رمزنگاری فعال شود تا از افشای اطلاعات حساس جلوگیری گردد.
- نگهداری ایمن فایلفایلهای پشتیبان باید در محلهایی مانند سرور داخلی ایمن یا رسانههای رمزنگاریشده (USB/External HDD) ذخیره شوند.
- کنترل دسترسیفقط افراد مجاز باید امکان دسترسی به فایلهای Backup را داشته باشند. دسترسیها نیز باید لاگ شوند.
- تست دورهای بازیابیبهطور منظم بازیابی از فایلهای پشتیبان تست شود تا از عملکرد درست و کامل بودن آنها اطمینان حاصل گردد.
- توجه به سازگاری کلید رمزنگاریدر FortiOS 7.6.1 به بعد، اگر private-data-encryption فعال باشد، فایل Backup فقط روی دستگاههایی با کلید رمز مشابه قابل بازیابی است.
امنیت فیزیکی
- مکان نصب ایمنFortiGate باید در محیط فیزیکی کنترلشده مثل رک قفلدار یا اتاق مجهز به سیستم دسترسی نصب شود.
- نظارت تصویرینصب دوربین مدار بسته (CCTV) و سیستم هشدار نفوذ برای مانیتورینگ فیزیکی الزامی است.
- غیرفعالسازی USB Auto-Installبرای جلوگیری از بارگذاری پیکربندی یا firmware از طریق USB، این قابلیت باید غیرفعال باشد.
CLI نمونه
set auto-install-config disable set auto-install-image disable end
- فعالسازی 802.1xبرای جلوگیری از اتصال غیرمجاز تجهیزات به پورتهای شبکه، احراز هویت پورت فعال گردد.
پایش آسیبپذیریها – PSIRT
- رصد اطلاعیههاتیم PSIRT شرکت Fortinet آسیبپذیریهای مربوط به محصولات را در سایت FortiGuard منتشر میکند.
لینک رسمیو یاچنل تلگرامXNET برای مطلع شدن آنی از آسیب پذیریها
- مقایسه CVEها با سیستمCVEهای منتشرشده باید با نسخههای موجود FortiGate تطبیق داده شوند و در صورت تطابق، فوراً اقدامات اصلاحی انجام شود.
- مدیریت داخلی آسیبپذیریهاساخت دیتابیس داخلی برای ردیابی وضعیت وصلهها، آسیبپذیریهای رفعنشده و اولویتبندی رفع آنها توصیه میشود.
سیستمعامل (Firmware)
- استفاده از جدیدترین Patchهمیشه آخرین نسخه منتشرشده firmware نصب شود تا آخرین باگها و حفرههای امنیتی پوشش داده شوند.
- بررسی Release Notes قبل از ارتقاءآشنایی با تغییرات نسخه و مشکلات شناختهشده قبل از ارتقاء ضروری است.
- اجتناب از نسخههای EOSنسخههایی که پشتیبانیشان به پایان رسیده (End of Support) بهشدت ناامن هستند.
- رعایت Upgrade Pathمسیر ارتقاء پیشنهادی Fortinet باید رعایت شود تا از مشکلات احتمالی جلوگیری شود.
- ارتقاء متمرکز در سازمانهای بزرگاستفاده از Federated Upgrade یا FortiManager برای بهروزرسانی گسترده و هماهنگ توصیه میشود.
- تهیه Backup قبل از ارتقاءقبل از هر ارتقاء، Backup کامل از تنظیمات و وضعیت فعلی دستگاه تهیه شود.
- استفاده از Patch مجازی در شرایط اضطراریاگر ارتقاء فوری ممکن نیست، میتوان با local-in-policy آسیبپذیریهای شناختهشده را موقتاً مسدود کرد.
پروتکلهای رمزنگاریشده (Encrypted Protocols)
برای محافظت از دادههای حساس در حین انتقال، استفاده از پروتکلهای رمزنگاریشده استاندارد امری ضروری است
- بهجای LDAP از LDAPS استفاده کنید.
- برای RADIUS، از نسخه رمزنگاریشده آن یعنی RADSEC (با TLS) بهره ببرید.
- SNMPv3 را جایگزین SNMP قدیمی کنید.
- برای ارتباط CLI، SSH را جایگزین Telnet نمایید.
- برای احراز هویت OSPF، از MD5 Authentication استفاده شود.
- بهجای FTP یا TFTP از SCP استفاده کنید.
- احراز هویت NTP فعال شود.
- لاگها نیز باید با استفاده از Syslog over TLS یا IPsec رمزنگاری شوند.
نکته مهم: هنگام اتصال به Active Directory از طریق LDAP، نام کاربری و رمز عبور ادمین به سیستم ارسال میشود، بنابراین توصیه میشود ارتباط حتماً از طریق LDAPS برقرار گردد.
ذخیرهسازی امن گذرواژهها (Secure Password Storage)
- گذرواژهها و کلیدهای خصوصی در FortiGate بهصورت رمزنگاریشده نگهداری میشوند.
- از نسخه FortiOS 7.6.1 به بعد، الگوریتم هش PBKDF2 جایگزین SHA-256 شده که مقاومت بالاتری در برابر حملات brute-force دارد.
- فایل پیکربندی رمزنگاریشده فقط در صورت وجود همان کلید رمزنگاری قابل بازیابی است. این نکته در محیطهای HA یا هنگام جابجایی دستگاه اهمیت ویژه دارد.
- دستگاههایی که به Trusted Platform Module (TPM) مجهزند، میتوانند کلید رمزنگاری را بهصورت ایمن در TPM ذخیره کنند.
- استفاده از کلید رمزنگاری خصوصی اختصاصی نیز توصیه میشود تا کنترل کامل در دست ادمین سازمان باشد.
نکات مربوط به RMA
در صورتی که private-data-encryption فعال باشد و سختافزار FortiGate دچار خرابی شود
- ابتدا باید رمزنگاری داده غیرفعال شود.
- سپس Backup گرفته و روی دستگاه جایگزین بازیابی گردد.
- اگر خرابی بهگونهای باشد که نتوان رمزنگاری را غیرفعال کرد، امکان بازیابی تنظیمات وجود نخواهد داشت.
توصیه: پیش از فعالسازی private-data-encryption، سناریوی RMA و روش بازیابی اطلاعات را در صورت خرابی سختافزار حتماً از پیش تعیین کنید.
استفاده از احراز هویت دو مرحلهای (2FA) برای کاربران و مدیران
افزودن احراز هویت چندعاملی یکی از مؤثرترین روشها برای جلوگیری از نفوذ از طریق سرقت اعتبارنامهها است.
- سیبتا (SIBTA)سامانه OTP، با پشتیبانی از ارسال رمز یکبار مصرف از طریق ایمیل و پیامک (با استفاده از ۳ درگاه پیامکی مختلف)، قابل استفاده برای احراز هویت کاربران در FortiGate.
- توکن سختافزاری (FortiToken)دستگاههای فیزیکی تولید OTP برای کاربرانی که نیاز به احراز هویت آفلاین یا امنیت حداکثری دارند.
- آموزش کاربرانبه کاربران و مدیران باید نحوه استفاده از 2FA و اهمیت آن آموزش داده شود.
- اجباریسازی 2FAبرای دسترسی به رابط مدیریتی، حسابهای کاربری حساس یا دسترسی VPN، 2FA باید الزامی گردد.
پیکربندی مناسب سیاستهای فایروال (Firewall Policy Configuration)
تنظیم دقیق و اصولی قوانین فایروال برای محدود کردن سطح حمله و جلوگیری از ترافیک غیرمجاز بسیار حیاتی است
- اصل کمترین دسترسی (Least Privilege)فقط ترافیک مجاز مشخصشده در سیاستها اجازه عبور داشته باشد. هر ترافیک غیرتعریفشده باید Drop شود.
- تعیین دقیق مبدا، مقصد، پروتکل و پورتقوانین باید فقط برای IPها، پورتها و سرویسهایی تعریف شوند که واقعاً مورد نیاز هستند.
- مستندسازی سیاستهاتمامی قوانین باید ثبت و مستندسازی شوند تا در بازبینیها و تحلیلها قابل پیگیری باشند.
- بازبینی دورهایقوانین قدیمی یا غیرضروری باید بهطور منظم شناسایی و حذف یا اصلاح شوند.
نظارت و تحلیل مداوم لاگها (Log Monitoring & Analysis)
تحلیل فعال لاگها به شناسایی تهدیدات احتمالی و عکسالعمل سریع در برابر آنها کمک میکند
- متمرکزسازی لاگهاتمام لاگها از منابع مختلف در یک سامانه مرکزی مانند FortiAnalyzer یا سیستم SIEM جمعآوری شوند. (برای راهنمایی بیشترتماسبگیرید.)
- تحلیل بلادرنگ با SIEMبا استفاده از ابزارهایی مانند Splunk، Wazuh، یا FortiSIEM، رفتارهای غیرعادی بهسرعت شناسایی شوند.
- تعریف هشدارهای خودکاررویدادهای مشکوک مانند تلاش ورود ناموفق، تغییرات تنظیمات یا فعالیت غیرمعمول در شبکه باید هشدار تولید کنند.
مدیریت لاگها (Logging Management)
زیرساخت لاگبرداری باید حرفهای، امن و قابل تحلیل باشد
- فعالسازی لاگ برای همه سیاستهالاگبرداری برای قوانین فایروال، VPN، آنتیویروس، IPS و سایر ویژگیها فعال شود.
- ارسال امن به تحلیلگر مرکزیلاگها از طریق TLS یا IPsec به FortiAnalyzer یا Syslog Server ارسال شوند.
- رمزنگاری لاگها در مسیراز Syslog over TLS یا IPsec Tunnel برای جلوگیری از شنود دادهها استفاده شود.
مثال تنظیم CLI برای Syslog رمزنگاریشده
config log syslogd setting set reliable enable set mode reliable set enc-algorithm high end
جداسازی انواع لاگها: لاگهای مدیریتی، رویدادهای امنیتی و ترافیک باید در مسیرها و فایلهای جداگانه ذخیره شوند.
- سیاست نگهداری لاگهامدت نگهداری بر اساس سطح حساسیت تعریف شود (مثلاً ۱ سال برای رویدادهای امنیتی، ۶ ماه برای ترافیک عادی).
سیاستهای رمزنگاری و حفاظت از دادهها (Encryption & Data Protection Policies)
این سیاستها باید هم برای دادههای در حال انتقال و هم دادههای ذخیرهشده اعمال شوند
رمزنگاری در حال انتقال (Data-in-Transit)
- استفاده فقط از SSH، HTTPS، LDAPS، RADSEC، SNMPv3، SCP.
- فعالسازی NTP Authentication و Syslog over TLS/IPsec.
رمزنگاری لاگها
- ارسال امن به تحلیلگر با TLS/IPsec و فعالسازی قابلیت رمزنگاری CLI.
رمزنگاری در حالت ذخیره (Data-at-Rest)
- رمزنگاری فایل پیکربندی با private-data-encryption.
- هش گذرواژهها با SHA-256 یا PBKDF2.
- ذخیره کلید در TPM در صورت پشتیبانی سختافزاری.
استفاده از SSH Key
- بهجای رمز عبور، ورود به CLI با کلید SSH انجام شود.
رمزنگاری قوی (Strong Crypto)
- فعالسازی strong-crypto، غیرفعالسازی ssl-static-key-ciphers و استفاده از DH 8192.
مثال CLI
config system global set strong-crypto enable set ssl-static-key-ciphers disable set dh-params 8192 end
کاهش سطح حمله و کنترل ترافیک (Attack Surface Reduction & Traffic Control)
برای کاهش احتمال موفقیت حملات، باید سطح حمله سیستم به حداقل برسد و ترافیک بهصورت دقیق کنترل شود
غیرفعالسازی سرویسها و پورتهای غیرضروری
- سرویسهایی مانند Telnet، HTTP، FTP، TFTP، SNMPv1/2 باید غیرفعال شوند.
- فقط سرویسهایی مانند HTTPS، SSH و VPN که موردنیاز واقعی هستند فعال بمانند.
- با ابزارهایی مانند netstat یا diag sys top، سرویسهای فعال را شناسایی و بررسی کنید.
محدودسازی دقیق با فایروال و Policyها
- فقط ترافیک کاملاً مشخص (IP، پورت، پروتکل، زمان) مجاز باشد و باقی Drop شود.
- از اصل least privilege در تعریف policyها استفاده شود.
- تمام قوانین مستندسازی و بهصورت دورهای بازبینی شوند.
استفاده از Security Zones
- شبکه را به مناطق امن مجزا مانند LAN، WAN، DMZ و INTERNAL تقسیم کنید.
- بین این Zoneها، قوانین محدودکننده و خاص اعمال گردد.
- استفاده از Virtual Wire Pair برای جلوگیری از دور زدن فایروال توصیه میشود.
فعالسازی ویژگیهای امنیتی پیشرفته
- IPS، Application Control، DNS Filtering و Web Filtering فعال شوند.
- SSL Inspection و Deep Packet Inspection برای ترافیک رمزنگاریشده فعال گردد.
کنترل دسترسی کاربران
- کاربران به منابع مشخص و در بازههای زمانی مجاز دسترسی داشته باشند.
- از احراز هویت دو مرحلهای برای کاربران VPN و مدیران استفاده شود.
محافظت در برابر حملات انکار سرویس (DoS Protection)
حملات DoS منابع سیستم را اشباع میکنند و باعث قطع دسترسی میشوند. FortiGate با سیاستهای DoS میتواند این حملات را شناسایی و دفع کند.
ایجاد DoS Policy روی اینترفیسهای حساس
- سیاستها را روی WAN یا پورتهای عمومی ایجاد کنید.
- ابتدا در حالت monitor اجرا و پس از بررسی ترافیک، به حالت block تغییر وضعیت داده شود.
نمونه CLI
config firewall DoS-policy edit 1 set interface "wan1" set srcaddr "all" set dstaddr "all" set service "ALL" config anomaly edit "tcp_syn_flood" set status enable set action block set log enable set threshold 1000 next edit "udp_flood" set status enable set action block set threshold 800 next edit "icmp_flood" set status enable set action block set threshold 300 next end end
مقادیر پیشنهادی Threshold (قابل تنظیم بر اساس شبکه)
- TCP SYN Flood: 1000 در ثانیه
- UDP Flood: 800 در ثانیه
- ICMP Flood: 300 در ثانیه
- TCP Port Scan: 50 در ثانیه
استفاده از قابلیت شتابدهی سختافزاری ASIC (NP6/NP7)
- در مدلهای دارای NP، پردازش DoS offload میشود و کارایی افزایش مییابد.
- قابلیت Host Protection Engine (HPE) نیز برای محافظت در برابر حملات به خود FortiGate فعال شود.
config system admin
edit
"admin"set trusthost
1192.168.1.10255.255.255.255set trusthost
2192.168.1.11255.255.255.255
"text-align: unset;">endconfig system adminedit"admin"set trusthost1192.168.1.10255.255.255.255config system adminedit "admin"set trusthost1 192.168.1..255.255set trusthost2 192.168.1..255.255endset trusthost2192.168.1.11255.255.255.255endبرای ارزیابی پایداری، امنیت و نگهداری این زیرساخت، راهنمای پشتیبانی شبکه را نیز مطالعه کنید.