Secure Shell یا همان SSH راهی بسیار متداول برای مدیریت، نظارت و انجام دستورات روی سرور لینوکس برای مدیران IT و یا کاربران لینوکس است، بسیاری از برنامه های مدیریتی لینوکس هم از این پروتکل برای ارتباط با لینوکس از راه دور استفاده می کنند.
SSH فقط برای دیدن کنسول لینوکس از راه دور نیست، بواسطه آن می توان انتقال فایل انجام داد، تانلی بین لینوکس با کامپیوتر خود برقرار کرد و یا می توانید از راه دور فایل سیستم لینوکس خود را mount کنید. امکاناتی که از طرفی بسیار جذاب و کارا و از طرفی در صورت نبود و یا ضعف امنیت، بسیار خطرناک هستند. SSH به نوبه خود پروتکل امنی است اما بواسطه تنضیمات، نحوه پیاده سازی و یا نسخه مورد استفاده ممکن است باگ های امنیتی نیز داشته باشد.
OpenSSH یک پیاده سازی رایگاه و کدباز از SSH است که بسیاری از لینوکس ها از این برنامه برای برقرار ارتباط SSH استفاده می کنند، در ادامه ۵ نکته مهم برای امن نگهداشتن این برنامه را بررسی خواهیم کرد.
** ایزو های استریسک همچون Elastix, AsteriskNow, Freepbx, IcrediblePBX نیز در درون خود از OpenSSH برای پیاده سازی SSH استفاده می کنند و به طور پیش فرض این نسخه پیاده سازی شده می تواند دارای حفره های امنیتی باشد و رعاین نکات امنیتی برای شما که از این ایزو ها برای پیاده سازی سیستم تلفنی ویپ خود استفاده می کنید، الزامی است.
برای این منظور کافی است شماره پورت را در فایل /etc/ssh/sshd_config به پورت دیگری تغییر دهید، برای ویرایش فایل می توانید از برنامه Winscp استفاده نمایید و یا بر روی کنسول لینوکس از ویرایش گر vi بهره ببرید، در مرحله بعد کافی است در putty یا winscp برای اتصال پورت جدید را تعیین کنید.
/etc/ssh/sshd_config
#port=22
port=7070
از هر کاربری به غیر از root برای کار با SSH استفاده کنید و بعد از اتصال با دستور su کاربر خود را به root تغییر دهید، برای بستن دسترسی root از طریق SSH می بایست فایل زیر را ویرایش و دستور زیر را قرا دهید.
/etc/ssh/sshd_config
PermitRootLogin no
به جای رمز از کلید های public/private برای احراز هویت استفاده کنید. (برای این منظرو این کلید ها باید بر روی سرور ایجاد شوند و نسخه کلاینت به برنامه سمت کاربر داده شود، کمی پر دردسر است اما برای جاهای با امنیت بسیار بالا می تواند بسیار مفید باشد). برای فعال سازی فایل زیر را ویرایش و دستور زیر را وارد نمایید.
/etc/ssh/sshd_config
PasswordAuthentication no
تعیین نمایید که چه کاربری بتواند با SSH دسترسی داشته باشد و مجوز های دسترسی چه باشد، همچنین تعیین کنید چه کاربرانی دسترسی نداشته باشند. این امر برای گروه های کاربری لینوکس نیز صادق است.
-Allow specific User:
/etc/ssh/sshd_config
AllowUsers haamed xyz
-Deny Specific User:
/etc/ssh/sshd_config
DenyUsers haamed xyz
-Allow Specific Groups:
/etc/ssh/sshd_config
AllowGroups voipiran xyz
-Deny Specific Groups:
/etc/ssh/sshd_config
DenyGroups voipiran xyz
به طور خاص مناسب سرور هایی است که دارای چندین کارت شبکه هستند، می توانید دسترسی SSH را فقط برای برخی درگاه ها و از طریق محدوده IP Address آنها باز کنید.
/etc/ssh/sshd_config
ListenAddress 192.168.10.100
ListenAddress 127.0.0.1
SaaS چیست؟ بررسی جامع نرمافزار بهعنوان سرویس و مزایای آن در دنیای فناوری اطلاعات، مدلهای…
در دنیای ارتباطات راه دور و شبکههای VoIP، اصطلاح Softswitch یکی از مفاهیم کلیدی است. Softswitch یک سیستم نرمافزاری…
Asterisk بهعنوان یکی از محبوبترین پلتفرمهای تلفن تحت شبکه (VoIP)، ابزارهای قدرتمند و متنوعی را…
در سیستمهای تلفنی سنتی و مدرن، مفاهیمی مانند FXS و FXO نقشی کلیدی در ارتباطات آنالوگ و دیجیتال ایفا…
در دنیای پیچیده فناوری اطلاعات و برنامهنویسی، یافتن سریع اطلاعات دقیق و ابزارهای موردنیاز از…
MagnusBilling چیست؟ MagnusBilling یک سیستم بیلینگ VoIP با ویژگیهای قدرتمند و انعطافپذیر است که امکان…