مجله ایرانیکاسرور آموزش سرور، هاست، وردپرس و شبکه پنل کاربری

آیا تغییر پورت SSH واقعاً امنیت VPS را بیشتر می‌کند؟ بررسی کامل

  اگر یک سرور مجازی لینوکس، VPS یا سرور اختصاصی داشته باشید، احتمالاً یکی از اولین توصیه‌هایی که برای افزایش امنیت سرور می‌شنوید این است: «پورت SSH را از 22 به یک پورت دیگر…

mahan 📅 25 شهریور 1405 ⏱ 24 دقیقه مطالعه 👁 0 بازدید 💬 0 دیدگاه

 

اگر یک سرور مجازی لینوکس، VPS یا سرور اختصاصی داشته باشید، احتمالاً یکی از اولین توصیه‌هایی که برای افزایش امنیت سرور می‌شنوید این است:

«پورت SSH را از 22 به یک پورت دیگر تغییر بده.»

اما آیا این توصیه واقعاً درست است؟

آیا تغییر پورت SSH از 22 به مثلاً 2222، 22022 یا یک پورت تصادفی می‌تواند از هک شدن VPS جلوگیری کند؟ آیا این کار جلوی حملات Brute Force را می‌گیرد؟ و مهم‌تر از همه، آیا تغییر پورت SSH به‌تنهایی برای امن کردن سرور کافی است؟

پاسخ کوتاه این است:

تغییر پورت SSH می‌تواند سطحی از نویز و اسکن‌های خودکار روی سرور را کاهش دهد، اما به‌تنهایی یک راهکار امنیتی جدی محسوب نمی‌شود.

به بیان ساده‌تر، تغییر پورت SSH یک لایه کوچک در امنیت VPS است، نه یک سیستم امنیتی کامل.

در این مقاله بررسی می‌کنیم تغییر پورت SSH دقیقاً چه کاری انجام می‌دهد، چه کاری انجام نمی‌دهد، چه زمانی ارزش انجام دادن دارد و برای امن‌سازی واقعی SSH چه تنظیماتی مهم‌تر هستند.


فهرست مطالب

SSH چیست و چرا امنیت آن در VPS اهمیت زیادی دارد؟

SSH یا Secure Shell یکی از مهم‌ترین سرویس‌های مدیریتی در سرورهای لینوکسی است.

مدیر سرور معمولاً از طریق SSH برای کارهایی مانند:

  • ورود به سرور
  • نصب نرم‌افزار
  • مدیریت سرویس‌ها
  • بررسی لاگ‌ها
  • مدیریت کاربران
  • تنظیم فایروال
  • مدیریت Docker
  • مدیریت وب‌سرور
  • بروزرسانی سیستم‌عامل
  • مدیریت دیتابیس
  • اجرای دستورات مدیریتی

استفاده می‌کند.

در بسیاری از VPSهای لینوکسی، SSH از طریق پورت 22 در دسترس است.

مثلاً برای اتصال معمولی ممکن است از دستور زیر استفاده شود:

ssh root@SERVER-IP

در این حالت SSH به‌صورت پیش‌فرض روی پورت 22 قرار دارد.

اگر پورت SSH را تغییر داده باشید، اتصال به شکل زیر خواهد بود:

ssh -p 2222 root@SERVER-IP

بنابراین اگر مهاجم بتواند سرویس SSH شما را پیدا کند و اطلاعات احراز هویت را نیز به دست بیاورد، SSH می‌تواند یکی از مسیرهای ورود به سرور باشد.

به همین دلیل، امن‌سازی SSH یکی از قسمت‌های مهم Hardening سرور لینوکس محسوب می‌شود.


پورت 22 چرا این‌قدر مورد توجه مهاجمان است؟

دلیل اصلی ساده است.

پورت 22 پورت استاندارد SSH است و بسیاری از سرورهای لینوکسی آن را بدون تغییر استفاده می‌کنند.

مهاجمان و ربات‌های اینترنتی می‌توانند به‌صورت خودکار محدوده بزرگی از آدرس‌های IP را اسکن کنند و سرویس‌های شناخته‌شده را پیدا کنند.

وقتی یک سیستم روی پورت 22 پاسخ SSH بدهد، ربات می‌تواند تشخیص دهد که احتمالاً یک سرویس SSH در آن IP فعال است.

بعد از آن ممکن است حملاتی مانند:

  • Brute Force
  • Password Spraying
  • تلاش برای ورود با نام‌های کاربری رایج
  • بررسی نسخه سرویس
  • اسکن آسیب‌پذیری‌های شناخته‌شده

انجام شود.

البته وجود پورت 22 به معنی ناامن بودن سرور نیست.

SSH یک پروتکل امن و بسیار پرکاربرد است و امنیت واقعی آن به نحوه پیکربندی، روش احراز هویت، بروزرسانی سیستم و کنترل دسترسی بستگی دارد.


تغییر پورت SSH دقیقاً چه کاری انجام می‌دهد؟

فرض کنید SSH سرور شما روی پورت 22 قرار دارد.

در این حالت یک اسکنر ساده ممکن است ابتدا پورت‌های شناخته‌شده را بررسی کند:

SERVER-IP:22

اگر SSH روی 22 فعال باشد، احتمالاً سرویس شناسایی می‌شود.

حالا فرض کنیم پورت SSH را به 22222 تغییر داده‌اید:

SERVER-IP:22222

اسکنرهای بسیار ساده‌ای که فقط پورت‌های معروف را بررسی می‌کنند، ممکن است دیگر SSH شما را در مرحله اول پیدا نکنند.

بنابراین تغییر پورت می‌تواند باعث کاهش بخشی از اسکن‌ها و تلاش‌های خودکار شود.

اما این نکته بسیار مهم است:

تغییر پورت باعث مخفی شدن واقعی SSH نمی‌شود.

اگر مهاجم پورت‌های بیشتری را اسکن کند، می‌تواند پورت جدید را نیز پیدا کند.


آیا تغییر پورت SSH امنیت VPS را بیشتر می‌کند؟

اگر بخواهیم دقیق جواب بدهیم:

بله، اما به مقدار محدود و به‌عنوان یک لایه کمکی.

تغییر پورت می‌تواند تعداد زیادی از اسکن‌ها و تلاش‌های بسیار ساده و خودکار را کاهش دهد.

اما این کار:

  • رمز عبور ضعیف را قوی نمی‌کند.
  • احراز هویت را امن‌تر نمی‌کند.
  • آسیب‌پذیری OpenSSH را برطرف نمی‌کند.
  • دسترسی root را محدود نمی‌کند.
  • حمله به پورت جدید را غیرممکن نمی‌کند.
  • جایگزین فایروال نمی‌شود.
  • جایگزین SSH Key نمی‌شود.
  • جایگزین بروزرسانی سیستم‌عامل نمی‌شود.
  • جلوی مهاجمی که پورت SSH را پیدا کرده است نمی‌گیرد.

پس بهتر است تغییر پورت را این‌گونه ببینیم:

یک لایه کاهش‌دهنده نویز، نه یک راهکار اصلی امنیتی.


تغییر پورت SSH بیشتر برای چه چیزی مفید است؟

یکی از کاربردهای واقعی تغییر پورت SSH کاهش حجم لاگ‌های مربوط به تلاش‌های تصادفی برای ورود است.

فرض کنید سروری دارید که دائماً روی پورت 22 درخواست‌های مختلف دریافت می‌کند.

ممکن است در لاگ SSH مواردی مانند تلاش برای ورود با نام‌های کاربری زیر مشاهده کنید:

root
admin
test
user
ubuntu
oracle
postgres

بسیاری از این درخواست‌ها ممکن است توسط ربات‌های خودکار ایجاد شده باشند.

اگر SSH را به یک پورت غیرمعمول منتقل کنید، بخشی از این ربات‌های ساده دیگر مستقیماً آن را پیدا نمی‌کنند.

در نتیجه ممکن است:

  • لاگ‌های SSH کمتر شوند.
  • هشدارهای امنیتی کمتر شوند.
  • تلاش‌های بی‌هدف کاهش پیدا کنند.
  • پردازش مربوط به درخواست‌های غیرضروری کمتر شود.

اما نباید این موضوع را با «جلوگیری از هک» اشتباه گرفت.


آیا تغییر پورت SSH جلوی Brute Force را می‌گیرد؟

خیر.

این یکی از مهم‌ترین نکاتی است که باید بدانید.

فرض کنید SSH را از پورت 22 به 22022 منتقل کرده‌اید.

مهاجم اگر پورت 22022 را پیدا کند، می‌تواند دقیقاً همان حملات قبلی را روی آن انجام دهد.

مثلاً:

SERVER-IP:22022

و سپس تلاش‌های متعدد برای ورود انجام دهد.

بنابراین تغییر پورت فقط می‌تواند احتمال پیدا شدن SSH توسط برخی اسکن‌های ساده را کاهش دهد.

اما Brute Force واقعی را متوقف نمی‌کند.

برای مقابله با Brute Force باید از راهکارهای دیگری نیز استفاده کنید.


آیا انتخاب یک پورت کاملاً تصادفی امنیت بیشتری ایجاد می‌کند؟

انتخاب یک پورت غیرمعمول می‌تواند در برابر اسکن‌های ساده مفید باشد، اما نباید تصور کنید هرچه عدد پورت عجیب‌تر باشد، امنیت سرور بیشتر می‌شود.

مثلاً:

2222

یا:

22022

یا:

45221

از نظر امنیت رمزنگاری تفاوت بنیادی ایجاد نمی‌کنند.

مهم این است که پورت انتخاب‌شده:

  • توسط سرویس دیگری استفاده نشده باشد.
  • در فایروال مجاز شده باشد.
  • در تنظیمات SSH صحیح باشد.
  • در مستندات داخلی شما ثبت شده باشد.
  • باعث از دست رفتن دسترسی مدیریتی نشود.

آیا پورت‌های 2222 و 22022 امن هستند؟

این تصور رایج است که مثلاً پورت 2222 «پورت امن SSH» است.

چنین چیزی وجود ندارد.

پورت:

22

ذاتاً ناامن نیست.

و پورت:

2222

ذاتاً امن‌تر نیست.

هر دو می‌توانند SSH را اجرا کنند.

تفاوت اصلی این است که پورت 22 یک پورت استاندارد و شناخته‌شده برای SSH است و اسکنرهای ساده معمولاً آن را زودتر بررسی می‌کنند.

اگر SSH را روی 2222 اجرا کنید، یک اسکنر ساده که فقط پورت‌های شناخته‌شده را بررسی می‌کند ممکن است آن را نبیند.

اما اسکنرهای کامل‌تر می‌توانند پورت‌های بیشتری را بررسی کنند.


تغییر پورت SSH چه چیزی را تغییر نمی‌دهد؟

فرض کنید تنظیمات شما به این شکل باشد:

SSH Port: 22022
Username: root
Password: 123456

تغییر پورت در این شرایط تقریباً مشکل اصلی را حل نکرده است.

اگر مهاجم پورت 22022 را پیدا کند، می‌تواند روی حساب root با رمز عبور ضعیف تلاش کند.

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

SSH Port: 22022
Username: admin
Password Login: Disabled
Authentication: SSH Key
Root Login: Disabled
Firewall: Enabled
Brute Force Protection: Enabled
System Updates: Enabled

در این حالت تغییر پورت فقط یکی از چند لایه امنیتی است.

امنیت واقعی از ترکیب چند لایه به وجود می‌آید.


مهم‌ترین کار برای امن کردن SSH چیست؟

اگر بخواهیم از بین تنظیمات مختلف SSH چند مورد را جدا کنیم، روش احراز هویت اهمیت بسیار بیشتری از تغییر پورت دارد.

یکی از روش‌های مناسب، استفاده از SSH Key Authentication است.

در این روش به جای تکیه بر رمز عبور، از یک جفت کلید استفاده می‌شود:

Private Key
+
Public Key

کلید عمومی روی سرور قرار می‌گیرد و کلید خصوصی نزد کاربر باقی می‌ماند.

OpenSSH نیز از احراز هویت مبتنی بر کلید عمومی پشتیبانی می‌کند و CISA نیز برای نقش‌های مدیریتی استفاده از احراز هویت مبتنی بر کلید عمومی و غیرفعال کردن احراز هویت رمز عبوری را در صورت امکان توصیه کرده است.


چرا SSH Key از تغییر پورت مهم‌تر است؟

چون تغییر پورت فقط محل دسترسی به سرویس را تغییر می‌دهد.

اما SSH Key روش احراز هویت را تغییر می‌دهد.

در یک حمله Brute Force، مهاجم معمولاً تلاش می‌کند رمزهای مختلف را امتحان کند.

اگر Password Authentication را غیرفعال کرده باشید، این روش دیگر مسیر ورود معمولی نخواهد بود.

برای مثال:

PasswordAuthentication no

البته این تنظیم را نباید بدون آماده کردن کلید SSH و آزمایش دسترسی انجام دهید.

یکی از اشتباهات رایج این است که مدیر سرور ابتدا Password Authentication را غیرفعال می‌کند و بعد متوجه می‌شود کلید SSH به‌درستی تنظیم نشده است.

در نتیجه ممکن است دسترسی خودش به سرور را از دست بدهد.


آیا باید ورود مستقیم root را غیرفعال کنیم؟

در بسیاری از سناریوهای مدیریتی، محدود کردن ورود مستقیم root می‌تواند یک لایه امنیتی مفید ایجاد کند.

برای مثال می‌توانید یک کاربر مدیریتی بسازید:

adduser admin

سپس دسترسی sudo را برای آن تنظیم کنید.

بعد از اطمینان از اینکه کاربر جدید می‌تواند با SSH وارد شود، می‌توان تنظیمات مربوط به ورود مستقیم root را محدود کرد.

در OpenSSH گزینه‌ای به نام:

PermitRootLogin

برای کنترل ورود root وجود دارد.

اما این تنظیم نیز باید با توجه به نیاز سرور انجام شود.

برای مثال، روی برخی سرورها ممکن است فرآیندهای مدیریتی یا اتوماسیون خاصی وجود داشته باشد که نیازمند بررسی دقیق قبل از تغییر آن هستند.


محدود کردن تعداد تلاش‌های ورود SSH

OpenSSH تنظیماتی برای کنترل تعداد تلاش‌های احراز هویت و تعداد اتصال‌های بدون احراز هویت دارد.

یکی از آن‌ها:

MaxAuthTries

است.

این گزینه تعداد تلاش‌های احراز هویت مجاز در هر اتصال را کنترل می‌کند.

در مستندات OpenSSH مقدار پیش‌فرض MaxAuthTries برابر 6 ذکر شده است.

همچنین گزینه دیگری به نام:

MaxStartups

برای کنترل اتصال‌های هم‌زمانی که هنوز احراز هویت نشده‌اند وجود دارد.

این تنظیمات می‌توانند در کنار فایروال و سایر روش‌های Hardening برای کاهش سوءاستفاده از SSH استفاده شوند.


آیا Fail2Ban بهتر از تغییر پورت SSH است؟

Fail2Ban و تغییر پورت SSH دو کار متفاوت انجام می‌دهند.

تغییر پورت:

Port 22
↓
Port 22022

باعث می‌شود SSH در پورت استاندارد قرار نداشته باشد.

اما Fail2Ban می‌تواند تلاش‌های ناموفق را بررسی کرده و در شرایط تعریف‌شده IPهای متخلف را برای مدتی مسدود کند.

بنابراین این دو راهکار می‌توانند در کنار یکدیگر استفاده شوند.

برای مثال:

Firewall
+
SSH Key
+
Fail2Ban
+
Disable Password Login
+
Disable/Limit Root Login
+
SSH Port Change

این ترکیب بسیار منطقی‌تر از تکیه بر تغییر پورت به‌تنهایی است.


آیا فایروال از تغییر پورت مهم‌تر است؟

در طراحی امنیتی، کنترل دسترسی شبکه اهمیت بسیار زیادی دارد.

اگر SSH برای همه اینترنت باز باشد:

0.0.0.0/0 → SSH

هر سیستمی در اینترنت می‌تواند تلاش کند به آن متصل شود.

اما اگر بتوانید SSH را فقط برای IPهای مدیریتی یا شبکه مشخصی مجاز کنید، سطح حمله بسیار کوچک‌تر می‌شود.

برای مثال اگر فقط IP دفتر یا IP ثابت مدیر سرور باید به SSH دسترسی داشته باشد، می‌توان در فایروال فقط همان IP را مجاز کرد.

در چنین شرایطی تغییر پورت SSH نقش بسیار کوچک‌تری در امنیت کلی خواهد داشت.


تغییر پورت SSH و مفهوم Security Through Obscurity

در امنیت کامپیوتری اصطلاحی وجود دارد:

Security Through Obscurity

یعنی بخشی از امنیت سیستم به مخفی کردن اطلاعات یا ساختار آن وابسته باشد.

تغییر پورت SSH نمونه‌ای از همین مفهوم است.

وقتی SSH را از 22 به پورت دیگری منتقل می‌کنید، سرویس شما کاملاً مخفی نشده است.

فقط اطلاعاتی را از اسکن‌های ساده پنهان کرده‌اید.

بنابراین اگر یک مهاجم پورت جدید را پیدا کند، این لایه از حفاظت دیگر مزیتی برای او ایجاد نمی‌کند.

به همین دلیل نباید امنیت VPS را بر اساس مخفی بودن پورت بنا کنید.


آیا مهاجم می‌تواند پورت SSH جدید را پیدا کند؟

بله.

اگر مهاجم اسکن گسترده پورت انجام دهد، می‌تواند پورت‌های بیشتری را بررسی کند.

برای مثال ممکن است به جای اینکه فقط این را بررسی کند:

SERVER-IP:22

پورت‌های زیادی را بررسی کند.

اگر سرویس SSH روی پورت دیگری فعال باشد و پاسخ مناسب بدهد، امکان شناسایی آن وجود دارد.

بنابراین:

تغییر پورت SSH یک راهکار برای پنهان کردن سرویس نیست.

بلکه بیشتر برای کاهش مواجهه با اسکن‌های ساده و خودکار استفاده می‌شود.


آیا تغییر پورت SSH روی عملکرد VPS تأثیر دارد؟

در حالت عادی خیر.

مثلاً:

Port 22

و:

Port 22022

از نظر سرعت SSH تفاوت قابل‌توجهی ایجاد نمی‌کنند.

تغییر عدد پورت باعث سریع‌تر شدن SSH یا کاهش مصرف RAM سرور نمی‌شود.

بنابراین اگر هدف شما افزایش سرعت VPS است، تغییر پورت SSH راهکار مناسبی نیست.


چگونه پورت SSH را در لینوکس تغییر دهیم؟

قبل از تغییر پورت یک نکته بسیار مهم وجود دارد:

هرگز اتصال فعلی SSH را قبل از آزمایش اتصال جدید نبندید.

فرض کنیم می‌خواهیم SSH را روی پورت 22022 اجرا کنیم.

ابتدا فایل تنظیمات SSH را باز کنید:

sudo nano /etc/ssh/sshd_config

سپس دنبال این خط بگردید:

#Port 22

و آن را به:

Port 22022

تغییر دهید.

در برخی توزیع‌های جدید ممکن است تنظیمات SSH در فایل‌های داخل مسیر زیر نیز وجود داشته باشد:

/etc/ssh/sshd_config.d/

بنابراین قبل از تغییر تنظیمات باید بررسی کنید که کدام فایل واقعاً تنظیم نهایی SSH را تعیین می‌کند.


قبل از Restart کردن SSH چه کاری انجام دهیم؟

یکی از مهم‌ترین مراحل، بررسی صحت تنظیمات است.

در بسیاری از سیستم‌های لینوکسی می‌توان از این دستور استفاده کرد:

sshd -t

اگر خطایی نمایش داده نشود، معمولاً یعنی فایل تنظیمات از نظر Syntax مشکل واضحی ندارد.

اما این به معنی تضمین دسترسی نیست.

به همین دلیل باید قوانین فایروال را نیز بررسی کنید.


فایروال را قبل از تغییر پورت فراموش نکنید

فرض کنید SSH قبلاً روی:

22

فعال بوده و فایروال نیز پورت 22 را باز کرده است.

اگر آن را به:

22022

تغییر دهید ولی پورت جدید را در فایروال باز نکنید، ممکن است SSH از بیرون قابل دسترسی نباشد.

بنابراین ترتیب کار باید با دقت انجام شود:

1. انتخاب پورت جدید
2. باز کردن پورت در Firewall
3. تنظیم SSH
4. بررسی Syntax
5. Restart یا Reload سرویس
6. آزمایش اتصال جدید
7. سپس بستن پورت قدیمی

یکی از خطرناک‌ترین اشتباهات هنگام تغییر پورت SSH

بسیاری از کاربران این کار را انجام می‌دهند:

Port 22
↓
Port 22022
↓
Restart SSH
↓
بستن Terminal

و بعد متوجه می‌شوند پورت جدید کار نمی‌کند.

در این حالت اگر به Console، KVM، VNC یا پنل مدیریت VPS دسترسی نداشته باشند، ممکن است ورود مجدد به سرور بسیار سخت شود.

به همین دلیل توصیه می‌شود جلسه SSH فعلی را باز نگه دارید و از یک Terminal جدید، اتصال به پورت جدید را تست کنید.

مثلاً:

ssh -p 22022 root@SERVER-IP

اگر اتصال جدید با موفقیت برقرار شد، آن‌وقت می‌توانید اتصال قدیمی را ببندید.


آیا بعد از تغییر پورت باید پورت 22 را ببندیم؟

اگر SSH دیگر روی پورت 22 گوش نمی‌دهد، معمولاً نیازی نیست پورت 22 را صرفاً به‌خاطر SSH باز نگه دارید.

اما باید ابتدا مطمئن شوید سرویس دیگری به پورت 22 نیاز ندارد.

برای بررسی پورت‌های در حال Listen می‌توانید از دستورهایی مانند زیر استفاده کنید:

ss -tulpn

یا:

ss -lntp

هدف این است که ببینید چه سرویسی روی چه پورتی در حال گوش دادن است.


آیا تغییر پورت SSH برای VPSهای ایران هم مفید است؟

بله، همان منطق کلی برای VPSهای ایران نیز صدق می‌کند.

اگر یک VPS لینوکس در دیتاسنتر ایران داشته باشید و SSH روی پورت 22 فعال باشد، ممکن است مانند هر سرور اینترنتی دیگری درخواست‌های اسکن و تلاش‌های خودکار دریافت کند.

انتقال SSH به یک پورت غیرمعمول می‌تواند بخشی از این درخواست‌های خودکار را کاهش دهد.

اما موقعیت جغرافیایی سرور تفاوتی در اصل ماجرا ایجاد نمی‌کند.

امنیت SSH همچنان به مواردی مانند:

  • روش احراز هویت
  • فایروال
  • بروزرسانی
  • دسترسی root
  • SSH Key
  • کنترل تلاش‌های ورود
  • مانیتورینگ
  • لاگ‌ها

وابسته است.


برای یک VPS واقعی چه تنظیماتی پیشنهاد می‌شود؟

اگر یک VPS لینوکسی تازه تهیه کرده‌اید، بهتر است امنیت آن را لایه‌به‌لایه تنظیم کنید.

یک ساختار منطقی می‌تواند به این صورت باشد:

لایه اول: بروزرسانی سیستم

سیستم‌عامل و بسته‌های نصب‌شده را به‌روز نگه دارید.

برای سیستم‌های Debian و Ubuntu:

sudo apt update
sudo apt upgrade

برای سیستم‌های مبتنی بر RHEL مانند AlmaLinux و Rocky Linux:

sudo dnf update

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

به جای استفاده دائمی از root، یک حساب مدیریتی ایجاد کنید.

مثلاً:

sudo adduser admin

سپس دسترسی لازم را برای آن تنظیم کنید.


لایه سوم: استفاده از SSH Key

کلید SSH را تنظیم کنید و ابتدا مطمئن شوید ورود با کلید به‌درستی کار می‌کند.


لایه چهارم: محدود کردن Password Authentication

بعد از اطمینان از صحت SSH Key می‌توانید Password Authentication را متناسب با نیاز خود غیرفعال کنید.


لایه پنجم: محدود کردن ورود root

در صورت امکان و با توجه به ساختار مدیریت سرور، ورود مستقیم root را محدود کنید.


لایه ششم: تنظیم Firewall

فقط پورت‌هایی را باز نگه دارید که واقعاً به آن‌ها نیاز دارید.

برای مثال یک سرور وب ممکن است به این پورت‌ها نیاز داشته باشد:

80
443

و برای SSH:

22022

اما این موضوع به سرویس‌های واقعی روی VPS بستگی دارد.


لایه هفتم: تغییر پورت SSH

حالا می‌توانید SSH را از پورت 22 به یک پورت دیگر منتقل کنید.

در این مرحله تغییر پورت یک لایه تکمیلی خواهد بود.


لایه هشتم: محافظت در برابر Brute Force

در صورت نیاز می‌توانید از ابزارهایی مانند Fail2Ban یا راهکارهای مشابه برای کنترل تلاش‌های ناموفق استفاده کنید.


آیا پورت SSH را هر چند وقت یک‌بار تغییر دهیم؟

معمولاً نیازی نیست.

تغییر دوره‌ای پورت SSH به‌تنهایی مزیت امنیتی قابل‌توجهی ایجاد نمی‌کند.

اگر SSH شما با:

  • کلید امن
  • فایروال مناسب
  • دسترسی محدود
  • Password Authentication غیرفعال
  • سیستم به‌روز
  • تنظیمات صحیح

محافظت شده باشد، تغییر مداوم پورت معمولاً ارزش عملی زیادی ندارد.

امنیت را باید بر اساس کنترل دسترسی و احراز هویت طراحی کرد، نه تغییر مداوم شماره پورت.


آیا تغییر پورت SSH باعث می‌شود IP سرور در اسکن‌ها دیده نشود؟

خیر.

IP سرور همچنان قابل مشاهده است.

ممکن است دامنه به IP سرور اشاره کند، سرویس‌های وب روی IP فعال باشند یا IP در دیتابیس‌های عمومی و سرویس‌های مختلف ثبت شده باشد.

تغییر پورت SSH باعث مخفی شدن IP نمی‌شود.

فقط سرویس SSH دیگر روی پورت استاندارد خود قرار ندارد.


آیا تغییر پورت SSH جلوی Exploit را می‌گیرد؟

خیر.

اگر یک آسیب‌پذیری واقعی در نسخه SSH یا سیستم‌عامل شما وجود داشته باشد، تغییر پورت لزوماً آن آسیب‌پذیری را برطرف نمی‌کند.

فرض کنید نسخه‌ای از یک نرم‌افزار آسیب‌پذیر باشد.

تغییر:

Port 22

به:

Port 45678

کد آسیب‌پذیر را اصلاح نمی‌کند.

به همین دلیل بروزرسانی OpenSSH، سیستم‌عامل و بسته‌های امنیتی همچنان ضروری است.


آیا پورت غیرمعمول برای SSH انتخاب کنیم؟

اگر تصمیم دارید SSH را از پورت 22 منتقل کنید، می‌توانید یک پورت غیرمعمول انتخاب کنید.

اما بهتر است از پورت‌هایی که احتمال دارد سرویس دیگری از آن‌ها استفاده کند دوری کنید.

همچنین بهتر است شماره پورت را در مستندات مدیریت سرور ثبت کنید.

مثلاً:

SSH Port: 22022
Server: VPS-01
OS: Ubuntu

این موضوع ساده به نظر می‌رسد، اما در مدیریت چندین VPS بسیار مهم است.


تغییر پورت SSH چه زمانی ارزش بیشتری دارد؟

تغییر پورت بیشتر زمانی مفید است که هدف شما کاهش اسکن‌ها و درخواست‌های غیرضروری باشد.

برای مثال اگر در لاگ‌های سرور دائماً تلاش‌هایی مانند:

Failed password for root

مشاهده می‌کنید، انتقال SSH به یک پورت غیرمعمول می‌تواند حجم بخشی از این درخواست‌های خودکار را کاهش دهد.

اما اگر هدف شما مقابله جدی با حملات است، باید سراغ لایه‌های دیگر امنیت نیز بروید.


آیا تغییر پورت SSH ضروری است؟

خیر.

یک VPS می‌تواند حتی با SSH روی پورت 22 به‌درستی امن شود.

مثلاً:

SSH Port: 22
SSH Key: فعال
Password Login: غیرفعال
Root Login: محدود
Firewall: فعال
Fail2Ban: فعال
System Updates: فعال

در چنین شرایطی، صرفاً قرار داشتن SSH روی پورت 22 به معنی ناامن بودن سرور نیست.

از طرف دیگر، تغییر پورت SSH نیز می‌تواند یک لایه تکمیلی و کم‌هزینه باشد.


پس تغییر پورت SSH خوب است یا بی‌فایده؟

اگر بخواهیم موضوع را دقیق و بدون اغراق بیان کنیم:

تغییر پورت SSH نه یک راهکار امنیتی بی‌فایده است و نه راه‌حل اصلی امنیت VPS.

این کار می‌تواند:

  • اسکن‌های ساده را کاهش دهد.
  • بخشی از ربات‌های خودکار را دور کند.
  • حجم برخی لاگ‌ها را کاهش دهد.
  • سطح نویز روی سرویس SSH را کمتر کند.

اما نمی‌تواند:

  • SSH را غیرقابل شناسایی کند.
  • Brute Force را به‌طور کامل متوقف کند.
  • آسیب‌پذیری نرم‌افزار را برطرف کند.
  • جایگزین SSH Key شود.
  • جایگزین Firewall شود.
  • جایگزین بروزرسانی سرور شود.

بنابراین بهترین نگاه این است که تغییر پورت را یکی از لایه‌های Hardening SSH بدانیم.


جدول مقایسه روش‌های مختلف امن‌سازی SSH

روش هدف اصلی
تغییر پورت SSH کاهش اسکن‌های ساده و نویز
SSH Key تقویت احراز هویت
غیرفعال کردن Password Login کاهش حملات مبتنی بر رمز عبور
محدود کردن Root Login کاهش سطح دسترسی مستقیم
Firewall محدود کردن دسترسی شبکه
Fail2Ban مقابله با تلاش‌های تکراری
بروزرسانی سیستم رفع آسیب‌پذیری‌های شناخته‌شده
محدود کردن IP کاهش تعداد منابع مجاز برای اتصال
مانیتورینگ لاگ‌ها شناسایی رفتار مشکوک
MFA در سناریوهای پشتیبانی‌شده اضافه کردن لایه احراز هویت

نکته مهم این است که این موارد جایگزین کامل یکدیگر نیستند و هرکدام یک بخش متفاوت از امنیت SSH را پوشش می‌دهند.


اشتباهات رایج درباره تغییر پورت SSH

اشتباه اول: پورت 22 ناامن است

خود پورت 22 ناامن نیست.

SSH برای کار روی همین پورت طراحی شده و استفاده از پورت استاندارد به‌تنهایی نشانه ضعف امنیتی نیست.


اشتباه دوم: پورت 2222 هک نمی‌شود

این تصور اشتباه است.

هر پورتی که SSH روی آن فعال باشد، در صورت شناسایی می‌تواند مورد هدف قرار بگیرد.


اشتباه سوم: با تغییر پورت دیگر نیازی به Firewall نیست

کاملاً اشتباه است.

Firewall همچنان یکی از اجزای مهم کنترل دسترسی شبکه است.


اشتباه چهارم: تغییر پورت جای SSH Key را می‌گیرد

خیر.

تغییر پورت فقط محل سرویس را تغییر می‌دهد؛ SSH Key روش احراز هویت را تقویت می‌کند.


اشتباه پنجم: بعد از تغییر پورت می‌توان سیستم را آپدیت نکرد

این کار خطرناک است.

اگر آسیب‌پذیری امنیتی در SSH یا سیستم‌عامل وجود داشته باشد، تغییر پورت آن را برطرف نمی‌کند.


یک سناریوی پیشنهادی برای امن کردن VPS لینوکس

فرض کنید یک VPS جدید با Ubuntu در اختیار دارید.

یک رویکرد مرحله‌ای می‌تواند چنین باشد:

VPS جدید
   ↓
بروزرسانی سیستم
   ↓
ساخت کاربر مدیریتی
   ↓
تنظیم SSH Key
   ↓
تست ورود با SSH Key
   ↓
تنظیم Firewall
   ↓
تغییر پورت SSH
   ↓
تست پورت جدید
   ↓
محدود کردن Root Login
   ↓
غیرفعال کردن Password Login
   ↓
فعال‌سازی محافظت در برابر Brute Force
   ↓
بررسی Logها

این ساختار بسیار منطقی‌تر از این است که تنها:

Port 22 → Port 2222

را انجام دهید و تصور کنید سرور کاملاً امن شده است.


قبل از تغییر پورت SSH این چک‌لیست را بررسی کنید

قبل از اجرای تغییرات، موارد زیر را بررسی کنید:

  • دسترسی به VPS دارید.
  • SSH فعلی کار می‌کند.
  • به Console یا KVM سرور دسترسی دارید.
  • پورت جدید را انتخاب کرده‌اید.
  • پورت جدید توسط سرویس دیگری استفاده نمی‌شود.
  • Firewall را بررسی کرده‌اید.
  • SSH Key در صورت استفاده تست شده است.
  • اتصال SSH فعلی را نبسته‌اید.
  • فایل تنظیمات SSH را بررسی کرده‌اید.
  • sshd -t بدون خطا اجرا شده است.
  • اتصال با پورت جدید را از یک Terminal جدا تست کرده‌اید.

این چند مرحله ساده می‌تواند از یکی از بدترین اتفاقات ممکن جلوگیری کند:

قطع شدن دسترسی خودتان به VPS.


آیا تغییر پورت SSH برای همه VPSها لازم است؟

خیر.

اگر یک سرور سازمانی یا VPS حساس دارید، بهتر است به جای تمرکز بیش از حد روی شماره پورت، معماری دسترسی SSH را بررسی کنید.

برای مثال:

VPN
↓
Firewall
↓
SSH
↓
SSH Key
↓
User محدود

در چنین معماری‌ای، دسترسی SSH فقط از شبکه مشخصی امکان‌پذیر است.

این مدل معمولاً کنترل بیشتری نسبت به باز گذاشتن SSH برای کل اینترنت ایجاد می‌کند.


بهترین روش برای امنیت SSH چیست؟

یک «ترفند جادویی» وجود ندارد.

امنیت SSH نتیجه چند اقدام مختلف است.

اگر بخواهیم یک VPS معمولی را در نظر بگیریم، موارد مهم عبارت‌اند از:

۱. سیستم‌عامل به‌روز

۲. SSH Key

۳. رمزهای قوی

۴. محدود کردن دسترسی root

۵. غیرفعال کردن Password Authentication در صورت امکان

۶. Firewall

۷. کنترل تلاش‌های ناموفق

۸. مانیتورینگ لاگ‌ها

۹. محدود کردن IPهای مجاز در صورت امکان

۱۰. تغییر پورت SSH به‌عنوان یک لایه تکمیلی

این ترکیب امنیتی بسیار منطقی‌تر از تکیه بر یک تغییر ساده در شماره پورت است.


جمع‌بندی: آیا تغییر پورت SSH واقعاً امنیت VPS را بیشتر می‌کند؟

در نهایت باید بین دو موضوع تفاوت قائل شویم.

اگر سؤال این باشد:

«آیا تغییر پورت SSH می‌تواند تعداد اسکن‌ها و تلاش‌های خودکار ساده را کاهش دهد؟»

بله، می‌تواند.

اما اگر سؤال این باشد:

«آیا تغییر پورت SSH به‌تنهایی VPS من را امن می‌کند؟»

خیر.

تغییر پورت SSH یک روش ساده و کم‌هزینه برای کاهش بخشی از اسکن‌های خودکار است، اما نباید آن را جایگزین روش‌های اصلی امنیت سرور دانست.

اگر SSH روی پورت 22 باشد ولی از SSH Key، Firewall، سیستم‌عامل به‌روز، محدود کردن دسترسی، کنترل Root Login و سیاست مناسب احراز هویت استفاده کنید، همچنان می‌توانید یک پیکربندی امنیتی مناسب داشته باشید.

از طرف دیگر، اگر SSH را به پورت 30000 منتقل کنید ولی رمز عبور ضعیف داشته باشید، Password Login فعال باشد و Firewall و بروزرسانی‌ها را جدی نگیرید، تغییر پورت مشکل اصلی را حل نمی‌کند.

بنابراین بهترین جمله برای به خاطر سپردن این است:

تغییر پورت SSH یک لایه امنیتی کوچک است؛ امنیت واقعی VPS از مجموعه‌ای از تنظیمات درست ایجاد می‌شود.

اگر VPS جدیدی تهیه کرده‌اید، بهتر است به جای تمرکز صرف روی تغییر پورت، یک فرآیند کامل Hardening سرور لینوکس انجام دهید.

برای یک سرور لینوکسی معمولی، ترکیب زیر نقطه شروع مناسبی است:

SSH Key
+
Firewall
+
Password Authentication محدود/غیرفعال
+
Root Login محدود
+
بروزرسانی منظم
+
Brute Force Protection
+
Log Monitoring
+
تغییر پورت SSH

در این حالت تغییر پورت SSH جایگاه واقعی خودش را پیدا می‌کند: یک لایه تکمیلی در کنار سایر اقدامات امنیتی، نه یک راه‌حل جادویی برای جلوگیری از هک VPS.

سوالات متداول

آیا تغییر پورت SSH ضروری است؟

خیر. ضروری نیست، اما می‌تواند برای کاهش اسکن‌های ساده و تلاش‌های خودکار مفید باشد.

آیا پورت 22 ناامن است؟

خیر. پورت 22 پورت استاندارد SSH است و ناامن بودن سرور صرفاً به استفاده از این پورت ارتباط ندارد.

بهترین پورت برای SSH چیست؟

پورت جادویی یا «امن‌ترین پورت SSH» وجود ندارد. انتخاب پورت غیرمعمول می‌تواند اسکن‌های ساده را کاهش دهد، اما امنیت اصلی به احراز هویت و کنترل دسترسی بستگی دارد.

آیا تغییر پورت SSH جلوی Brute Force را می‌گیرد؟

خیر. اگر مهاجم پورت جدید را پیدا کند، می‌تواند همان حملات را روی آن انجام دهد.

آیا استفاده از SSH Key بهتر از تغییر پورت است؟

این دو کار هدف متفاوتی دارند، اما SSH Key مستقیماً روی روش احراز هویت تأثیر می‌گذارد، در حالی که تغییر پورت فقط محل سرویس SSH را تغییر می‌دهد.

آیا بعد از تغییر پورت باید Firewall را هم تغییر دهیم؟

اگر Firewall دسترسی پورت SSH را کنترل می‌کند، باید مطمئن شوید پورت جدید مجاز است؛ در غیر این صورت ممکن است دسترسی SSH قطع شود.

آیا می‌توان SSH را روی پورت 2222 قرار داد؟

بله، در صورتی که آن پورت برای سرویس دیگری استفاده نشده باشد و Firewall و تنظیمات SSH نیز مطابق آن پیکربندی شوند.

آیا تغییر پورت باعث مخفی شدن SSH می‌شود؟

خیر. سرویس SSH همچنان در صورت اسکن مناسب می‌تواند شناسایی شود.

آیا تغییر پورت SSH روی سرعت سرور تأثیر دارد؟

در حالت عادی تغییر شماره پورت تأثیر محسوسی روی سرعت SSH یا عملکرد VPS ندارد.

برای امن کردن VPS چه کاری مهم‌تر از تغییر پورت SSH است؟

استفاده از روش احراز هویت قوی، SSH Key، Firewall، بروزرسانی سیستم و محدود کردن دسترسی‌ها از اجزای مهم Hardening سرور هستند.

آیا می‌توان Password Authentication را غیرفعال کرد؟

بله، در صورتی که ابتدا یک روش ورود جایگزین و آزمایش‌شده، مانند SSH Key، داشته باشید.

آیا تغییر پورت SSH جلوی Exploit را می‌گیرد؟

خیر. اگر آسیب‌پذیری نرم‌افزاری وجود داشته باشد، تغییر شماره پورت آن را برطرف نمی‌کند.

آیا باید پورت SSH را مرتباً تغییر داد؟

معمولاً چنین کاری ضروری نیست. بهتر است روی کنترل دسترسی، احراز هویت و بروزرسانی تمرکز شود.

آیا تغییر پورت SSH برای VPS ایران هم کاربرد دارد؟

بله. اصل موضوع به محل دیتاسنتر وابسته نیست و برای هر VPS متصل به اینترنت می‌تواند به کاهش بخشی از اسکن‌های ساده کمک کند.

آیا تغییر پورت SSH به تنهایی برای امنیت VPS کافی است؟

خیر. این کار فقط یک لایه کوچک از Hardening سرور است و نباید جایگزین سایر اقدامات امنیتی شود.

این آموزش برایت مفید بود؟ می‌توانی لینک آن را ذخیره یا برای دیگران ارسال کنی.

mahan

نویسنده مجله ایرانیکاسرور؛ منتشرکننده آموزش‌ها و راهنماهای کاربردی در حوزه هاست، سرور، وردپرس و شبکه.

برای اجرای آموزش به زیرساخت نیاز داری؟

سرویس مرتبط را ببین؛ معرفی خدمات در این بخش کوتاه نگه داشته شده تا تمرکز اصلی صفحه روی آموزش باقی بماند.

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

دیدگاه‌ها

0 دیدگاه برای این مطلب ثبت شده است.

هنوز دیدگاهی ثبت نشده است؛ اگر سؤال یا تجربه‌ای درباره این آموزش داری، همین‌جا بنویس. پاسخ‌های مدیریت و کاربران به‌صورت مشخص از هم تفکیک می‌شوند.

دیدگاه یا سؤال خود را بنویسید

ایمیل شما منتشر نمی‌شود. فیلدهای ضروری مشخص شده‌اند.