- آیا دسترسی SSH سرور اوبونتو شما بهاندازه کافی ایمن است؟
- مرور کلی و اهداف
- 1) استفاده از کلیدهای SSH قوی و غیرفعالسازی رمز عبور
- 2) محدودسازی دسترسی: پورت، کاربران، آدرسها و AllowUsers/AllowGroups
- 3) جلوگیری از brute-force و مدیریت حملات: Fail2Ban، UFW و Anti-DDoS
- 4) مانیتورینگ، Audit و تشخیص نفوذ
- 5) احراز هویت دومرحلهای، Bastion و مدیریت دسترسی (PAM, 2FA)
- نمونه پیکربندی sshd_config پیشنهادی
- نکات تکمیلی و عملی برای سناریوهای خاص
- اطلاعات سرویس و زیرساخت
- جمعبندی و چکلیست سریع پیادهسازی
- Preguntas frecuentes
آیا دسترسی SSH سرور اوبونتو شما بهاندازه کافی ایمن است؟
امنسازی دسترسی SSH یکی از پایهایترین و ضروریترین اقدامات برای هر سرور لینوکسی است، بهویژه وقتی سرویسهای حیاتی مانند وبسایتها، دیتابیسها، سرورهای ترید یا نودهای GPU روی آن میزبانی میشوند. در این راهنما پنج راهکار کاربردی و فنی برای سختسازی SSH روی اوبونتو ارائه شده که شامل دستورالعملهای قابل اجرا، مثالهای پیکربندی و نکات تطبیقپذیر برای سناریوهای ترید، گیم، AI و میزبانی وب است.
مرور کلی و اهداف
هدف این راهنما ارائهٔ پنج نکتهٔ کلیدی است که ترکیبی از اصول محرمانگی, کاهش برد حمله, کشف و پاسخ به نفوذ و افزایش پایداری را پوشش میدهد.
- جایگزینی احراز هویت با کلید SSH بهجای کلمهعبور
- محدودسازی دسترسی (پورت، کاربر، آدرس IP)
- پیادهسازی ابزارهای محافظتی مثل Fail2Ban y UFW/iptables
- مانیتورینگ و Audit (لاگها،
sshd -T، ابزارهای بررسی) - استفاده از روشهای احراز هویت دومرحلهای یا Bastion/Jumphost
1) استفاده از کلیدهای SSH قوی و غیرفعالسازی رمز عبور
Uso de کلیدهای SSH بهجای رمز عبور، مقاومت در برابر حملات بروتفورس و مدیریت آسانتر دسترسی را فراهم میکند. کلیدهای نوین مانند ed25519 بهطور خاص توصیه میشوند؛ در صورت نیاز به سازگاری با سیستمهای قدیمی، از RSA 4096 Usar.
ساخت کلید امن روی کلاینت:
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 23) جلوگیری از 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 y Lynis و IDS/IPSهایی مانند OSSEC O 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 O 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]نکات تکمیلی و عملی برای سناریوهای خاص
Comerciantes: از VPS مخصوص ترید با لوکیشن نزدیک به صرافیها استفاده کنید، زمان پاسخ را با ابزارهای شبکه بسنجید و SSH را فقط از IPهای مشخص باز نگه دارید. از Anti-DDoS و شبکهٔ BGP استفاده کنید.
Juego: برای VPS گیمینگ از لوکیشن با پینگ پایین و شبکهٔ خصوصی بهره ببرید. دسترسی مدیریتی را از طریق Bastion کنترل کنید.
IA y renderizado: سرورهای GPU را در لوکیشنهای مخصوص AI انتخاب کنید، دسترسی SSH را با کلید و 2FA محدود کنید و از AllowGroups برای تیمهای مختلف استفاده نمایید.
وبسرور و وردپرس: از SSH Keys برای مدیران، SFTP امن برای آپلود محتوا و CI/CD با SSH deploy keys استفاده کنید.
اطلاعات سرویس و زیرساخت
شرکت خدماتی در بیش از 85 ubicaciones globales ارائه میدهد: انواع سرورهای VPS مخصوص ترید و گیم، سرورهای ابری با عملکرد بالا، سرورهای گرافیکی (GPU)، سرورهای ضد DDoS، خدمات هاست و دامنه، CDN و شبکه با پشتیبانی BGP.
- برای سرویسهای عمومی از لوکیشن با Anti-DDoS استفاده نمایید.
- برای دسترسی ایمن، Bastion در شبکهٔ خصوصی و دسترسی از طریق VPN یا IP ثابت توصیه میشود.
- سرورهای GPU را در لوکیشنهای مخصوص AI برای کمترین latency انتخاب کنید.
- برای محافظت لایهٔ اپلیکیشن، CDN و WAF را در کنار دیگر تدابیر امنیتی قرار دهید.
جمعبندی و چکلیست سریع پیادهسازی
چکلیست ۱۰ مرحلهای برای پیادهسازی موارد بالا:
- ساخت و استفاده از کلید SSH امن (ed25519 O RSA4096)
- غیرفعالسازی
PasswordAuthenticationyPermitir inicio de sesión raíz - تغییر پورت پیشفرض SSH و محدود کردن مجوزهای اضافی
- Instalación Fail2Ban و پیکربندی UFW/iptables
- محدودسازی IP و استفاده از
AllowUsers/AllowGroups - فعالسازی لاگینگ و ارسال لاگ به سرویس مرکزی
- پیادهسازی 2FA یا MFA برای دسترسیهای حساس
- استفاده از Bastion/Jumphost برای دسترسی از راه دور
- بررسی پیکربندی با
sshd -Tو ابزارهای audit - دورهای چک کردن کلیدها، حذف کلیدهای قدیمی و گردش کلیدها









