SSH (Secure Shell) یکی از پرکاربردترین ابزارها برای مدیریت سرورها در لینوکس است. این پروتکل امکان اتصال ایمن از طریق شبکه به سرورها را فراهم میکند، اما اگر بهدرستی پیکربندی نشود، ممکن است به هدفی برای حملات سایبری تبدیل شود. در ادامه، ۵ روش برتر برای ایمنسازی سرور SSH در لینوکس را بررسی میکنیم.
—
۱. تغییر پورت پیشفرض SSH
پورت پیشفرض SSH عدد ۲۲ است که مهاجمان بهطور پیشفرض آن را هدف قرار میدهند. تغییر این پورت به یک عدد غیرمعمول میتواند حملات بیهدف (Brute Force) را کاهش دهد.
چگونگی تغییر پورت:
۱. فایل تنظیمات SSH را باز کنید:
sudo nano /etc/ssh/sshd_config
۲. مقدار `Port` را به یک عدد دلخواه تغییر دهید:
Port 2222
۳. سرویس SSH را ریاستارت کنید:
sudo systemctl restart sshd
نکته: اطمینان حاصل کنید که فایروال اجازه دسترسی به پورت جدید را میدهد.
—
۲. غیرفعال کردن ورود با کاربر Root
ورود مستقیم به سرور با کاربر Root خطرناک است، زیرا در صورت به خطر افتادن رمز عبور، کل سیستم قابل دسترسی خواهد بود. بهتر است ورود مستقیم Root را غیرفعال کرده و از کاربران غیر Root با دسترسیهای محدود استفاده کنید.
چگونگی غیرفعال کردن ورود Root:
۱. فایل تنظیمات SSH را باز کنید:
sudo nano /etc/ssh/sshd_config
۲. مقدار `PermitRootLogin` را به `no` تغییر دهید:
PermitRootLogin no
۳. سرویس SSH را ریاستارت کنید:
sudo systemctl restart sshd
—
۳. استفاده از احراز هویت کلید عمومی
استفاده از کلیدهای عمومی (Public Key Authentication) جایگزین امنی برای ورود با نام کاربری و رمز عبور است. این روش علاوه بر امنیت بیشتر، خطر حملات حدس رمز (Brute Force) را نیز کاهش میدهد.
چگونگی تنظیم احراز هویت کلید عمومی:
۱. یک جفت کلید عمومی و خصوصی ایجاد کنید:
ssh-keygen -t rsa -b 4096
۲. کلید عمومی را به سرور منتقل کنید:
ssh-copy-id user@server_ip
۳. احراز هویت با رمز عبور را غیرفعال کنید:
فایل `sshd_config` را ویرایش کرده و مقدار `PasswordAuthentication` را به `no` تغییر دهید:
PasswordAuthentication no
۴. سرویس SSH را ریاستارت کنید.
—
۴. محدود کردن آدرسهای IP مجاز برای دسترسی به سرور
با محدود کردن آدرسهای IP مجاز، میتوانید تنها به دستگاههای مشخصی اجازه دسترسی به سرور را بدهید. این کار میتواند با استفاده از فایروال انجام شود.
چگونگی محدود کردن IP با UFW:
۱. اطمینان حاصل کنید UFW فعال است:
sudo ufw enable
۲. تنها به IP خاص اجازه دسترسی بدهید:
sudo ufw allow from 192.168.1.100 to any port 22
۳. وضعیت فایروال را بررسی کنید:
sudo ufw status
—
۵. استفاده از ابزارهای تشخیص و جلوگیری از نفوذ (Intrusion Detection Systems)
ابزارهایی مانند Fail2Ban میتوانند تلاشهای ناموفق برای ورود را شناسایی کرده و IP مهاجمان را بهطور خودکار مسدود کنند.
چگونگی نصب و پیکربندی Fail2Ban:
۱. نصب Fail2Ban:
sudo apt install fail2ban
۲. پیکربندی فایل jail.local:
sudo nano /etc/fail2ban/jail.local
۳. قوانین موردنظر را برای SSH اضافه کنید:
[sshd]
enabled = true
port = 22
maxretry = 5
bantime = 600
۴. سرویس Fail2Ban را فعال کنید:
sudo systemctl enable fail2ban
sudo systemctl start fail2ban
—
جمعبندی
ایمنسازی سرور SSH در لینوکس یک گام مهم در حفظ امنیت سرورها است. تغییر پورت پیشفرض، غیرفعال کردن ورود با Root، استفاده از احراز هویت کلید عمومی، محدود کردن IPها، و استفاده از ابزارهای تشخیص نفوذ میتوانند به شکل چشمگیری امنیت را افزایش دهند. با اجرای این روشها، سرور شما در برابر بسیاری از حملات سایبری مقاومتر خواهد شد.
آیا شما روش دیگری برای ایمنسازی SSH میشناسید؟ نظرات خود را با ما به اشتراک بگذارید!