آموزش ۷ روش ایمن کردن SSH
آموزش ایمن کردن SSH برای کسانی که از این پروتکل جهت برقراری ارتباط بین کامپیوترها یا ارتباط با سرور استفاده میکنند ضروری است. در واقع تأمین امنیت دادهها در طول فرآیند انتقال یا ذخیرهسازی دادهها را میتوانید با استفاده از SSH و ایمن کردن آن انجام دهید. در این مطلب هاست ایران درباره اینکه SSH چیست؟ و چطور میتوان این پروتکل را امن کرد نکاتی که باید بدانید را ارائه کردهایم.
SSH چیست؟
SSH که به نامهای Secure Shell یا Secure Socket Shell هم شناخته میشود، یک پروتکل شبکه است که امکان دسترسی امن به رایانه از طریق شبکه را برای مدیران سرور و کاربران فراهم میکند. مدیران سرور با کمک این پروتکل میتوانند از راه دور و از طریق تونلهای امن با شبکه ارتباط برقرار کنند. این ارتباط امن با کمک رمز عبور قوی، کلید عمومی و ارتباطات رمزنگاری انجام میشود.
موارد استفاده از SSH
SSH در تمام مراکز داده وجود دارد و روی سرورها و سیستمهای یونیکس، لینوکس و مک امکان استفاده از آن وجود دارد. همچنین از این پروتکل برای مدیریت روترها، سختافزار سرور، پلتفرمهای مجازیسازی و برقراری ارتباط با سیستم عاملهای مختلف استفاده میشود. با وجود اینکه SSH نقش مهمی در مدیریت دسترسیها دارد، اما کاربرد آن از احراز هویت و برقراری یک اتصال رمزگذاری شده فراتر است. از جمله کاربرهای این پروتکل میتوان به موارد زیر اشاره کرد.
- فراهم کردن دسترسی ایمن برای کاربران و فرآیندهای خودکار
- انتقال فایلها به صورت ایمن
- صدور دستورات از راه دور
- مدیریت زیرساخت شبکه و سایر اجزای سیستم مهم سرور
اقدامات رایج برای ایمن سازی SSH
برخی از اقدامات رایج برای ایمن سازی SSH میتوانید انجام دهید عبارتاند از:
- استفاده از کلیدهای SSH به جای استفاده از رمز عبور SSH برای احراز هویت
- فعال کردن احراز هویت دو عاملی برای ورود به سیستم
- غیرفعال کردن ورود با رمز عبور صرفاً استفاده از کلیدهای SSH برای احراز هویت
- به روز نگه داشتن نرم افزار SSH و استفاده از آخرین نسخه نرم افزار SSH
- تنظیم فایروال برای مسدود کردن دسترسی به پورت SSH از آدرسهای IP ناشناخته
- غیرفعال کردن یا حذف کردن حسابهای کاربری غیرضروری
- استفاده از رمزهای عبور قوی و منحصر به فرد برای هر حساب کاربری
نحوه ایمن کردن SSH
برای ایمن سازی سرورهای لینوکسی با کمک ssh باید بدانید که این پروتکل برای دسترسی ریموت به سرورهای لینوکسی استفاده میشود. اگر امکان استفاده از این پروتکل را نداشته باشید میتوانید به جای آن از remote desktop استفاده کنید. برای افزایش امنیت این پروتکل میتوانید روشهای زیر را مد نظر داشته باشید.
۱) رفع مشکلات امنیتی پروتکل SSH نسخه ۱
پروتکل SSH نسخه ۱ دارای مشکلات امنیتی متعددی است و آسیب پذیری های زیادی دارد. برای رفع این مشکل میتوانید تنها به کاربران خاصی اجازه دسترسی به سرور را بدهید. محدود کردن دسترسی کاربران و اجازه داده به آنها جهت وارد کردن دستورات خاص یا حذف و اضافه کردن فایلها را میتوانید با استفاده از دستور زیر در فایل sshd_config انجام دهید.
AllowUsers user1 user2
نکته: به جای user1 و user2 میتوانید نام کاربران دلخواهتان را وارد کنید.
۲) خارج شدن از SSH به صورت خودکار
برای اینکه امنیت پروتکل SSH را موقع دسترسی به سرور افزایش دهید، لازم است زمانبندی را برای سرور تعین کنید. تا زمانی که هیچ دستوری در سرور وارد نکردید یا قصد انجام کاری روی سرور نداشتید، باید تنظیمات Idle Log Out Timeout Interval را با استفاده از مقادیر زیر در sshd_config انجام دهید.
ClientAliveInterval 300
ClientAliveCountMax 0
۳) غیرفعال کردن اجرای فایل.rhosts
برای امنتر شدن پروتکل اس اس چ باید اجرای فایل.rhosts را غیرفعال کنید. برای این کار باید پارامتر زیر را در فایل sshd_config وارد کرده، یا دستور زیر را پیدا کرده و آن را به yes تغییر دهید.
IgnoreRhosts yes
۴) غیرفعال کردن Host-Based Authentication
با غیرفعال کردن Host-Based Authentication یعنی احراز هویت مبتنی بر میزبان نیز میتوانید امنیت پروتکل اس اس اچ را افزایش دهید. برای غیرفعال کردن Host-Based Authentication باید پارامتر زیر را در فایل sshd_config وارد و سپس آن را ذخیره کنید، یا مقدار yes را به no تغییر دهید. حتماً باید # ابتدایی را حذف کنید، تا این موضوع به درستی انجام شود.
HostbasedAuthentication no
۵) غیرفعال کردن وارد شدن به سیستم با یوزر روت
برای ایمن کردن SSH میتوانید وارد شدن به سیستم با یوزر روت را غیرفعال کنید. برای این کار میتوانید از دستور زیر استفاده کنید. توصیه میشود، تنها در صورتی که از سرور شخصی استفاده میکنید این کار را انجام دهید، تا مشکلی برای دسترسی به سرور نداشته باشید.
PermitRootLogin
۶) محدود کردن اتصال IP
برای ایمن سازی دسترسی به سرور میتوانید پورت SSH را تغییر داده و اتصال IP را محدود کنید. این روش یکی دیگر از مواردی است که کمکتان میکند تا دسترسی ایمنی به سرور داشته باشید.
۷) محدود کردن ورود به ssh از طریق IP
برای ایمن سازی ssh در لینوکس میتوانید از محدود کردن دسترسی ورود به ssh از طریق IP استفاده کنید. با این روش افرادی که احراز هویت نشدهاند نمیتوانند یوزر و پسوردتان را به دست بیاورند و به پروتکل شما نفوذ کنند.
چگونه میتوانیم پورت پیشفرض SSH را تغییر دهیم؟
چون پورت پیشفرض SSH (پورت ۲۲) موجب هدف حملات brute force میشود، باید آن را تغییر دهید. برای تغییر این پورت باید فایل تنظیمات SSH (/etc/ssh/sshd_config) را باز کرده و خط #Port 22 را پیدا کرده و آن را تغییر دهید. سپس باید سرویس SSH را مجدداً با کمک با دستور sudo systemctl restart sshd راهاندازی کنید.
سخن پایانی
اگر ایمن کردن SSH را انجام ندهید، امکان دارد که هکرها به ارتباط سرور از طریق این پروتکل نفوذ کنند. برای این کار لازم است که دسترسی افرادی که از این طریق به سرور دسترسی دارند را محدود کنید. در این مطلب هاست ایران درباره این پروتکل و نحوه ایمن سازی آن نکاتی که باید بدانید را ارائه کردهایم.
سرورهای هاست ایران جزء ایمنترین سرویسهای میزبانی وب محسوب میشوند و میتوانید دادههایتان را در امنیت کامل روی این سرورها نگه دارید کنید. همچنین، برای افزایش امنیت سرورهایتان میتوانید از تیم فنی و متخصصهاست ایران نیز کمک بگیرید و سروری امن برای ذخیره سازی دادههایتان داشته باشید.
سؤالات متداول
- ۱) چرا باید SSH را ایمن کنیم؟
برای جلوگیری از دسترسی غیرمجاز به سرورها و حفاظت از دادهها و منابع حیاتی سرورها باید ایمن کردن SSH را انجام دهید؛ زیرا هکرها میتوانند با دسترسی به SSH به راحتی کنترل سرور در دست گرفته و به دادههای حساس آن دسترسی پیدا کنند.
- ۲) بهترین راه ایمن سازی SSH چیست؟
محدود کردن دسترسی به SSH و چندمرحلهای کردن استفاده از این پروتکل، جزء بهترین روشها برای تأمین امنیت استفاده از SSH برای دسترسی به سرور است.