دسته‌بندی نشده

هاردنینگ سرور چیست؟ آموزش کامل سخت‌سازی و افزایش امنیت سرور

نفوذ به سرور می‌تواند باعث افشای اطلاعات، توقف سرویس یا تغییر غیرمجاز داده‌ها شود. حملات Brute Force، تنظیمات پیش‌فرض ناامن و آسیب‌پذیری‌های اصلاح‌نشده از مسیرهای رایج نفوذ هستند. براساس گزارش IBM X-Force، سوءاستفاده از آسیب‌پذیری‌ها عامل اولیه ۴۰ درصد رخدادهای بررسی‌شده این مجموعه در سال ۲۰۲۵ بوده است. اگر مدیریت یا نگهداری سرور برای کسب‌وکار شما حیاتی است، هاردنینگ اولین قدم امنیت حرفه‌ای محسوب می‌شود. این مقاله مراحل هاردنینگ لینوکس، ویندوز، سرور ابری و کانتینر را توضیح می‌دهد.

هاردنینگ سرور چیست؟

هاردنینگ سرور چیست؟

هاردنینگ سرور یا Server Hardening  به مجموعه اقداماتی گفته می‌شود که سیستم‌عامل، شبکه، سرویس‌ها، حساب‌ها و برنامه‌های سرور را به یک وضعیت امن و قابل کنترل نزدیک می‌کند. این اقدامات شامل کاهش سطح حمله از طریق اصلاح آسیب‌پذیری‌ها، حذف سرویس‌های غیرضروری، محدودسازی دسترسی‌ها و اعمال تنظیمات امنیتی است. سخت‌سازی سرور باید همراه با مدیریت وصله، کنترل تغییرات، بررسی لاگ و بازبینی دوره‌ای انجام شود. در راهنمای NIST نیز حذف مسیرهای غیرضروری حمله و نگهداری مداوم تنظیمات امن از اصول اصلی امنیت سرور معرفی شده است.

Attack Surface یا سطح حمله شامل تمام بخش‌هایی است که مهاجم می‌تواند از طریق آن‌ها با سرور ارتباط برقرار کند. پورت‌ها، حساب‌های کاربری، APIها، نرم‌افزارها، سرویس‌ها، پنل‌های مدیریتی و تنظیمات پیش‌فرض بخشی از سطح حمله هستند.

هدف از سخت‌سازی سرور

سخت‌سازی سرور چهار هدف اصلی دارد:

  • کاهش احتمال نفوذ
  • محدودکردن دامنه خسارت
  • افزایش توان تشخیص رخداد
  • ایجاد تنظیمات قابل ممیزی

هاردنینگ سرور جلوی تمام حملات را نمی‌گیرد، اما بسیاری از مسیرهای ساده و غیرضروری ورود را می‌بندد. همچنین اگر مهاجم وارد سیستم شود، کنترل دسترسی و تفکیک مجوزها می‌تواند فعالیت او را محدود کند.

تفاوت هاردنینگ با آنتی ویروس و فایروال

راهکارکارکرد اصلینمونه کنترلمحدودیت
هاردنینگ سروراصلاح پیکربندی و کاهش سطح حملهحذف سرویس، محدودسازی حساب و اعمال Baselineبه تست و نگهداری مداوم نیاز دارد
فایروالکنترل ترافیک ورودی و خروجیبازکردن HTTPS و بستن پورت اضافیتنظیمات ناامن داخلی را اصلاح نمی‌کند
آنتی ویروس یا EDRشناسایی فایل و رفتار مخربقرنطینه فایل و هشدار فعالیت مشکوکجایگزین وصله و کنترل دسترسی نیست

فایروال یکی از بخش‌های هاردنینگ است، اما تمام فرایند سخت‌سازی سرور را پوشش نمی‌دهد. آنتی ویروس و EDR نیز برای تشخیص تهدید به کار می‌روند و نمی‌توانند سرویس‌های اضافی یا دسترسی‌های اشتباه را اصلاح کنند.

چرا هاردنینگ سرور اهمیت دارد؟

چرا هاردنینگ سرور اهمیت دارد؟

بسیاری از حملات از سرویس‌های در معرض اینترنت، رمزهای ضعیف، تنظیمات اشتباه و نرم‌افزارهای اصلاح‌نشده استفاده می‌کنند. براساس مشاهدات IBM X-Force، سوءاستفاده از آسیب‌پذیری‌ها در سال ۲۰۲۵ عامل اولیه ۴۰ درصد رخدادهای بررسی‌شده این مجموعه بوده است.

جلوگیری از هک و نفوذ

هاردنینگ با نصب وصله، محدودکردن دسترسی مدیریتی، حذف سرویس‌های اضافی و اجرای اصل Least Privilege احتمال نفوذ را کاهش می‌دهد.

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

کاهش سطح حمله (Attack Surface)

سروری که فقط به SSH و HTTPS نیاز دارد، نباید FTP، Telnet، پورت عمومی دیتابیس یا پنل مدیریتی بلااستفاده را در اینترنت منتشر کند.

هر سرویس فعال می‌تواند کد، پورت، حساب، مجوز و وابستگی جدید وارد سیستم کند. کاهش سطح حمله یعنی فقط قابلیت‌هایی روی سرور باقی بمانند که برای نقش اصلی آن لازم هستند.

جلوگیری از حملات Brute Force

برای کنترل حملات Brute Force بهتر است چند راهکار در کنار هم اجرا شوند:

  • استفاده از کلید SSH
  • فعال‌کردن MFA
  • محدودسازی IPهای مجاز
  • استفاده از Fail2ban یا CrowdSec
  • اجرای Rate Limiting
  • غیرفعال‌کردن Root Login

تغییر پورت SSH می‌تواند تعداد اسکن‌های خودکار و حجم لاگ را کاهش دهد، اما به‌تنهایی یک دفاع اصلی محسوب نمی‌شود.

افزایش پایداری سرویس‌ها

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

Rule اشتباه فایروال، تغییر ناسازگار SELinux یا اعمال Baseline نامناسب ممکن است سرویس را قطع کند. تغییرات باید ابتدا آزمایش شوند و مسیر Rollback داشته باشند.

رعایت استانداردهای امنیتی

CIS Benchmarks تنظیمات پیشنهادی فنی را ارائه می‌کند. راهنمای NIST SP 800-123 اصول عمومی امنیت و نگهداری سرور را توضیح می‌دهد. ISO 27001 نیز چارچوب مدیریت ریسک و سیستم مدیریت امنیت اطلاعات را مشخص می‌کند.

ISO 27001 یک Baseline فنی برای Ubuntu یا Windows Server نیست و باید در کنار استانداردهای فنی استفاده شود.

به عنوان یک نمونه واقعی: آسیب‌پذیری Windows Server Update Services با شناسه CVE-2025-59287 در اکتبر ۲۰۲۵ به دلیل شواهد بهره‌برداری فعال وارد فهرست Known Exploited Vulnerabilities آژانس CISA شد. CISA نصب به‌روزرسانی خارج از چرخه Microsoft و کاهش دسترسی شبکه به سرویس WSUS را توصیه کرد. این رخداد نشان می‌دهد که نصب وصله، محدودکردن سرویس در معرض اینترنت و بررسی لاگ باید هم‌زمان انجام شوند. نصب وصله بدون مانیتورینگ یا محدودسازی شبکه به‌تنهایی کافی نیست.

آیا هاردنینگ فقط برای لینوکس است؟

خیر. هاردنینگ برای Linux، Windows Server، وب‌سرور، دیتابیس، تجهیزات شبکه، ماشین مجازی، سرور ابری و Container انجام می‌شود.

Microsoft و CIS برای نسخه‌ها و نقش‌های مختلف سیستم‌عامل خطوط پایه امنیتی جداگانه دارند. برای نمونه، Windows Server 2025 دارای Baselineهای جداگانه برای Domain Controller، Member Server و Workgroup Member است.

انواع هاردنینگ سرور

انواع هاردنینگ سرور

هاردنینگ محدود به تنظیمات سیستم‌عامل نیست و در آن باید شبکه، وب‌سرور، دیتابیس، فضای ابری و کانتینر نیز باید براساس نقش و سطح دسترسی ارزیابی شوند.

هاردنینگ سیستم عامل

هاردنینگ سیستم عامل شامل مدیریت وصله، بازبینی کاربران، اصلاح مجوز فایل‌ها، سیاست احراز هویت، کنترل سرویس‌ها و تنظیمات Kernel است.

در خانواده RHEL بیشتر از SELinux و در Ubuntu از AppArmor استفاده می‌شود. غیرفعال‌کردن این کنترل‌ها بدون بررسی لاگ و علت خطا، امنیت سرور را کاهش می‌دهد.

هاردنینگ شبکه

هاردنینگ شبکه شامل فایروال، تفکیک شبکه، ACL، محدودسازی رابط مدیریتی، IDS یا IPS و بستن پورت‌های غیرضروری است.

هدف این اقدامات کاهش مسیرهای دسترسی به سرور است. هاردنینگ شبکه به‌تنهایی تمام امنیت شبکه را پوشش نمی‌دهد و باید با تنظیمات VPN، DNS و تجهیزات شبکه هماهنگ باشد.

هاردنینگ وب سرور

در هاردنینگ وب‌سرور باید صفحات و ماژول‌های نمونه حذف شوند، نمایش اطلاعات نسخه محدود شود و تنظیمات TLS بازبینی شوند.

محدودسازی متدهای HTTP، اصلاح مجوز فایل‌ها و اجرای Nginx یا Apache با کاربر غیر Root نیز اهمیت دارد. تنظیمات دقیق باید براساس نسخه وب‌سرور و ماژول‌های فعال انتخاب شوند.

هاردنینگ دیتابیس

پورت دیتابیس نباید بدون نیاز واقعی در اینترنت عمومی قرار گیرد. حساب‌های نمونه باید حذف و ارتباط شبکه رمزنگاری شود.

حساب برنامه فقط باید به جدول‌ها و عملیات موردنیاز دسترسی داشته باشد. استفاده روزمره برنامه از حساب مدیر دیتابیس، دامنه خسارت در زمان نفوذ را افزایش می‌دهد.

هاردنینگ سرور مجازی و ابری

امنیت سرور مجازی به تنظیمات سیستم‌عامل مهمان، Security Group، IAM، Snapshot، رمزنگاری دیسک، Metadata Service و مدیریت Secret بستگی دارد.

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

هاردنینگ کانتینر و Docker

در Docker Hardening بهتر است از Imageهای حداقلی و به‌روز استفاده شود. کانتینر باید با کاربر Non-root اجرا شود و Capabilityهای غیرضروری حذف شوند.

استفاده از گزینه –privileged باید محدود باشد. Docker Socket نیز نباید بدون کنترل در اختیار کانتینر قرار گیرد. اسکن Image، مدیریت Secret و استفاده از Rootless Mode می‌تواند ریسک دسترسی Root را کاهش دهد.

مراحل هاردنینگ سرور

مراحل هاردنینگ سرور

تغییرات هاردنینگ را ابتدا در محیط آزمایشی اجرا کنید. هر تغییر باید هدف مشخص، روش بررسی نتیجه و مسیر بازگشت داشته باشد.

  • ارزیابی اولیه، ثبت Baseline و برنامه بازگشت

قبل از هر تغییر، اطلاعات زیر را ثبت کنید:

  • نقش سرور
  • سیستم‌عامل و نسخه
  • سرویس‌های فعال
  • پورت‌های باز
  • کاربران و گروه‌ها
  • وابستگی برنامه‌ها
  • تنظیمات فعلی فایروال
  • وضعیت Backup و Snapshot

از فایل‌های تنظیمات نسخه پشتیبان بگیرید و Maintenance Window مشخص کنید. CIS Level 2 را بدون تست مستقیم روی Production اجرا نکنید، زیرا بعضی کنترل‌ها ممکن است عملکرد سرویس را محدود کنند.

  • بروزرسانی سیستم عامل و پکیج‌ها

Patch Management فقط اجرای یک دستور نیست. این فرایند شامل شناسایی وصله، بررسی ریسک، آزمایش، نصب و کنترل سرویس پس از بروزرسانی است.

Ubuntu Server 24.04 LTS برای بروزرسانی پکیج‌ها:

sudo apt updatesudo apt upgradeapt list –upgradable

پس از نصب، وضعیت سرویس‌های اصلی و نیاز به Restart را بررسی کنید.

در hardening ubuntu می‌توان از unattended-upgrades برای مدیریت به‌روزرسانی‌های امنیتی استفاده کرد. Restart خودکار سرویس‌های حساس باید با برنامه نگهداری هماهنگ باشد.

RHEL 9 و Rocky Linux 9 و AlmaLinux 9 برای بروزرسانی پکیج‌ها:

sudo dnf upgrade –refreshsudo dnf check-update

CentOS Linux 7 از ۳۰ ژوئن ۲۰۲۴ به پایان پشتیبانی رسیده است. بنابراین hardening centos نباید فقط به تغییر تنظیمات CentOS 7 محدود شود. مهاجرت به CentOS Stream 9، RHEL، Rocky Linux یا AlmaLinux باید در اولویت قرار گیرد.

  • حذف سرویس‌های غیرضروری

برای مشاهده سرویس‌های فعال در Ubuntu و RHEL از دستورهای زیر استفاده کنید:

systemctl –type=service –state=runningsystemctl list-unit-files –state=enabled

قبل از غیرفعال‌کردن هر سرویس، وابستگی‌های آن را بررسی کنید. حذف مستقیم پکیج ممکن است برنامه اصلی را مختل کند. بهتر است ابتدا سرویس Stop و Disable شود و پس از اطمینان از نبود وابستگی، درباره حذف آن تصمیم بگیرید.

  • تغییر پورت SSH

تغییر پورت SSH بیشتر برای کاهش اسکن‌های خودکار و حجم لاگ مفید است و جایگزین کلید SSH یا MFA نمی‌شود.

در Ubuntu 24.04 یا RHEL 9 می‌توانید تنظیم پورت را در فایل جداگانه داخل مسیر sshd_config.d قرار دهید:

Port 2222

قبل از اعمال تغییر، پورت جدید را در فایروال باز کنید. سپس فایل را بررسی کنید:

sudo sshd -t

اتصال جدید را در یک نشست جداگانه آزمایش کنید و تا زمانی که اتصال جدید تأیید نشده، نشست فعلی را نبندید.

  • غیرفعال کردن Root Login

ابتدا یک حساب شخصی دارای دسترسی sudo ایجاد و ورود آن را آزمایش کنید. سپس تنظیم زیر را در پیکربندی SSH قرار دهید:

PermitRootLogin no

قبل از Reload سرویس، دستور زیر را اجرا کنید:

sudo sshd -t

اگر کاربر جایگزین، کلید SSH یا دسترسی sudo درست کار نکند، غیرفعال‌کردن Root Login می‌تواند دسترسی مدیر را قطع کند.

  • استفاده از رمز عبور قوی و MFA

برای مدیریت سرور، کلید SSH نسبت به ورود صرفاً مبتنی بر رمز انتخاب مناسب‌تری است.

MFA را برای حساب‌های مدیریتی، پنل Cloud، VPN و Bastion Host فعال کنید. قبل از غیرفعال‌کردن Password Authentication، ورود با کلید و عامل دوم را در نشست جداگانه آزمایش کنید.

  • نصب و تنظیم فایروال

در مدل Default Deny تمام ترافیک ورودی مسدود می‌شود و فقط سرویس‌های ضروری اجازه دسترسی می‌گیرند.

Ubuntu Server 24.04 با UFW:

sudo ufw default deny incomingsudo ufw default allow outgoingsudo ufw allow 22/tcpsudo ufw enablesudo ufw status verbose

قبل از فعال‌سازی، پورت واقعی SSH را وارد کنید. Rule اشتباه می‌تواند دسترسی شما را قطع کند.

RHEL 9 با firewalld:

sudo firewall-cmd –permanent –add-service=httpssudo firewall-cmd –reloadsudo firewall-cmd –list-all

در RHEL 9 ابزارهای firewalld و nftables جایگزین بخش زیادی از گردش‌کارهای قدیمی iptables شده‌اند. iptables نباید تنها گزینه همه توزیع‌ها معرفی شود.

  • نصب Fail2ban

Fail2ban لاگ سرویس‌ها را بررسی می‌کند و IPهایی را که خطای تکراری دارند، برای مدت مشخص مسدود می‌سازد.

Jail مشخص می‌کند کدام سرویس بررسی شود. مقدار maxretry تعداد تلاش مجاز و bantime زمان مسدودسازی را تعیین می‌کند.

برای بررسی وضعیت SSH می‌توانید از دستور زیر استفاده کنید:

sudo fail2ban-client status sshd

Fail2ban جایگزین فایروال، کلید SSH یا MFA نیست.

  • فعال‌سازی SELinux یا AppArmor

در RHEL 9 وضعیت SELinux را با دستور زیر بررسی کنید:

getenforce

در Ubuntu 24.04 وضعیت AppArmor با دستور زیر قابل مشاهده است:

sudo aa-status

AppArmor در Ubuntu به‌طور پیش‌فرض نصب و Load می‌شود. پروفایل‌های جدید را ابتدا در حالت آزمایشی بررسی کنید. غیرفعال‌کردن کامل SELinux یا AppArmor فقط برای عیب‌یابی موقت و کنترل‌شده قابل قبول است.

  • محدودسازی دسترسی کاربران

برای هر مدیر یک حساب شخصی ایجاد کنید. دسترسی sudo باید فقط به دستورهای موردنیاز داده شود.

حساب سرویس بهتر است Shell تعاملی نداشته باشد. عضویت کاربران در گروه‌های مدیریتی نیز باید به‌صورت دوره‌ای بررسی شود. استفاده چند مدیر از یک حساب Root، تشخیص مسئول هر تغییر را دشوار می‌کند.

  • بستن پورت‌های غیرضروری

در Linux پورت‌های Listening را با دستور زیر بررسی کنید:

sudo ss -lntup

در Windows Server 2025 از PowerShell استفاده کنید:

Get-NetTCPConnection -State Listen | Select-Object LocalAddress,LocalPort,OwningProcess

هر پورت را به پردازش مربوط وصل کنید و دلیل بازبودن آن را مشخص کنید. بستن پورت باید در سرویس، فایروال سیستم‌عامل و Security Group بررسی شود.

  • مانیتورینگ لاگ‌ها و فعالیت‌ها

لاگ ورود کاربران، تغییر Privilege، سرویس‌ها، فایروال و برنامه‌ها را جمع‌آوری کنید.

زمان سرور باید با NTP هماهنگ باشد. لاگ‌های مهم را به یک سامانه متمرکز منتقل کنید تا حذف آن‌ها از روی سرور اصلی باعث از بین رفتن تمام شواهد نشود. برای ورود ناموفق، تغییر گروه مدیر و توقف Agent مانیتورینگ هشدار بسازید.

  • تهیه نسخه بکاپ منظم

Backup بخشی از بازیابی و تاب‌آوری است و به‌تنهایی کنترل هاردنینگ محسوب نمی‌شود.

نسخه پشتیبان باید رمزنگاری‌شده، جدا از سرور اصلی و دارای برنامه نگهداری باشد. تست Restore نیز ضروری است. نگهداری تنها نسخه Backup روی همان سرور یا همان حساب Cloud کافی نیست.

  • اسکن آسیب‌پذیری‌ها

ابزارهای هاردنینگ کاربرد یکسانی ندارند:

  • Lynis برای ممیزی محلی Linux
  • OpenSCAP برای ارزیابی پروفایل‌های امنیتی
  • CIS-CAT برای بررسی تطابق با CIS
  • Nessus برای اسکن آسیب‌پذیری
  • OpenVAS یا Greenbone برای اسکن آسیب‌پذیری

گزارش ابزار به‌تنهایی اثبات نمی‌کند که سرور امن است. نتایج باید از نظر نسخه، نقش سرور، False Positive و امکان اصلاح بررسی شوند.

  • اعتبارسنجی تنظیمات و کنترل Configuration Drift

پس از اعمال تغییرات، ورود مدیریتی، سرویس اصلی، Ruleهای فایروال، Backup و Agentهای مانیتورینگ را آزمایش کنید.

اسکن Baseline را دوباره اجرا و اختلاف قبل و بعد را ثبت کنید. Configuration Drift یعنی تنظیمات سرور در طول زمان از وضعیت تأییدشده فاصله بگیرند. ابزارهایی مانند Ansible یا OSConfig در Windows Server 2025 می‌توانند این تغییرات را شناسایی یا اصلاح کنند.

بهترین ابزارهای هاردنینگ سرور

بهترین ابزارهای هاردنینگ سرور

ابزارهای هاردنینگ وظایف متفاوتی دارند. ابزار را براساس سیستم‌عامل، مقیاس و نوع ارزیابی انتخاب کنید.

Fail2ban

Fail2ban تلاش‌های ورود تکراری را از روی لاگ شناسایی و IP را موقتاً مسدود می‌کند. این ابزار در برابر حملات توزیع‌شده، تغییر مداوم IP یا استفاده از اعتبارنامه معتبر محدودیت دارد.

Lynis

Lynis یک ابزار ممیزی برای Linux و Unix است. این ابزار تنظیمات، سرویس‌ها و کنترل‌های امنیتی را بررسی و پیشنهاد Hardening ارائه می‌کند.

امتیاز Lynis نباید به‌عنوان درصد واقعی امنیت سرور در نظر گرفته شود. از این امتیاز بیشتر برای مقایسه وضعیت همان سرور در بازه‌های مختلف استفاده کنید.

CrowdSec

CrowdSec رفتارهای مشکوک را براساس سناریوهای حمله شناسایی می‌کند و می‌تواند تصمیم مسدودسازی را به اجزای دیگر بدهد.

CrowdSec قابلیت استفاده از اطلاعات مشارکتی IP را دارد، اما جایگزین فایروال، وصله یا کنترل هویت نیست.

CSF Firewall

CSF در برخی سرورهای میزبانی و پنل‌هایی مانند WHM برای مدیریت Ruleهای فایروال استفاده می‌شود.

CSF ابزار استاندارد تمام توزیع‌های Linux نیست و فقط زمانی باید استفاده شود که با سیستم‌عامل و پنل مدیریت سرور سازگاری داشته باشد.

SELinux

SELinux یک کنترل Mandatory Access Control است که دسترسی پردازش‌ها به فایل‌ها و منابع را براساس Policy محدود می‌کند.

SELinux آنتی ویروس یا اسکنر آسیب‌پذیری نیست. خطاهای Policy باید از طریق لاگ بررسی و اصلاح شوند.

AppArmor

AppArmor دسترسی برنامه‌ها را با پروفایل محدود می‌کند و در Ubuntu به‌طور پیش‌فرض فعال است.

تفاوت اصلی AppArmor و SELinux در مدل تعریف و اجرای Policy است. انتخاب میان آن‌ها بیشتر به توزیع و پشتیبانی رسمی سیستم‌عامل بستگی دارد.

OpenSCAP و CIS-CAT

OpenSCAP و CIS-CAT برای بررسی تطابق تنظیمات با یک Baseline مشخص استفاده می‌شوند.

نسخه Benchmark باید دقیقاً با محصول، نسخه سیستم‌عامل و نقش سرور هماهنگ باشد. استفاده از Benchmark اشتباه می‌تواند نتیجه نامعتبر یا تنظیمات ناسازگار ایجاد کند.

چک لیست هاردنینگ سرور

چک لیست هاردنینگ سرور

برای هر مورد، وضعیت، مدرک بررسی و زمان بازبینی بعدی را ثبت کنید.

  • سیستم‌عامل و نرم‌افزارها در دوره پشتیبانی قرار دارند.
  • وصله‌های امنیتی بحرانی نصب شده‌اند.
  • سرویس‌ها و پکیج‌های غیرضروری حذف یا غیرفعال شده‌اند.
  • ورود مستقیم Root یا Administrator محدود شده است.
  • ورود مدیریتی با کلید، MFA یا کنترل معادل محافظت می‌شود.
  • Rule فایروال براساس Default Deny تنظیم شده است.
  • فقط پورت‌های موردنیاز در معرض شبکه قرار دارند.
  • Fail2ban، CrowdSec یا کنترل ضد Brute Force تنظیم شده است.
  • SELinux یا AppArmor در حالت مناسب فعال است.
  • مجوز کاربران و حساب‌های سرویس بازبینی شده‌اند.
  • لاگ‌های امنیتی ثبت و به محل امن منتقل می‌شوند.
  • هشدار ورود ناموفق و تغییر Privilege وجود دارد.
  • نسخه پشتیبان جدا و قابل بازیابی تهیه می‌شود.
  • اسکن آسیب‌پذیری و ممیزی Baseline اجرا شده است.
  • تنظیمات و روش Rollback مستند شده‌اند.
  • تغییرات Configuration Drift پایش می‌شوند.

هاردنینگ لینوکس vs ویندوز سرور

حوزهLinuxWindows Server
مدیریت دسترسیکاربر، گروه، sudo و مجوز فایلActive Directory، Group Policy و Local Policy
مدیریت وصلهAPT، DNF و ابزارهای مدیریت مرکزیWindows Update، WSUS و ابزارهای سازمانی
فایروالUFW، firewalld و nftablesWindows Defender Firewall
کنترل دسترسیSELinux یا AppArmorDefender، App Control و Security Policy
ثبت رویدادjournald، rsyslog و auditdEvent Viewer و Windows Event Forwarding
ممیزی BaselineLynis، OpenSCAP و CIS-CATMicrosoft Security Baselines، OSConfig و CIS-CAT
  • تفاوت‌های امنیتی

Linux و Windows Server از ابزارها و روش‌های مدیریتی متفاوتی استفاده می‌کنند، اما اصول اصلی یکسان است.

مدیریت حساب، نصب وصله، کنترل سرویس، فایروال، ثبت رویداد و محدودسازی دسترسی در هر دو سیستم‌عامل لازم است. نتیجه امنیتی را نمی‌توان فقط براساس نام سیستم‌عامل تعیین کرد.

  • ابزارهای رایج

در Linux ابزارهایی مانند sudo، nftables، UFW، firewalld، SELinux، AppArmor، Lynis و OpenSCAP کاربرد دارند.

در Windows Server ابزارهای Group Policy، Windows Defender Firewall، Event Viewer، PowerShell، Microsoft Defender و Microsoft Security Baselines استفاده می‌شوند.

تفاوت hardening ubuntu و hardening centos

در hardening ubuntu باید روی APT، UFW، AppArmor و unattended-upgrades تمرکز کنید.

در hardening centos توجه کنید که CentOS Linux 7 دیگر پشتیبانی نمی‌شود. برای CentOS Stream 9، RHEL، Rocky Linux یا AlmaLinux از DNF، firewalld و SELinux استفاده کنید.

  • سطح امنیت پیش‌فرض

تنظیمات پیش‌فرض هر دو سیستم‌عامل برای سازگاری با کاربردهای عمومی طراحی شده‌اند.

Baseline امنیتی باید با نقش سرور هماهنگ شود. Windows Server 2025 برای Domain Controller، Member Server و Workgroup Member تنظیمات پایه جداگانه دارد.

کدام سیستم عامل امن‌تر است؟

کدام سیستم عامل امن‌تر است؟

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

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

اشتباهات رایج در هاردنینگ سرور

اشتباهات رایج در هاردنینگ سرور

باز گذاشتن SSH

بازگذاشتن SSH یعنی دسترسی نامحدود از اینترنت همراه با رمز ضعیف، Root Login یا نبود هشدار امنیتی.

استفاده از پورت ۲۲ به‌تنهایی اشتباه نیست. محدودسازی IP، کلید SSH، MFA و محدودکردن کاربران مجاز کنترل‌های مهم‌تری هستند.

استفاده از رمز عبور ضعیف

رمز تکراری، حساب مشترک و نبود MFA خطر دسترسی غیرمجاز را افزایش می‌دهد.

تغییر دوره‌ای رمز بدون نشانه نفوذ نباید تنها راهکار باشد. از رمز منحصربه‌فرد، مدیر رمز عبور، کلید SSH و عامل دوم استفاده کنید.

عدم بروزرسانی سیستم

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

نصب وصله باید براساس شدت ریسک، میزان مواجهه، تست و Maintenance Window انجام شود.

نصب سرویس‌های غیرضروری

هر سرویس اضافی کد، پورت، حساب، مجوز و وابستگی بیشتری وارد سرور می‌کند.

قبل از حذف، نقش و وابستگی سرویس را بررسی کنید. ابتدا غیرفعال‌سازی کنترل‌شده انجام دهید و سپس درباره حذف پکیج تصمیم بگیرید.

عدم مانیتورینگ لاگ‌ها

وجود فایل لاگ کافی نیست. لاگ باید بازبینی، نگهداری و برای رخدادهای مهم دارای هشدار باشد.

انتقال لاگ به سامانه مرکزی باعث می‌شود حذف فایل‌های محلی، تمام شواهد امنیتی را از بین نبرد.

اعمال تنظیمات بدون تست و Rollback

هاردنینگ بدون تست ممکن است SSH، دیتابیس یا سرویس اصلی را قطع کند.

از Snapshot، محیط آزمایشی، نشست مدیریتی دوم و دسترسی کنسول استفاده کنید. هر تغییر حساس باید روش اعتبارسنجی و مسیر بازگشت مشخص داشته باشد.

استانداردهای معتبر در Server Hardening

استانداردهای معتبر در Server Hardening

CIS Benchmarks راهنماهای فنی برای تنظیم امن محصولات و سیستم‌عامل‌ها هستند.

Level 1 کنترل‌های عملی و کم‌اختلال‌تر را پوشش می‌دهد. Level 2 برای دفاع عمیق‌تر طراحی شده و ممکن است بر عملکرد سیستم اثر بگذارد. نسخه Benchmark باید با محصول و نسخه سیستم‌عامل یکسان باشد.

NIST Security Guidelines

راهنمای NIST SP 800-123 اصول عمومی امنیت سرور را پوشش می‌دهد.

این سند بر مدیریت پیکربندی، حذف سرویس‌های غیرضروری، Patch Management، کنترل دسترسی و نگهداری مستمر تمرکز دارد. NIST SP 800-123 یک چک‌لیست دستوری مخصوص Ubuntu یا Windows نیست.

ISO 27001

ISO 27001 الزامات ایجاد و نگهداری سیستم مدیریت امنیت اطلاعات را تعریف می‌کند.

این استاندارد ارزیابی ریسک، مسئولیت‌ها، فرایندها و کنترل‌های سازمانی را پوشش می‌دهد و جایگزین CIS Benchmark یا Baseline فنی سیستم‌عامل نیست.

Zero Trust Security

Zero Trust یعنی هیچ کاربر، دستگاه یا سرویس فقط به دلیل حضور در شبکه داخلی مورد اعتماد قرار نگیرد.

هویت، دستگاه و درخواست دسترسی باید بررسی شوند. NIST SP 800-207 نیز Zero Trust را یک معماری و راهبرد امنیتی معرفی می‌کند، نه یک نرم‌افزار یا تنظیم واحد.

آیا هاردنینگ سرور کافی است؟

آیا هاردنینگ سرور کافی است؟

خیر. هاردنینگ فقط یکی از لایه‌های دفاع است و باید در کنار موارد زیر اجرا شود:

  • مانیتورینگ و پاسخ به رخداد
  • Backup و Disaster Recovery
  • WAF برای برنامه‌های وب
  • IDS یا IPS و EDR
  • مدیریت آسیب‌پذیری
  • امنیت کد و اپلیکیشن
  • حفاظت DDoS
  • IAM و مدیریت Secret
  • تست نفوذ مجاز
  • آموزش و فرایندهای عملیاتی

هاردنینگ سطح حمله را کاهش می‌دهد، اما Zero-day، سرقت اعتبارنامه، خطای برنامه و تهدید داخلی را به‌طور کامل حذف نمی‌کند.

چه زمانی به خدمات حرفه‌ای هاردنینگ نیاز داریم؟

چه زمانی به خدمات حرفه‌ای هاردنینگ نیاز داریم؟

استفاده از خدمات تخصصی زمانی منطقی است که سرور اطلاعات مشتری، پرداخت، حسابداری، Hosting یا زیرساخت سازمانی را میزبانی کند.

شرایط زیر نیز نیاز به متخصص را بیشتر می‌کنند:

  • وجود Domain Controller
  • مدیریت چند سرور ابری
  • الزام ممیزی یا استاندارد
  • نبود متخصص Linux یا Windows
  • نبود محیط تست و Rollback
  • مشاهده تلاش نفوذ
  • نیاز به مستندسازی رسمی

قبل از شروع کار، محدوده پروژه، Baseline، نسخه سیستم‌عامل، روش تست، برنامه Rollback و مستندات تحویلی را مشخص کنید.

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

نتیجه‌گیری

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

نمایش بیشتر
دکمه بازگشت به بالا