در این مقاله مراحل عملی افزایش امنیت اولیه سرور اختصاصی بعد از تحویل توضیح داده میشود. هدف این راهنما این است که مدیر سرور بداند بلافاصله بعد از دریافت سرور چه اقداماتی باید انجام دهد تا راههای رایج نفوذ بسته شوند و سرور برای استفاده واقعی آماده شود.
مرحله اول: تغییر رمز عبور 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

مرحله چهارم: فعالسازی ورود با کلید SSH
در این مرحله هدف حذف کامل رمز عبور از مسیر ورود به سرور است. ورود با کلید، امنیت بسیار بالاتری دارد و در برابر حملات حدس رمز مقاوم است. نتیجه این کار افزایش چشمگیر امنیت دسترسی به سرور است.
ابتدا باید روی سیستم شخصی خود یک کلید SSH بسازید. این کلید برای اتصال امن به سرور استفاده میشود:
ssh-keygen -t ed25519
پس از ساخته شدن کلید، باید کلید عمومی را به سرور منتقل کنید تا امکان ورود امن فراهم شود:
ssh-copy-id -p 2222 adminuser@SERVER_IP

مرحله پنجم: راهاندازی فایروال برای محدود کردن دسترسی شبکه
در این مرحله شما مشخص میکنید چه پورتهایی اجازه دریافت اتصال از بیرون را دارند. هدف این است که فقط سرویسهای ضروری در دسترس باشند. نتیجه این کار کاهش سطح حمله سرور است.
برای نصب فایروال دستور زیر اجرا میشود:
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

ساخت فایل تنظیمات پایدار:
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

مرحله هفتم: بهروزرسانی سیستمعامل و فعالسازی آپدیت امنیتی
در این مرحله هدف بستن آسیبپذیریهای شناختهشده سیستم است. سیستمعامل بهروز شده کمتر در معرض نفوذ قرار میگیرد. نتیجه این کار افزایش پایداری و امنیت سرور است.
بهروزرسانی کامل سیستم:
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

مرحله یازدهم: بررسی نهایی و اطمینان از اعمال تنظیمات
در این مرحله همه تنظیمات انجامشده بررسی میشوند. هدف این است که مطمئن شوید هیچ مسیر ناامنی باقی نمانده است. نتیجه این کار آماده بودن سرور برای استفاده عملی است.
بررسی وضعیت فایروال:
ufw status verbose
بررسی وضعیت Fail2ban:
fail2ban-client status sshd
در پایان با اجرای این مراحل سرور اختصاصی از نظر امنیت پایه، آماده استفاده و مدیریت روزانه خواهد بود.