Secure Shell یا همان SSH راهی بسیار متداول برای مدیریت، نظارت و انجام دستورات روی سرور Linux برای مدیران IT و یا کاربران Linux است، بسیاری از برنامه‌های مدیریتی Linux هم از این پروتکل برای ارتباط با Linux از راه دور استفاده می کنند. SSH فقط برای دیدن کنسول Linux از راه دور نیست، به واسطه آن می‌توان انتقال فایل انجام داد، می‌توان بین Linux با کامپیوتر خود برقرار کرد و یا می‌توانید از راه دور فایل سیستم Linux خود را mount کنید. امکاناتی که از طرفی بسیار جذاب و کارا و از طرفی در صورت نبود و یا ضعف امنیت، بسیار خطرناک هستند. SSH به نوبه خود پروتکل امنی است اما به واسطه تنظیمات، نحوه پیاده‌سازی و یا نسخه مورد استفاده ممکن است BUGهای امنیتی نیز داشته باشد. OpenSSH یک پیاده‌سازی رایگان و کدباز از SSH است که بسیاری از Linuxها از این برنامه برای برقرار ارتباط SSH استفاده می‌کنند، در ادامه 5 نکته مهم برای امن نگهداشتن این برنامه را بررسی خواهیم کرد:


ISOهای Asterisk همچون Elastix, AsteriskNow, Freepbx, IcrediblePBX نیز در درون خود از OpenSSH برای پیاده‌سازی SSH استفاده می کنند و به طور پیش فرض این نسخه پیاده‌سازی شده می‌تواند دارای حفره‌های امنیتی باشد و رعاین نکات امنیتی برای شما که از این ISOهای برای پیاده‌سازی سیستم تلفنی VOIP خود استفاده می‌کنید، الزامی است.

 

 نکته اول: پورت پیش فرض SSH را تغییر دهید.

     برای این منظور کافی است شماره پورت را در فایل /etc/ssh/sshd_config به پورت دیگری تغییر دهید، برای ویرایش فایل می‌توانید از برنامه Winscp استفاده نمایید و یا بر روی کنسول Linux از ویرایش گر vi بهره ببرید، در مرحله بعد کافی است در putty یا winscp برای اتصال پورت جدید را تعیین کنید.

/etc/ssh/sshd_config

#port=22


port=7070

 

نکته دوم: دسترسی به SSH با کاربر root را مسدود کنید.

     از هر کاربری به غیر از root برای کار با SSH استفاده کنید و بعد از اتصال با دستور su کاربر خود را به root تغییر دهید، برای بستن دسترسی root از طریق SSH می بایست فایل زیر را ویرایش و دستور زیر را قرا دهید.

/etc/ssh/sshd_config
PermitRootLogin no

 

نکته سوم: احراز هویت به واسطه رمز را غیر فعال کنید.

     به جای رمز از کلیدهای public/private برای احراز هویت استفاده کنید. (برای این منظور این کلیدها باید بر روی سرور ایجاد شوند و نسخه client به برنامه سمت کاربر داده شود، کمی پر دردسر است اما برای جاهای با امنیت بسیار بالا می‌تواند بسیار مفید باشد). برای فعال‌سازی فایل زیر را ویرایش و دستور زیر را وارد نمایید.

/etc/ssh/sshd_config
PasswordAuthentication no 

 

نکته چهارم: دسترسی به سرور را برای کاربران خاص باز و برخی کاربران محدود کنید.

     تعیین نمایید که چه کاربری بتواند با SSH دسترسی داشته باشد و مجوزهای دسترسی چه باشد، همچنین تعیین کنید چه کاربرانی دسترسی نداشته باشند. این امر برای گروه‌های کاربری Linux نیز صادق است.

-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 را برای یک درگاه شبکه خاص ببندید.

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

/etc/ssh/sshd_config
ListenAddress 192.168.10.100
ListenAddress 127.0.0.1 

 

منبع: VOIPIRAN