Categories: امنیت (Security)

۵ نکته برای امن کردن برنامه OpenSSH

 Secure Shell  یا همان SSH راهی بسیار متداول برای مدیریت، نظارت و انجام دستورات روی سرور لینوکس برای مدیران IT و یا کاربران لینوکس است، بسیاری از برنامه های مدیریتی لینوکس هم از این پروتکل برای ارتباط با لینوکس از راه دور استفاده می کنند.

SSH فقط برای دیدن کنسول لینوکس از راه دور نیست، بواسطه آن می توان انتقال فایل انجام داد، تانلی بین لینوکس با کامپیوتر خود برقرار کرد و یا می توانید از راه دور فایل سیستم لینوکس خود را mount کنید. امکاناتی که از طرفی بسیار جذاب و کارا و از طرفی در صورت نبود و یا ضعف امنیت، بسیار خطرناک هستند. SSH به نوبه خود پروتکل امنی است اما بواسطه تنضیمات، نحوه پیاده سازی و یا نسخه مورد استفاده ممکن است باگ های امنیتی نیز داشته باشد.

OpenSSH یک پیاده سازی رایگاه و کدباز از SSH است که بسیاری از لینوکس ها از این برنامه برای برقرار ارتباط SSH استفاده می کنند، در ادامه ۵ نکته مهم برای امن نگهداشتن این برنامه را بررسی خواهیم کرد.

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

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

     برای این منظور کافی است شماره پورت را در فایل /etc/ssh/sshd_config به پورت دیگری تغییر دهید، برای ویرایش فایل می توانید از برنامه Winscp استفاده نمایید و یا بر روی کنسول لینوکس از ویرایش گر 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 برای احراز هویت استفاده کنید. (برای این منظرو این کلید ها باید بر روی سرور ایجاد شوند و نسخه کلاینت به برنامه سمت کاربر داده شود، کمی پر دردسر است اما برای جاهای با امنیت بسیار بالا می تواند بسیار مفید باشد). برای فعال سازی فایل زیر را ویرایش و دستور زیر را وارد نمایید.

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

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

/etc/ssh/sshd_config
ListenAddress 192.168.10.100
ListenAddress 127.0.0.1

حامد کوه فلاح

متخصص، برنامه نویس و مدرس Asterisk و راهکارهای نوین ارتباطی آشنایی و کار با استریسک و راهکار های مشابه از سال 1382، پایه گذاری VOIPIRAN ارائه راهکار های کدباز VOIP همچون VAAK و VOIZ و CONNEXO همکار برنامه نویسی و آموزش با پروژه های Elastix و Issabel با بیش از 3000 دانشجو از سال 1387

Share
Published by
حامد کوه فلاح

Recent Posts

SaaS چیست؟ بررسی جامع، مزایا

SaaS چیست؟ بررسی جامع نرم‌افزار به‌عنوان سرویس و مزایای آن در دنیای فناوری اطلاعات، مدل‌های…

1 روز ago

Softswitch چیست؟ ستون اصلی شبکه‌های VoIP و نحوه طبقه‌بندی آن‌ها

در دنیای ارتباطات راه دور و شبکه‌های VoIP، اصطلاح Softswitch یکی از مفاهیم کلیدی است. Softswitch یک سیستم نرم‌افزاری…

4 روز ago

مدیریت Asterisk از طریق کنسول مثل یک حرفه ای: ابزارها و نکات

Asterisk به‌عنوان یکی از محبوب‌ترین پلتفرم‌های تلفن تحت شبکه (VoIP)، ابزارهای قدرتمند و متنوعی را…

7 روز ago

آشنایی با مفاهیم FXS و FXO در سیستم‌های VoIP

در سیستم‌های تلفنی سنتی و مدرن، مفاهیمی مانند FXS و FXO نقشی کلیدی در ارتباطات آنالوگ و دیجیتال ایفا…

1 هفته ago

Devv.ai: موتور جستجوی هوشمند برای توسعه‌دهندگان و متخصصان IT

در دنیای پیچیده فناوری اطلاعات و برنامه‌نویسی، یافتن سریع اطلاعات دقیق و ابزارهای موردنیاز از…

2 هفته ago

راهنمای کامل MagnusBilling: ویژگی‌ها، مزایا و نصب روی ایزابل ۵

MagnusBilling چیست؟ MagnusBilling یک سیستم بیلینگ VoIP با ویژگی‌های قدرتمند و انعطاف‌پذیر است که امکان…

2 هفته ago