آموزش تغییر پورت SSH در لینوکس؛ راهنمای ارتقای امنیت سرور

برقراری امنیت در سرورهای لینوکسی یکی از نخستین و مهمترین اقدامات پس از راهاندازی زیرساخت است. بهصورت پیشفرض، پروتکل SSH از پورت ۲۲ برای برقراری ارتباط امن و مدیریت از راه دور استفاده میکند. از آنجا که این شماره پورت برای تمامی نفوذگران و رباتهای اسکنر شناختهشده است، سرورها همواره در معرض حملات Brute Force و تلاشهای مداوم برای حدس کلمه عبور قرار دارند.
یکی از سادهترین و در عین حال مؤثرترین راهکارها برای کاهش اینگونه حملات، تغییر پورت استاندارد SSH به یک شماره پورت اختصاصی است. در این مقاله، نحوه تغییر پورت SSH را بهصورت گامبهگام و جامع بررسی میکنیم.
چرا تغییر پورت استاندارد SSH اهمیت دارد؟
تغییر پورت پیشفرض بهتنهایی امنیت مطلق ایجاد نمیکند، اما به عنوان یک لایه دفاعی اولیه (مفهوم Security through Obscurity) بسیار کاربردی است. رباتهای مخرب بهصورت خودکار میلیونها آدرس IP را روی پورت ۲۲ اسکن میکنند تا سرورهای دارای ضعف امنیتی را شناسایی کنند.
با تغییر پورت ۲۲ به یک شماره پورت غیراستاندارد، بیشتر این اسکنهای خودکار ناکام میمانند. این کار حجم لاگهای سرور را بهشدت کاهش میدهد و بار پردازشی ناشی از تلاشهای ناموفق ورود را کم میکند.
الزامات و نکات پیش از تغییر پورت SSH
پیش از انجام هرگونه تغییر در تنظیمات شبکه و سرویس SSH، رعایت چند نکته اساسی برای جلوگیری از قطع دسترسی به سرور ضروری است:
- انتخاب شماره پورت مناسب: شماره پورت جدید باید در محدوده ۱۰۲۴ تا ۶۵۵۳۵ انتخاب شود و با سرویسهای فعال دیگر روی سرور تداخل نداشته باشد.
- باز نگهداشتن جلسه فعلی: جلسه (Session) فعلی ترمینال را تا زمان اطمینان کامل از صحت کارکرد پورت جدید نبندید.
- تنظیمات دیوار آتش: قبل از راهاندازی مجدد سرویس SSH، حتما شماره پورت جدید را در فایروال سرور مجاز کنید.
مراحل تغییر پورت SSH در لینوکس
برای اعمال این تغییرات، مراحل زیر را با دسترسی کاربر ریشه (root) یا دسترسی sudo انجام دهید:
۱. ویرایش فایل تنظیمات SSH
فایل اصلی تنظیمات سرویس SSH در مسیر /etc/ssh/sshd_config قرار دارد. این فایل را با یک ویرایشگر متنی مانند nano باز کنید:
sudo nano /etc/ssh/sshd_config
در داخل فایل، خط زیر را پیدا کنید:
#Port 22
علامت # را از ابتدای خط بردارید و شماره پورت مورد نظر خود (مثلا ۲۲۴۴) را جایگزین ۲۲ کنید:
Port 2244
تغییرات را ذخیره کرده و از ویرایشگر خارج شوید.
۲. تنظیم دیوار آتش (Firewall)
پیش از راهاندازی مجدد سرویس، باید پورت جدید را در فایروال باز کنید تا دسترسی شما مسدود نشود.
برای فایروال UFW (در توزیعهای اوبونتو و دبیان):
sudo ufw allow 2244/tcp sudo ufw reload
برای فایروال FirewallD (در توزیعهای ردهت، آلمالینوکس و راکی لینوکس):
sudo firewall-cmd --permanent --zone=public --add-port=2244/tcp sudo firewall-cmd --reload
۳. تنظیم قواعد SELinux (در صورت فعال بودن)
اگر از توزیعهای مبتنی بر Red Hat استفاده میکنید و SELinux روی سرور فعال است، باید پورت جدید را به سیاستهای SELinux معرفی کنید:
sudo semanage port -a -t ssh_port_t -p tcp 2244
۴. راه اندازی مجدد سرویس SSH
پس از اعمال تنظیمات و باز کردن پورت در فایروال، سرویس SSH را مجددا راهاندازی کنید تا تغییرات اعمال شوند:
sudo systemctl restart sshd
۵. تست و سنجش صحت عملکرد
بدون بستن پنجره فعلی ترمینال، یک پنجره جدید باز کرده و تلاش کنید از طریق پورت جدید به سرور متصل شوید:
ssh -p 2244 user@server_ip
در صورتی که اتصال با موفقیت برقرار شد، میتوانید پنجره قبلی را ببندید.
راهکارهای مکمل برای ایمنسازی دسترسی SSH
تغییر پورت تنها گام نخست در فرایند ایمنسازی سرور است. برای دستیابی به حداکثر امنیت در پروتکل SSH، اجرای اقدامات زیر توصیه میشود:
- غیرفعال کردن ورود با کلمه عبور: استفاده از کلیدهای عمومی و خصوصی (SSH Keys) به جای کلمه عبور، احراز هویت را بسیار ایمنتر میکند.
- مسدودسازی ورود مستقیم کاربر ریشه: ورود مستقیم به حساب root را در فایل
sshd_configغیرفعال کنید. - استفاده از ابزارهای شناسایی نفوذ: نصب و کانفیگ ابزارهایی مانند Fail2ban برای مسدودسازی خودکار IPهای مشکوک.
تثبیت امنیت سرور با پیکربندی صحیح پورتها
تغییر پورت پیشفرض SSH یک اقدام سریع، کمهزینه و بسیار موثر در راستای کاهش حملات سایبری روی سرورهای لینوکس است. با اجرای دقیق مراحل پیکربندی و حصول اطمینان از تنظیمات فایروال، میتوانید ریسک اسکنهای خودکار را به حداقل رسانده و زیرساخت خود را در برابر تهدیدات رایج مقاومتر سازید.
سوالات متداول
خیر، این اقدام تنها یک لایه دفاعی اولیه برای جلوگیری از اسکنهای خودکار و حملات رباتها است. برای تامین امنیت کامل باید اقداماتی نظیر استفاده از کلید SSH به جای کلمه عبور، غیرفعال کردن ورود کاربر root و استفاده از ابزارهایی مانند Fail2ban نیز انجام شود.
در اکثر موارد دلیل این اتفاق عدم تعریف پورت جدید در فایروال یا SELinux است. در صورت قطعی دسترسی، باید از طریق پنل مدیریتی هاستینگ به کنسول VNC یا LOM سرور متصل شده و فایروال را موقتا غیرفعال یا پورت جدید را در آن مجاز کنید.
توصیه میشود پورت جدید را از محدوده پورتهای سفارشی یا دینامیک، یعنی بین شمارههای ۱۰۲۴ تا ۶۵۵۳۵ انتخاب کنید تا با پورتهای رزروشده و استاندارد سایر سرویسها تداخل نداشته باشد.
خیر، تغییر شماره پورت هیچگونه تاثیر منفی یا مثبتی روی سرعت انتقال داده یا پردازش سرور ندارد و تنها مسیر ورود به سرویس را تغییر میدهد.
هنگام اتصال از طریق PuTTY، کافی است در فیلد Port به جای عدد پیشفرض ۲۲، شماره پورت جدیدی که تنظیم کردهاید را وارد کرده و سپس روی گزینه Open کلیک کنید.































شما میتوانید دیدگاه خود را در مورد این مطلب با ما با اشتراک بگذارید.