امنیت سرورهای لینوکسی یکی از مهمترین دغدغههای مدیران سیستم و متخصصان شبکه است. با توجه به افزایش حملات سایبری و تهدیدات امنیتی، لازم است که سرورهای لینوکسی با رعایت اصول امنیتی بهینه شوند تا از نفوذ، سرقت اطلاعات و دسترسیهای غیرمجاز جلوگیری شود. در این مقاله، به بررسی ۱۰ اقدام اساسی برای افزایش امنیت سرورهای لینوکسی میپردازیم.
۱. غیرفعال کردن ورود مستقیم کاربر Root
یکی از بزرگترین تهدیدهای امنیتی در لینوکس، استفاده از کاربر Root برای ورود مستقیم به سرور است. این کار باعث میشود که در صورت لو رفتن رمز عبور، مهاجم کنترل کامل سرور را در اختیار بگیرد. راهکار پیشنهادی این است که ورود مستقیم Root را غیرفعال کرده و یک کاربر جدید با دسترسی sudo ایجاد کنید.
🔹 برای این کار، فایل تنظیمات SSH را ویرایش کنید:
sudo nano /etc/ssh/sshd_config
🔹 مقدار PermitRootLogin
را به no
تغییر دهید:
PermitRootLogin no
🔹 سپس سرویس SSH را ریاستارت کنید:
sudo systemctl restart ssh
۲. استفاده از احراز هویت مبتنی بر کلید SSH
استفاده از رمز عبور برای ورود به سرور، روشی ناامن است که میتواند منجر به حملات Brute Force شود. به جای آن، از کلیدهای SSH برای احراز هویت استفاده کنید.
🔹 برای تولید کلید SSH در کلاینت خود، دستور زیر را اجرا کنید:
ssh-keygen -t rsa -b 4096
🔹 سپس کلید عمومی را به سرور منتقل کنید:
ssh-copy-id user@server-ip
🔹 در نهایت، ورود با رمز عبور را غیرفعال کنید. برای این کار، مقدار زیر را در فایل sshd_config تغییر دهید:
PasswordAuthentication no
🔹 و سرویس SSH را مجدداً راهاندازی کنید:
sudo systemctl restart ssh
۳. بهروزرسانی مرتب سیستم و بستههای امنیتی
بسیاری از حملات سایبری از طریق آسیبپذیریهای شناختهشده در نرمافزارهای قدیمی انجام میشوند. به همین دلیل، بروزرسانی مداوم سیستم یکی از مهمترین اقدامات امنیتی محسوب میشود.
🔹 در Ubuntu/Debian برای بروزرسانی سیستم از این دستورات استفاده کنید:
sudo apt update && sudo apt upgrade -y
🔹 در CentOS/RHEL نیز میتوانید از این دستور کمک بگیرید:
sudo yum update -y
🔹 همچنین میتوانید بروزرسانیهای امنیتی خودکار را در Ubuntu فعال کنید:
sudo apt install unattended-upgrades
sudo dpkg-reconfigure unattended-upgrades
۴. فعالسازی فایروال و کنترل ترافیک شبکه
برای جلوگیری از دسترسیهای غیرمجاز، بهتر است از فایروال استفاده کنید و فقط پورتهای مورد نیاز را باز بگذارید.
🔹 در Ubuntu/Debian، UFW را فعال کنید:
sudo ufw allow OpenSSH
sudo ufw enable
🔹 در CentOS/RHEL، از Firewalld استفاده کنید:
sudo systemctl start firewalld
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload
۵. استفاده از Fail2Ban برای جلوگیری از حملات Brute Force
ابزار Fail2Ban میتواند آیپیهایی که چندین بار تلاش ناموفق برای ورود داشتهاند را بلاک کند.
🔹 برای نصب در Ubuntu/Debian:
sudo apt install fail2ban -y
🔹 برای نصب در CentOS/RHEL:
sudo yum install fail2ban -y
🔹 پس از نصب، سرویس را فعال کنید:
sudo systemctl enable --now fail2ban
۶. محدود کردن دسترسی به پورتهای مهم
برای جلوگیری از دسترسیهای غیرمجاز، میتوانید پورتهای SSH و سایر سرویسها را تغییر دهید.
🔹 برای تغییر پورت SSH، فایل تنظیمات را ویرایش کنید:
sudo nano /etc/ssh/sshd_config
🔹 مقدار پورت را تغییر دهید، مثلاً به 2222:
Port 2222
🔹 سپس SSH را ریاستارت کنید:
sudo systemctl restart ssh
۷. استفاده از SELinux یا AppArmor برای افزایش امنیت کرنل
🔹 در CentOS/RHEL، از SELinux استفاده کنید:
sudo setenforce 1
🔹 در Ubuntu/Debian، از AppArmor استفاده کنید:
sudo aa-enforce /etc/apparmor.d/*
۸. بررسی و محدود کردن کاربران و گروههای غیرضروری
برای جلوگیری از دسترسیهای غیرمجاز، کاربران و گروههای غیرضروری را حذف کنید:
🔹 مشاهده لیست کاربران:
cat /etc/passwd
🔹 مشاهده لیست گروهها:
cat /etc/group
🔹 حذف کاربر غیرضروری:
sudo deluser username
۹. مانیتورینگ لاگها و فعالیتهای غیرعادی
با مانیتورینگ لاگها، میتوان فعالیتهای مشکوک را شناسایی کرد.
🔹 بررسی لاگهای SSH:
sudo cat /var/log/auth.log | grep "Failed password"
🔹 بررسی لاگهای سیستم:
sudo journalctl -xe
۱۰. استفاده از آنتیویروس و اسکنهای امنیتی
برای افزایش امنیت، بهتر است از ابزارهای امنیتی برای بررسی بدافزارها و فایلهای مخرب استفاده کنید.
🔹 نصب ClamAV در Ubuntu:
sudo apt install clamav -y
🔹 نصب Chkrootkit برای بررسی روتکیتها:
sudo apt install chkrootkit -y
🔹 اجرای اسکن امنیتی:
sudo chkrootkit
جمعبندی
با انجام این ۱۰ اقدام حیاتی، میتوان تا حد زیادی امنیت سرورهای لینوکسی را افزایش داد و از تهدیدات سایبری جلوگیری کرد. بهروزرسانی مداوم، استفاده از فایروال، احراز هویت با کلید SSH و مانیتورینگ لاگها از مهمترین گامها در تأمین امنیت سرور هستند.
با رعایت این نکات، میتوانید یک سرور امن و پایدار داشته باشید و از حملات احتمالی جلوگیری کنید.