10 گام تا افزایش امنیت سرور مجازی لینوکس

زمانی که یک سرور مجازی لینوکس (VPS) تهیه میکنید، اولین گام مهم پس از نصب سیستمعامل، انجام تنظیمات امنیتی جهت افزایش امنیت سرور مجازی لینوکس است. سرورهای مجازی بدون کانفیگ امنیتی بهسرعت در معرض حملات قرار میگیرند؛ حتی اگر استفادهای از آن نداشته باشید. در این مقاله، گامبهگام شما را با کانفیگ اولیه امنیتی برای VPS آشنا میکنیم.
1. افزایش امنیت سرور مجازی لینوکس با بروزرسانی سیستمعامل
قبل از هر کاری، سیستمعامل خود را بروزرسانی کنید تا آخرین پچهای امنیتی نصب شوند.
دستور آپدیت سیستم عامل Debian/Ubuntu
sudo apt update && sudo apt upgrade –y
دستور آپدیت سیستم عامل CentOS/RHEL
sudo yum update -y
2.تغییر پورت پیشفرض SSH
پورت پیشفرض SSH که 22 است اولین هدف هکرها است. بهتر است آن را تغییر دهید:
ویرایش فایل کانفیگ SSH
sudo nano /etc/ssh/sshd_config
خط زیر را پیدا کرده و مثلاً به پورت 4321 تغییر دهید:
Port 4321
سپس سرویس SSH را ریستارت کنید:
sudo systemctl restart sshd
نکته: اگر فایروال فعال باشد، باید پورت جدید را در آن باز کنید.
در این مقاله بخوانید :آموزش تغییر پورت SSH در سرور مجازی لینوکس
3. غیرفعال کردن لاگین روت (Root Login)
ورود مستقیم با کاربر root ریسک امنیتی بالایی دارد. ابتدا با دستورات زیر یک کاربر معمولی بسازید:
adduser yourusername
usermod -aG sudo yourusername
سپس در فایل /etc/ssh/sshd_config این خط را به no تغییر دهید تا کاربر root امکان لاگین نداشته باشد:
PermitRootLogin no
و در نهایت SSH را ریستارت کنید:
sudo systemctl restart sshd
4. نصب و پیکربندی فایروال (Firewall) و افزایش امنیت سرور مجازی لینوکس
یکی دیگر از راهکارهای امنیتی سرور مجازی، نصب و فعال سازی فایروال بر روی VPS است.
دستوات نصب UFW در سیستم عامل Ubuntu/Debian:
sudo apt install ufw
تنظیم دسترسیهای ضروری فایروال:
اگر پورت SSH را تغییر داده باشید باید امکان دسترسی به آن را در فایروال تعریف کنید، برای اینکار از دستور زیر استفاده کنید:
sudo ufw allow 4321/tcp
دستورات مورد نیاز برای فعال سازی پروتکل های http و https :
sudo ufw allow http
sudo ufw allow https
دستور فعال سازی فایروال :
sudo ufw enable
دستور بررسی وضعیت فایروال :
sudo ufw status
5. نصب Fail2Ban برای جلوگیری از حملات Brute-Force
Fail2Ban ورودهای ناموفق را شناسایی و آیپی مهاجم را بلاک میکند.
دستور نصب:
sudo apt install fail2ban
شروع به کار:
sudo systemctl enable fail2ban
sudo systemctl start fail2ban
برای شروع، تنظیمات پیشفرض کافی است، اما میتوانید فایل jail.local را شخصیسازی کنید.
6. تنظیم SSH Key Authentication
ورود با کلید SSH بسیار امنتر از استفاده از رمز عبور است.
تولید کلید در سیستم لوکال:
ssh-keygen -t rsa -b 4096
سپس کلید را به سرور منتقل کنید:
ssh-copy-id -p 4321 yourusername@yourserverip
به جای 4321 پورت SSH ، و به جای yourusername نام کاربری که در مراحل قبل ایجاد کردید و به جای yourserverip آدرس آی پی سرور مجازی خود را وارد کنید.
در نهایت در فایل /etc/ssh/sshd_config تنظیمات زیر را به no تغییر دهید:
PasswordAuthentication no
7. نصب آنتیویروس (برای احتیاط)
نصب ابزارهایی مانند ClamAV یا Maldet برای اسکن فایلهای آلوده نیز میتواند موثر باشد که برای اینکار میتوانید از دستور زیر استفاده کنید:
sudo apt install clamav
sudo freshclam
sudo clamscan -r /home
8. نظارت بر لاگها
لاگها همیشه اولین نشانه حمله هستند. از ابزارهایی مانند logwatch یا GoAccess برای بررسی منظم استفاده کنید، برای نصب ابزار logwatch از دستور زیر استفاده کنید :
sudo apt install logwatch
9. تنظیم بکاپگیری منظم
هیچ کانفیگ امنیتی 100% نیست. پس از کانفیگ امنیتی، مهم است از اطلاعاتتان نسخه پشتیبان بگیرید. میتوانید از ابزارهایی مانند rsync، rclone و سرویسهای بکاپ خارجی مثل Backblaze یا Google Cloud Storage استفاده کنید.
10. محدود کردن سرویسهای در حال اجرا
هرچه سرویس کمتری فعال باشد، سطح حمله نیز کمتر است.
دستور بررسی سرویسها:
sudo ss -tulpn
غیرفعالسازی سرویسهای غیرضروری:
sudo systemctl disable servicename
در پایان
ایمنسازی VPS باید بلافاصله پس از راهاندازی سرور انجام شود. در این مقاله مراحل اصلی از جمله تغییر پورت SSH، غیرفعالسازی root، نصب فایروال، تنظیم ورود با کلید SSH و نصب Fail2Ban را بررسی کردیم. با انجام این مراحل، میتوانید تا حد زیادی امنیت سرور خود را افزایش دهید.
یادتان باشد امنیت یک فرآیند پیوسته است، نه یک اقدام یکباره.