5 نکته موثر برای امن‌سازی سرور SSH در اوبونتو
در این مقاله با 5 راهکار موثر برای سخت‌سازی و امن‌سازی دسترسی SSH در اوبونتو آشنا شوید و سرور خود را از تهدیدات در امان نگه دارید.

5 نکته موثر برای امن‌سازی سرور SSH در اوبونتو

این مقاله به بررسی 5 راهکار موثر برای سخت‌سازی سرور SSH در اوبونتو می‌پردازد. با پیاده‌سازی این نکات، می‌توانید امنیت سرورهای خود را افزایش داده و از دسترسی‌های ناخواسته جلوگیری کنید. این راهکارها شامل احراز هویت با کلیدهای SSH، محدودسازی دسترسی و استفاده از ابزارهای حفاظتی مانند Fail2Ban است.
0 Hisse senetleri
0
0
0
0

آیا دسترسی SSH سرور اوبونتو شما به‌اندازه کافی ایمن است؟

امن‌سازی دسترسی SSH یکی از پایه‌ای‌ترین و ضروری‌ترین اقدامات برای هر سرور لینوکسی است، به‌ویژه وقتی سرویس‌های حیاتی مانند وب‌سایت‌ها، دیتابیس‌ها، سرورهای ترید یا نودهای GPU روی آن میزبانی می‌شوند. در این راهنما پنج راهکار کاربردی و فنی برای سخت‌سازی SSH روی اوبونتو ارائه شده که شامل دستورالعمل‌های قابل اجرا، مثال‌های پیکربندی و نکات تطبیق‌پذیر برای سناریوهای ترید، گیم، AI و میزبانی وب است.

مرور کلی و اهداف

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

  • جایگزینی احراز هویت با کلید SSH به‌جای کلمه‌عبور
  • محدودسازی دسترسی (پورت، کاربر، آدرس IP)
  • پیاده‌سازی ابزارهای محافظتی مثل Fail2Ban Ve UFW/iptables
  • مانیتورینگ و Audit (لاگ‌ها، sshd -T، ابزارهای بررسی)
  • استفاده از روش‌های احراز هویت دومرحله‌ای یا Bastion/Jumphost

1) استفاده از کلیدهای SSH قوی و غیرفعال‌سازی رمز عبور

Kullanımı کلیدهای SSH به‌جای رمز عبور، مقاومت در برابر حملات بروت‌فورس و مدیریت آسان‌تر دسترسی را فراهم می‌کند. کلیدهای نوین مانند ed25519 به‌طور خاص توصیه می‌شوند؛ در صورت نیاز به سازگاری با سیستم‌های قدیمی، از RSA 4096 Kullanmak.

ساخت کلید امن روی کلاینت:

ssh-keygen -t ed25519 -a 100 -o -f ~/.ssh/id_ed25519 -C "user@host"

یا (برای سازگاری):

ssh-keygen -t rsa -b 4096 -o -a 100 -f ~/.ssh/id_rsa -C "user@host"

انتقال کلید به سرور:

ssh-copy-id -i ~/.ssh/id_ed25519.pub user@server

نمونهٔ تنظیمات مهم در /etc/ssh/sshd_config:

PermitRootLogin no
PasswordAuthentication no
ChallengeResponseAuthentication no
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

بارگذاری پیکربندی SSH:

sudo systemctl reload sshd

مثال برای سناریوی نود GPU (AI)

برای سرور GPU که توسط تیم ML/AI استفاده می‌شود، توصیه می‌شود گروه‌های دسترسی ایجاد شود و برای هر کاربر کلید منحصر به‌فردی صادر گردد. استفاده از فایل‌سیستم رمزنگاری‌شده برای پوشهٔ کلیدها و فعال‌سازی AppArmor (یا SELinux اگر در دسترس باشد) نیز پیشنهاد می‌شود.

2) محدودسازی دسترسی: پورت، کاربران، آدرس‌ها و AllowUsers/AllowGroups

کاهش سطح دسترسی یا attack surface باعث کاهش تلاش‌های نفوذ می‌شود. روش‌های متداول شامل تغییر پورت، محدود کردن کاربران و محدودسازی بر اساس آدرس‌های IP است.

تغییر پورت پیش‌فرض:

Port 2222

محدود کردن کاربران یا گروه‌ها:

AllowUsers deploy [email protected]/24
# or
AllowGroups sshusers

محدودسازی بر اساس IP با UFW:

sudo ufw allow from 203.0.113.5 to any port 2222 proto tcp

غیرفعال‌سازی امکانات پرخطر:

AllowTcpForwarding no
X11Forwarding no
PermitTunnel no

کاهش زمان و تلاش برای ورود ناموفق:

LoginGraceTime 30
MaxAuthTries 3
MaxSessions 2

3) جلوگیری از brute-force و مدیریت حملات: Fail2Ban، UFW و Anti-DDoS

حملات خودکار و بروت‌فورس رایج‌اند؛ ابزارهایی مثل Fail2Ban و فایروال سطح میزبان می‌توانند ترافیک مخرب را بلوک کنند. همچنین برای مقابله با حملات لایه‌۴ و لایه‌۷ از سرویس‌های Anti-DDoS استفاده کنید.

نصب و پیکربندی Fail2Ban:

sudo apt install fail2ban
# create /etc/fail2ban/jail.d/sshd.local with:
[sshd]
enabled = true
port = 2222
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
bantime = 3600

پیکربندی فایروال پایه با UFW:

sudo apt install ufw
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 2222/tcp
sudo ufw allow 80,443/tcp
sudo ufw enable

در صورت نیاز به محافظت قوی‌تر از لایه شبکه، از سرویس Anti-DDoS شرکت استفاده کنید. سرورهای ضد DDoS ما قابل ترکیب با BGP/Anycast و شبکهٔ CDN هستند تا ترافیک مخرب را در لبه شبکه متوقف کنند.

مقایسه مکان‌ها و تاثیر بر امنیت

در 85+ لوکیشن جهانی شرکت، بعضی دیتاسنترها امکانات شبکه‌ای مانند فایروال لبه، BGP و Anti-DDoS سخت‌افزاری دارند. برای سرورهای ترید یا حساس به امنیت، انتخاب لوکیشنی با پشتیبانی Anti-DDoS و مسیر شبکه‌ای کوتاه به بازارهای مالی (مثلاً لندن، فرانکفورت، نیویورک، سنگاپور، توکیو) اهمیت دارد.

4) مانیتورینگ، Audit و تشخیص نفوذ

دانستن اینکه چه کسی به سرور متصل شده و چه تلاش‌هایی ناموفق بوده، اساسی است. لاگ‌ها و ابزارهای Audit به تشخیص سریع نفوذ کمک می‌کنند.

دستورات مفید برای بررسی:

sshd -T
ss -tulpn | grep ssh
sudo tail -n 200 /var/log/auth.log
last -a

برای آنالیز لاگ‌ها می‌توانید از rsyslog, logwatch یا سرویس‌های مرکزی لاگ (مثلاً Elasticsearch/Graylog) استفاده کنید. ابزارهای مفید دیگر شامل ssh-audit Ve Lynis و IDS/IPSهایی مانند OSSEC Veya Suricata هستند.

5) احراز هویت دومرحله‌ای، Bastion و مدیریت دسترسی (PAM, 2FA)

اضافه کردن یک لایهٔ دوم احراز هویت مانع از دسترسی مهاجم در صورت سرقت کلید یا لو رفتن حساب می‌شود. گزینه‌ها شامل استفاده از Google Authenticator (PAM)، سرویس‌های MFA سازمانی و استفاده از Bastion/Jumphost است.

نصب Google Authenticator PAM:

sudo apt install libpam-google-authenticator
# then run for each user:
google-authenticator

پیکربندی PAM و sshd:

# add to /etc/pam.d/sshd
auth required pam_google_authenticator.so

# in /etc/ssh/sshd_config
ChallengeResponseAuthentication yes
UsePAM yes

برای سازمان‌ها، استفاده از سرویس‌های MFA مانند Duo Veya Okta پیشنهاد می‌شود. همچنین قرار دادن یک Bastion Host با 2FA، لاگینگ متمرکز و سیاست‌های IAM یکپارچه بهترین روش برای تیم‌های بزرگ است.

نکات عملی برای مدیریت کلید و دوره‌ها

گردش دوره‌ای کلیدها، حذف کلیدهای غیرفعال و استفاده از مدیریت هویت (LDAP/AD/SSO) برای کنترل متمرکز، از ملزومات نگهداری امنیتی است.

نمونه پیکربندی sshd_config پیشنهادی

نمونه زیر نشان‌دهندهٔ تنظیمات پیشنهادی است (ممکن است لازم باشد بر اساس نیازهای خاص شما تنظیمات بیشتری انجام شود):

Protocol 2
Port 2222
PermitRootLogin no
PasswordAuthentication no
ChallengeResponseAuthentication no
UsePAM yes
X11Forwarding no
AllowTcpForwarding no
ClientAliveInterval 300
ClientAliveCountMax 2
LogLevel VERBOSE
AllowUsers deploy [email protected]

نکات تکمیلی و عملی برای سناریوهای خاص

Tüccarlar: از VPS مخصوص ترید با لوکیشن نزدیک به صرافی‌ها استفاده کنید، زمان پاسخ را با ابزارهای شبکه بسنجید و SSH را فقط از IPهای مشخص باز نگه دارید. از Anti-DDoS و شبکهٔ BGP استفاده کنید.

Oyun: برای VPS گیمینگ از لوکیشن با پینگ پایین و شبکهٔ خصوصی بهره ببرید. دسترسی مدیریتی را از طریق Bastion کنترل کنید.

Yapay zeka ve görselleştirme: سرورهای GPU را در لوکیشن‌های مخصوص AI انتخاب کنید، دسترسی SSH را با کلید و 2FA محدود کنید و از AllowGroups برای تیم‌های مختلف استفاده نمایید.

وب‌سرور و وردپرس: از SSH Keys برای مدیران، SFTP امن برای آپلود محتوا و CI/CD با SSH deploy keys استفاده کنید.

اطلاعات سرویس و زیرساخت

شرکت خدماتی در بیش از 85 küresel lokasyon ارائه می‌دهد: انواع سرورهای VPS مخصوص ترید و گیم، سرورهای ابری با عملکرد بالا، سرورهای گرافیکی (GPU)، سرورهای ضد DDoS، خدمات هاست و دامنه، CDN و شبکه با پشتیبانی BGP.

  • برای سرویس‌های عمومی از لوکیشن با Anti-DDoS استفاده نمایید.
  • برای دسترسی ایمن، Bastion در شبکهٔ خصوصی و دسترسی از طریق VPN یا IP ثابت توصیه می‌شود.
  • سرورهای GPU را در لوکیشن‌های مخصوص AI برای کمترین latency انتخاب کنید.
  • برای محافظت لایهٔ اپلیکیشن، CDN و WAF را در کنار دیگر تدابیر امنیتی قرار دهید.

جمع‌بندی و چک‌لیست سریع پیاده‌سازی

چک‌لیست ۱۰ مرحله‌ای برای پیاده‌سازی موارد بالا:

  1. ساخت و استفاده از کلید SSH امن (ed25519 Veya RSA4096)
  2. غیرفعال‌سازی PasswordAuthentication Ve PermitRootLogin
  3. تغییر پورت پیش‌فرض SSH و محدود کردن مجوزهای اضافی
  4. Kurulum Fail2Ban و پیکربندی UFW/iptables
  5. محدودسازی IP و استفاده از AllowUsers/AllowGroups
  6. فعال‌سازی لاگینگ و ارسال لاگ به سرویس مرکزی
  7. پیاده‌سازی 2FA یا MFA برای دسترسی‌های حساس
  8. استفاده از Bastion/Jumphost برای دسترسی از راه دور
  9. بررسی پیکربندی با sshd -T و ابزارهای audit
  10. دوره‌ای چک کردن کلیدها، حذف کلیدهای قدیمی و گردش کلیدها

Sıkça Sorulan Sorular

Ayrıca Şunları da Beğenebilirsiniz