1. مستندات
  2. سرور اختصاصی
  3. افزایش امنیت اولیه سرور اختصاصی بعد از تحویل؛ راهنمای عملی گام‌به‌گام

افزایش امنیت اولیه سرور اختصاصی بعد از تحویل؛ راهنمای عملی گام‌به‌گام

Calendar

انتشار:

1404/12/20
Update Calendar

به روز رسانی:

1404/12/20

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

مرحله اول: تغییر رمز عبور root و امن کردن دسترسی اولیه

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

روی سرور وارد شوید و رمز کاربر root را تغییر دهید:

passwd root

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

apt update
apt install -y libpam-pwquality

نمای موفقیت تغییر رمز عبور

مرحله دوم: ساخت کاربر مدیر و کاهش استفاده مستقیم از root

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

ابتدا یک کاربر جدید ایجاد می‌کنید:

adduser adminuser

سپس این کاربر را به گروه مدیران اضافه می‌کنید تا بتواند دستورهای مدیریتی را اجرا کند:

usermod -aG sudo adminuser

برای اطمینان از اعمال دسترسی دستور زیر را اجرا کنید:

id adminuser

ساخت کاربر و بررسی گروه‌ها

مرحله سوم: امن‌سازی SSH برای محدود کردن مسیر اصلی نفوذ

در این مرحله شما تنظیمات SSH را به شکلی تغییر می‌دهید که ورودهای پرخطر حذف شوند. هدف این است که ورود مستقیم root غیرفعال شود و حملات خودکار روی پورت پیش‌فرض کاهش پیدا کند. نتیجه این کار کم شدن قابل توجه تلاش‌های نفوذ است.

برای اعمال این تغییرات ابتدا فایل تنظیمات SSH را ویرایش کنید:

nano /etc/ssh/sshd_config

تنظیمات پیشنهادی:

PermitRootLogin no
Port 2222
PasswordAuthentication no
PubkeyAuthentication yes

پس از بررسی صحت تنظیمات سرویس را ری‌استارت کنید:

sshd -t
systemctl restart ssh

تنظیمات sshd_config

مرحله چهارم: فعال‌سازی ورود با کلید SSH

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

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

ssh-keygen -t ed25519

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

ssh-copy-id -p 2222 adminuser@SERVER_IP

مشاهده و کپی کلید عمومی SSH

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

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

برای نصب فایروال دستور زیر اجرا می‌شود:

apt install -y ufw

اعمال قوانین پایه:

ufw default deny incoming
ufw default allow outgoing

باز کردن پورت‌های موردنیاز:

ufw allow 2222
ufw allow 80
ufw allow 443

فعال‌سازی فایروال:

ufw enable
ufw status verbose

وضعیت فایروال فعال

مرحله ششم: نصب Fail2ban برای جلوگیری از حملات تکراری

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

نصب و فعال‌سازی Fail2ban:

apt install -y fail2ban
systemctl enable --now fail2ban

Fail2ban

ساخت فایل تنظیمات پایدار:

cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
nano /etc/fail2ban/jail.local

تنظیم بخش SSH:

[sshd]
enabled = true
port = 2222
maxretry = 2
findtime = 10m
bantime = 48h

Fail2ban2

مرحله هفتم: به‌روزرسانی سیستم‌عامل و فعال‌سازی آپدیت امنیتی

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

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

apt update
apt upgrade -y

نصب آپدیت خودکار امنیتی:

apt install -y unattended-upgrades
dpkg-reconfigure unattended-upgrades

فعال بودن آپدیت خودکار

مرحله هشتم: شناسایی و غیرفعال‌سازی سرویس‌های غیرضروری

در این مرحله بررسی می‌کنید چه سرویس‌هایی روی سرور فعال هستند. هدف این است که سرویس‌های بلااستفاده مسیر نفوذ جدید ایجاد نکنند. نتیجه این کار کاهش ریسک امنیتی است.

بررسی پورت‌های فعال:

ss -tulnp

غیرفعال‌سازی سرویس غیرضروری:

systemctl stop servicename
systemctl disable servicename

لیست سرویس‌ها و پورت‌ها

مرحله نهم: بررسی لاگ‌ها برای تشخیص رفتار مشکوک

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

مشاهده لاگ ورود:

tail -f /var/log/auth.log

بررسی لاگ‌ها برای تشخیص رفتار مشکوک

مرحله دهم: نصب ابزارهای پایه برای پایش وضعیت سرور

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

نصب ابزارهای کاربردی:

apt install -y htop lsof net-tools

نمای ابزار مانیتورینگ htop

مرحله یازدهم: بررسی نهایی و اطمینان از اعمال تنظیمات

در این مرحله همه تنظیمات انجام‌شده بررسی می‌شوند. هدف این است که مطمئن شوید هیچ مسیر ناامنی باقی نمانده است. نتیجه این کار آماده بودن سرور برای استفاده عملی است.

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

ufw status verbose

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

fail2ban-client status sshd

در پایان با اجرای این مراحل سرور اختصاصی از نظر امنیت پایه، آماده استفاده و مدیریت روزانه خواهد بود.

آیا توانستیم چالش شما را حل کنیم؟