تغییر پورت SSH یکی از اقدامات مهم برای افزایش امنیت سرورهای لینوکسی است. با تغییر پورت پیشفرض SSH، میتوانید از حملات بروت فورس و تلاشهای نفوذ خودکار جلوگیری کنید. در این مقاله از ایران هاست، به صورت گامبهگام نحوه تغییر پورت SSH در سنتوس ۸ را توضیح خواهیم داد. ابتدا با تعریف و اهمیت SSH شروع میکنیم و سپس به مراحل عملی تغییر پورت میپردازیم.
تعریف و اهمیت SSH
پروتکل SSH (Secure Shell) یک پروتکل شبکهای است که برای ایجاد ارتباط امن بین دو کامپیوتر مورد استفاده قرار میگیرد. این پروتکل به کاربران اجازه میدهد تا به سرورهای لینوکس از راه دور متصل شوند و از راه دور فرمانها را اجرا کنند. لازم است ذکر کنیم که تنیطمات SSH از اهمیت زیادی برخوردار است؛ چرا که اطلاعات تبادل شده بین کاربر و سرور را رمزگذاری کرده و از طریق همین عملیات امنیت لازم برای برقراری ارتباط ریموت به سرور را فراهم میکند.
با استفاده از SSH، کاربران میتوانند بدون نیاز به حضور فیزیکی به سرورهای خود دسترسی داشته باشند. این ویژگی برای مدیران سیستم و توسعهدهندگان از کاربرد زیادی برخوردار است زیرا امکان مدیریت و پشتیبانی سرورها را از هر نقطهای در دنیا فراهم میکند. علاوه بر این، SSH امکاناتی مانند انتقال فایلها، tunneling و اجرای دستورات از راه دور را برای کاربران فراهم میکند که هم در کاربرد و هم امنیت سرور نقش بسزایی دارد.
برای خرید هاست لینوکس میتوانید از صفحه مربوطه در ایران هاست اقدام کنید.
ضرورت تغییر پورت پیشفرض SSH برای امنیت
تغییر پورت پیشفرض SSH یکی از روشهای مهم برای افزایش امنیت سرور است. پورت پیشفرض SSH، یعنی پورت ۲۲، یکی از اولین اهداف هکرها برای حملات بروت فورس (Brute Force) است. با تغییر این پورت به یک عدد دیگر، میتوانید سطح امنیت سرور خود را افزایش داده و از حملات خودکار جلوگیری کنید. این تغییر باعث میشود که اسکریپتها و ابزارهای خودکار نتوانند به راحتی سرور شما را مورد هدف قرار دهند.
طبق نظر متخصصان امنیتی، تغییر پورت پیشفرض یکی از سادهترین و موثرترین راههای کاهش احتمال نفوذ به سرور است. به عنوان مثال، مطالعهای از شرکت امنیتی SANS نشان داده است که تغییر پورت پیشفرض میتواند به میزان قابل توجهی حملات بروت فورس را کاهش دهد. این امر به دلیل این است که بسیاری از حملات خودکار فقط پورتهای پیشفرض را هدف قرار میدهند و با تغییر پورت، سرور شما از دید این ابزارها مخفی میماند.
پیشنیازها و آمادهسازیهای لازم برای تغییر پورت SSH
قبل از تغییر پورت SSH، لازم است مقدماتی را انجام دهید تا از صحت عملکرد اطمینان لازم را کسب کنید. در صورتی که مقدمات لازم برای تغییر پورت ssh مهیا باشد، سرور شما بدون مشکل به کار خود ادامه میدهد. در ادامه این مراحل را توضیح خواهیم داد. همراه با باشید.
تهیه نسخه بکآپ از تنظیمات
قبل از انجام هر گونه تغییر، لازم است از فایل تنظیمات SSH خود یک نسخه پشتیبان تهیه کنید. تهیه نسخه بکآپ از تنظیمات این امکان را فراهم میکند تا در صورت بروز هرگونه اختلال بتوانید سرور را به حالت اولیه برگردانید و از ادامه اختلال جلوگیری کنید. در صورتی که نسخه بکآپ تهیه نشود، با بروز اختلال در سرور، سایت یا اپلیکیشن شما هم مختل شده و از دسترسی کاربران شما خارج خواهد شد. برای تهیه نسخه بکآپ لازم است کامند زیر را در cmd پیادهسازی کنید.
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
بررسی پورتهای موجود
پس از تهیه نسخه بکآپ لازم است از صحت پورت مورد نظری که میخواهید جایگزین پورت ۲۲ کنید مطمئن شوید. برای این از این قضیه در cmd کامند زیر را وارد کنید تا ببینید آیا این پورت توسط کاربر دیگری مورد استفاده قرار گرفته است یا خیر. خواهد افتاد؛
sudo netstat -tuln | grep Listen | grep 5444
در این مرحله ابتدا پورت ۵۴۳۲ را امتحان خواهیم کرد تا اگر یک پورت توسط سایر نرمافزارها یا کامپیوترها مورد استفاده قرار گرفته باشد چه پیامی برای ما نمایش داده خواهد شد.
سپس پورت ۵۴۴۴ را امتحان میکنیم؛ sudo netstat -tuln | grep Listen | grep 5444. همانطور که میبینید با وارد کردن پورتی که توسط کامپیوتری دیگر مورد استفاده قرار نکرده باشد، پیام بالا را دریافت نخواهید کرد؛ به این معنی که این پورت آزاد است و میتوانید از آن استفاده کنید.
تنظیمات پورت جدید
به عنوان یکی از مقدمات مهم برای تغییر پورت پیش فرض، شما لازم دارید تا با استفاده از کامند زیر، از مسدود نبودن پورت جدید اطمینان پیدا کنید تا ترافیک روی آن ایجاد شود. برای اطمینان از بلاک نبودن پورت کامند زیر را وارد کنید.
sudo firewall-cmd –list-ports
تنظیم فایروال
در قدم بعدی لازم است فایروال سرور شما گونهای تنظیم شود که اجازه دسترسی به پورت جدید SSH را صادر کند. در غیر این صورت، بعد از تغییر پورت، قادر به اتصال به سرور نخواهید بود. برای تنظیم فایروال و ست کردن پورت جدید روی آن، میتوانید از کامند زیر استفاده کنید.
sudo firewall-cmd –permanent –zone=public –add-port=2222/tcp
sudo firewall-cmd –reload
آموزش مراحل تغییر پورت SSH
تغییر پورت SSH در سنتوس ۸ شامل چندین مرحله میشو د که لازم است به ترتیب صورت بگیرد. این مراحل شامل ویرایش فایل تنظیمات SSH، تغییر پورت، و تنظیم فایروال شده و به دقت زیادی برای اعمال نیاز دارند. با رعایت این مراحل، میتوانید اطمینان حاصل کنید که تغییر پورت سرور لینوکس سنتوس شما بدون مشکل نهایی خواهد شد. همراه ما باشید.
باز کردن فایل تنظیمات SSH
اگر جزء کاربرانی هستید که سیستمعامل سرور شما ویندوز است؛ لازم است با استفاده از نرمافزار Putty این تغییرات را لحاظ کرده و با سرور لینوکس ارتباط از راه دور برقرار کنید. پس از آن که موفق شدید وارد فایل تنظیمات SSH شوید؛ لازم است با وارد کردن دستور زیر به قسمت تنظیمات سرور دسترسی پیدا کنید.
sudo vi /etc/ssh/sshd_config
پیدا کردن خط مربوط به پورت
پس از وارد کردن دستور بالا، لازم است خط Port 22 را پیدا کرده و شماره پورت را به مقدار دلخواه خود تغییر دهید. مثلاً Port 2222. سپس تغییرات را ذخیره کرده و صفحه را ببندید.
اعمال تغییرات در فایروال
پس از تغییر پورت جدید در قسمت تنظیمات سرور؛ لازم است این پورت جایگزین را در فایروال را بهروز کنید تا پورت جدید در فایروال با مشکل خاصی روبهرو نشود
sudo firewall-cmd –permanent –zone=public –add-port=2222/tcp
sudo firewall-cmd –reload
راهاندازی مجدد سرویس SSH
سرویس SSH را مجدداً راهاندازی کنید تا تغییرات اعمال شوند. برای اعمال نهایی این تغییرات کافیست کامند زیر را وارد کنید؛
sudo systemctl restart sshd
بررسی مشکلات احتمالی در فرایند تغییر پورت SSH
تغییر پورت SSH ممکن است با چالشهایی همراه باشد که باید پیش از شروع کار به آنها توجه کنید. این چالشها ممکن است شامل مشکلات در تنظیم فایروال، در دسترس نبودن پورت جدید یا ناتوانی در اتصال به سرور بعد از تغییر پورت باشد. در ادامه به بررسی این مشکلات و راهحلهای ممکن میپردازیم تا مطمئن شوید که فرایند تغییر پورت به درستی انجام میشود.
عدم تنظیم صحیح فایروال
یکی از مشکلات رایج، عدم تنظیم صحیح فایروال است که ممکن است باعث شود فایروال اجازه دسترسی به پورت جدید را ندهد. برای اطمینان از این که پورت جدید باز است، میتوانید از دستورات زیر استفاده کرده و سپس با استفاده از دستور ss -tuln | grep 2222 میتوانید باز بودن پورت جدید را بررسی کنید.
sudo firewall-cmd –permanent –zone=public –add-port=2222/tcp
sudo firewall-cmd –reload
استفاده از پورتهای رزرو شده
برخی پورتها به صورت پیشفرض توسط سیستم رزرو شدهاند. برای اطمینان از این که پورت انتخابی شما مورد استفاده سرویس دیگری نیست، میتوانید از دستور netstat -tuln | grep [port] استفاده کنید. در صورت مشاهدهی خروجی، پورت مورد نظر توسط سرویس دیگری استفاده میشود و باید پورت دیگری انتخاب کنید.
مشکلات در اتصال
بعد از تغییر پورت، ممکن است نتوانید به سرور متصل شوید. در این صورت، میتوانید از کنسول مدیریتی سرور استفاده کرده و پورت را به حالت قبلی بازگردانید. این مشکل معمولاً به دلیل تنظیمات اشتباه فایروال یا عدم ذخیرهسازی صحیح تغییرات در فایل تنظیمات SSH رخ میدهد. در صورت بروز این مشکل، با استفاده از کنسول مدیریتی میتوانید تنظیمات را اصلاح کنید.
اطمینان از امنیت
برای اطمینان از امنیت بیشتر پس از تغییر پورت SSH، میتوانید از راهکارهای زیر برای افزایش امنیت پورت جدید خود استفاده کنید.
- استفاده از کلیدهای SSH: به جای استفاده از رمز عبور، از کلیدهای SSH برای احراز هویت استفاده کنید. این کار سطح امنیت را به میزان قابل توجهی افزایش میدهد.
- محدود کردن دسترسی به IPهای مشخص: با استفاده از فایروال یا تنظیمات SSH، دسترسی به سرور را به IPهای مشخص محدود کنید.
- فعالسازی فیلترهای fail2ban: این ابزار میتواند تلاشهای ناموفق برای ورود را شناسایی کرده و به صورت خودکار IPهای مشکوک را مسدود کند.
چرا باید پورتهای پیشفرض روی سرور لینوکس را تغییر دهید؟
تغییر پورتهای پیشفرض روی سرور لینوکس یک راه ساده اما مؤثر برای افزایش امنیت است. چون پورتهای پیشفرض مثل ۲۲ برای SSH، اولین هدف حملات خودکار و هکرها هستند. با عوض کردن این پورتها به یک عدد غیرمعمول، سرور شما کمتر در معرض دید مهاجمان قرار میگیرد و شانس موفقیت حملات به شدت کاهش پیدا میکند. این کار یک لایه اضافی از امنیت ایجاد میکند که در حفاظت از امنیت سرور شما نقش موثری را برعهده میگیرد.
افزایش امنیت
پورتهای پیشفرض مانند پورت ۲۲ برای SSH به خوبی شناخته شده و مورد هدف مهاجمان قرار میگیرند. با تغییر این پورتها، سرویسهای شما از اسکنهای خودکار پنهان میمانند و سطح حمله کاهش پیدا میکند. از آنجا که بسیاری از اسکریپتهای حمله خودکار روی پورتهای پیشفرض تمرکز دارند؛ زمانی که این پورتها را تغییر دهید، اسکریپتها مجبور به اسکن محدوده وسیعتری از پورتها میشوند که بیشتر آنها بهصورت کارآمدی برنامهریزی نشدهاند. این تغییر ساده میتواند تعداد حملات خودکار به سرور شما را کاهش داده و امنیت بالایی را در برابر این نوع از حملات برقرار کنند.
کاهش حملات Brute Force
حملات Brute Force با تلاشهای مکرر برای دسترسی به سرور (از طریق امتحان کردن گذرواژههای متفاوت) انجام میشود. این حملات معمولاً پورتهای پیشفرض را هدف قرار میدهند زیرا مهاجمان فرض میکنند سرویسهایی مانند SSH روی این پورتها اجرا میشوند. با تغییر پورت، شما پیچیدگی عملیات مهاجمان افزایش میدهید که منجر به دشوار شدن حمله به سرور شما خواهد شد.
جلوگیری از تداخل پورتها
از آن جا که سرویسهایی مانند سرورهای وب، سرورهای پایگاه داده و سرورهای برنامه اغلب از پورتهای خاصی استفاده میکنند؛ پیکربندی چندین سرویس برای استفاده از یک پورت منجربه ایجاد تداخل عملکردی آنها خواهد شد. به عبارتی وقتی چندین سرویس روی یک سرور اجرا میشوند، استفاده از پورتهای پیشفرض ممکن است منجر به تداخل شود. تغییر پورتها از این تداخل جلوگیری میکند و عملیات هر سرویس را به درستی تضمین میکند. در صورتی که چندین برنامه از پورتهای پیشفرض یکسان استفاده کنند، با تغییر پورت یکی از آنها به پورت دیگر، از تداخل را جلوگیری میشود.
بهبود مدیریت لاگها
لاگها میتوانند با تلاشهای ناموفق ورود به پورتهای پیشفرض پر شوند؛ با تغییر پورتها، این نویز را کاهش میدهید و تشخیص و پاسخ به حوادث امنیتی واقعی را آسانتر میکنید. با کاهش نویز در لاگها، مدیران میتوانند روی تهدیدات واقعی تمرکز کنند و به سناریویی موثر در برابر حملات مجهز شوند.
بهبود پیکربندی فایروال
فایروالها میتوانند به گونهای پیکربندی شوند که ترافیک را بر روی همه پورتها به جز چند پورت خاص مسدود کنند. با استفاده از پورتهای غیرپیشفرض، میتوانید قوانین فایروال را بهصورت دقیقتری ایجاد کنید که این اقدام با محدود کردن دسترسی به سرویسهای ضروری، امنیت را افزایش میدهند.
سفارشیسازی معماری شبکه
هر سازمان نیازهای خاص خود را دارد و تغییر پورتهای پیشفرض شرایطی را فراهم میکند که تنظیمات شبکه را متناسب با نیازهای امنیتی و عملیاتی خاص خود ایجاد کنید. این سفارشیسازی ایجاد شده کنترل دقیقی بر نحوه جریان ترافیک در شبکه خود داشته باشید، این تنظیمات میتواند عملکرد و امنیت را بهبود بخشد.
سوالات متداول
چرا باید پورت SSH را تغییر دهیم؟
تغییر پورت SSH به امنیت بیشتر سرور کمک میکند زیرا پورت پیشفرض ۲۲ معمولاً هدف حملات بروت فورس قرار میگیرد.
آیا تغییر پورت SSH به تنهایی کافی است؟
خیر، تغییر پورت تنها یکی از روشهای افزایش امنیت است و باید به همراه دیگر اقدامات امنیتی مانند استفاده از کلیدهای عمومی و خصوصی انجام شود.
چگونه مطمئن شویم پورت جدید توسط سرویس دیگری استفاده نمیشود؟
میتوانید از دستورات شبکهای مانند netstat یا ss برای بررسی پورتهای مورد استفاده در سیستم خود استفاده کنید.
آیا پس از تغییر پورت، نیاز به تغییر در تنظیمات کلاینت SSH داریم؟
بله، بعد از تغییر پورت باید در تنظیمات کلاینت SSH نیز پورت جدید را مشخص کنید. مثلاً در دستور ssh user@server -p 2222.