امنیت سرور از صفر تا صد با Infrastructure Hardening

امنیت سرور از صفر تا صد با Infrastructure Hardening

اشتراک گذاری در شبکه های اجتماعی

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

اما خبر خوب این است که می‌توان با مجموعه‌ای از اقدامات به‌نام Infrastructure Hardening یا سخت‌سازی زیرساخت، سطح امنیت سرور را تا چندین برابر افزایش داد.

در این مقاله از نوین هاست یاد می‌گیریم که Hardening دقیقاً چیست، چه بخش‌هایی از سیستم را شامل می‌شود و چگونه گام‌به‌گام یک سرور لینوکس ضد‌هک بسازیم.

سرور مجازی ایران

Infrastructure Hardening چیست؟

Infrastructure Hardening به مجموعه اقداماتی گفته می‌شود که برای کاهش سطح آسیب‌پذیری یک سیستم انجام می‌شود.
درواقع هدف Hardening این است که هر نقطه‌ای که احتمال نفوذ دارد — از کرنل لینوکس تا تنظیمات SSH و حتی سرویس‌های در حال اجرا — محافظت یا محدود شود.

به بیان ساده‌تر:
Hardening یعنی «پاک‌سازی و ایمن‌سازی لایه‌به‌لایه» تا اگر مهاجم وارد یکی از درها شد، در همان ابتدا متوقف شود.

Infrastructure Hardening

چرا Hardening حیاتی است؟

طبق آمار سایت SonicWall، در سال ۲۰۲۴ بیش از ۶ میلیارد حمله به سرورهای لینوکسی گزارش شده است.
بسیاری از آن‌ها نه به‌دلیل ضعف نرم‌افزاری، بلکه به‌خاطر پیکربندی اشتباه، پورت‌های باز و رمزهای ساده بوده‌اند.

دلایل اصلی اهمیت Hardening:

  • افزایش امنیت سرور در برابر Brute Force، اسکن پورت، و آسیب‌پذیری‌های عمومی
  • کاهش احتمال نفوذ به سرویس‌های حیاتی (SSH، MySQL، Apache و…)
  • حفظ پایداری سرور و جلوگیری از حملات DDoS یا استخراج رمزارز (Cryptojacking)
  • کاهش ریسک نشت داده‌های کاربران

مراحل اصلی در سخت‌سازی سرور

در ادامه یک چک‌لیست گام‌به‌گام برای پیاده‌سازی Hardening آورده شده است.
این مراحل را می‌توانید روی هر سرور لینوکسی (AlmaLinux، CentOS، Ubuntu و Debian) اجرا کنید.

۱. به‌روزرسانی کامل سیستم

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

# برای توزیع‌های RHEL / AlmaLinux / CentOS
sudo dnf update -y

# برای Ubuntu / Debian
sudo apt update && sudo apt upgrade -y

🔸 نکته:
حتماً سرویس‌هایی مانند kernel، openssh و glibc را در لیست آپدیت‌ها بررسی کنید.

۲. غیرفعال‌سازی پورت‌ها و سرویس‌های غیرضروری

هر سرویسی که باز بماند، یعنی یک مسیر بالقوه برای نفوذگر.
ابتدا بررسی کنید چه پورت‌هایی باز هستند:

sudo ss -tulnp

سپس سرویس‌های غیرضروری را غیرفعال کنید:

sudo systemctl disable bluetooth cups avahi-daemon

و با فایروال پورت‌های غیرمجاز را ببندید.

sudo firewall-cmd --permanent --remove-service=ftp
sudo firewall-cmd --reload

۳. ایمن‌سازی SSH (دروازه ورود اصلی سرور)

SSH محبوب‌ترین مسیر حمله است، چون همیشه باز و در دسترس است.

اقدامات ضروری:

  • تغییر پورت SSH (از ۲۲ به عددی بالاتر مثلاً ۲۰۲۲)
  • غیرفعال کردن ورود با Root
  • استفاده از کلید عمومی (Key-based login) به‌جای رمز عبور
  • فعال‌سازی Fail2Ban برای جلوگیری از Brute Force

نمونه تنظیمات در فایل /etc/ssh/sshd_config:

Port 2022
PermitRootLogin no
PasswordAuthentication no
AllowUsers admin novinhost

سپس:

sudo systemctl restart sshd

۴. نصب و پیکربندی Fail2Ban

Fail2Ban ابزاری است که تلاش‌های ورود ناموفق را تشخیص داده و IP مهاجم را موقتاً مسدود می‌کند.

sudo dnf install fail2ban -y
sudo systemctl enable --now fail2ban

نمونه کانفیگ:

[sshd]
enabled = true
bantime = 1h
maxretry = 3
findtime = 600

۵. فعال‌سازی فایروال (FirewallD یا UFW)

یک فایروال مثل دیوار دفاعی عمل می‌کند.
برای AlmaLinux و CentOS:

sudo systemctl enable --now firewalld
sudo firewall-cmd --add-service=ssh --permanent
sudo firewall-cmd --add-service=http --permanent
sudo firewall-cmd --reload

در Ubuntu:

sudo ufw enable
sudo ufw allow 2022/tcp
sudo ufw allow http
sudo ufw allow https

۶. فعال‌سازی SELinux یا AppArmor

SELinux (در RHEL و AlmaLinux) و AppArmor (در Ubuntu) دو مکانیزم امنیتی هسته‌ای هستند که از اجرای دستورات غیرمجاز جلوگیری می‌کنند.

برای بررسی وضعیت:

sestatus

اگر غیرفعال بود:

sudo setenforce 1

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

۷. غیرفعال کردن IPv6 (درصورت عدم استفاده)

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

در فایل /etc/sysctl.conf اضافه کنید:

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1

سپس:

sudo sysctl -p

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

هر کاربر فقط باید به چیزی که نیاز دارد دسترسی داشته باشد.

sudo useradd devuser
sudo usermod -aG sudo devuser
sudo chmod 700 /home/devuser

و اگر کاربر دیگر نیاز ندارد:

sudo userdel olduser

۹. نصب آنتی‌ویروس و IDS

برای مانیتورینگ فعالیت‌های مشکوک:

  • ClamAV برای اسکن فایل‌ها
  • Lynis برای تست امنیت سیستم
  • OSSEC یا Wazuh برای تشخیص نفوذ (IDS)
sudo dnf install lynis -y
sudo lynis audit system

۱۰. محدودسازی منابع با ulimit

برای جلوگیری از حملات DOS داخلی (مثل اجرای بی‌نهایت پردازش):

در /etc/security/limits.conf بنویسید:

* hard nproc 200
* hard nofile 1024

۱۱. بررسی و قفل‌کردن Cron Jobs

بسیاری از نفوذها از طریق Cron انجام می‌شود.
فایل‌های cron را بررسی کنید:

sudo ls /etc/cron.*
sudo cat /etc/crontab

و هر دستور مشکوک را حذف کنید.

۱۲. غیرفعال‌سازی ماژول‌های غیرضروری کرنل

sudo lsmod
sudo modprobe -r usb_storage firewire_core

به‌خصوص اگر سرور در دیتاسنتر است و نیازی به USB ندارد.

۱۳. مانیتورینگ لاگ‌ها با ابزارهای هوشمند

سیستم باید خودش رفتار مشکوک را شناسایی کند.
می‌توانید از Grafana Loki یا ELK Stack برای تجمیع و تحلیل لاگ‌ها استفاده کنید.
و حتی با ChatGPT (مثل مقاله قبلی) لاگ‌ها را تحلیل زبانی کنید تا علت واقعی خطاها مشخص شود. امنیت سرور از صفر تا صد با Infrastructure Hardening

۱۴. بک‌آپ منظم و امن

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

راهکارها:

  • بک‌آپ روزانه روی سرور جداگانه
  • رمزنگاری فایل‌های بک‌آپ
  • استفاده از rsnapshot یا rclone
  • تست دوره‌ای بازگردانی بک‌آپ

۱۵. بررسی امنیت با اسکنرهای خودکار

ابزارهای زیر سیستم را تحلیل و گزارش امنیتی تولید می‌کنند:

  • Lynis
  • OpenVAS
  • Nessus (Community Edition)
  • Nmap + Vulners script
sudo nmap -sV --script vulners <IP>

۱۶. مانیتورینگ رفتار سرور در طول زمان

امنیت بدون مانیتورینگ ناقص است.
ابزارهایی مثل Glances و Netdata رفتار سرور را به‌صورت لحظه‌ای تحلیل می‌کنند.
می‌توانید Alert برای رفتار غیرعادی CPU، RAM یا Login بسازید.

۱۷. رمزنگاری ارتباطات (SSL/TLS Everywhere)

در تمام لایه‌ها از SSL استفاده کنید — از وب‌سرور (Apache/Nginx) تا MySQL.
برای مثال:

sudo certbot --nginx -d example.com

و در MySQL:

ALTER USER 'user'@'%' REQUIRE SSL;

۱۸. بررسی امنیت فایل‌ها با AIDE

AIDE (Advanced Intrusion Detection Environment) تغییرات فایل‌ها را ردیابی می‌کند:

sudo dnf install aide -y
sudo aide --init
sudo mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz
sudo aide --check

اگر فایلی تغییر کرده باشد، هشدار می‌دهد.

جمع‌بندی

سخت‌سازی سرور یعنی پیشگیری به‌جای درمان.
هر مرحله از این مقاله — از تغییر پورت SSH تا فعال‌سازی SELinux — مثل لایه‌ای از زره است که از زیرساخت شما در برابر تهدیدها محافظت می‌کند.

Infrastructure Hardening کاری نیست که یک‌بار انجام دهید و تمام شود؛ باید مداوم به‌روزرسانی و بررسی شود.

اگر سرور شما در محیط تولید (Production) است، پیشنهاد می‌شود هر سه ماه یک‌بار با ابزارهایی مثل Lynis یا Nessus دوباره اسکن و ارزیابی امنیتی انجام دهید.

نوین هاست یار نوین شماست

در نوین هاست، امنیت فقط یک شعار نیست — بخشی از DNA زیرساخت ماست.
تمام سرورهای اختصاصی و ابری نوین هاست با جدیدترین استانداردهای Hardening پیکربندی می‌شوند:

  • SSH ایمن و محدود
  • فایروال چندلایه
  • مانیتورینگ رفتار سرور با ابزارهای هوشمند
  • بک‌آپ رمزنگاری‌شده و ذخیره امن

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

مطالب مرتبط