SSH چیست؟
SSH مخفف کلمه Secure Shell میباشد، SSH یک پروتکل برقراری ارتباط بر پایه TCP بصورت امن میباشد. در این پروتکل با استفاده از تکنولوژی رمز نگاری ارتباط بین سرویس دهنده و سرویس گیرنده بصورت امن برقرار میگردد تا سرویس گیرنده بتواند از طریق خط دستور Shell دستورات مورد نیاز خود را روی سرویس دهنده یا همان سرور اجرا کنند.
برای استفاده از SSH لازم است که این سرویس روی سرور مدنظر نصب گردد. بدین منظور میتوان از انواع SSH1 که نوع اولیه آن بوده ویا SSH2 که نوعی تجاری و غیر رایگان SSH میباشد، استفاده نمود و یا نوع رایگان و اوپن سورس با نام Open SSH را که بسیار متداول میباشد استفاده نمود.
چگونه میتوان از OpenSSH روی سرور لینوکس نصب و استفاده کرد؟
معمولا روی اکثر توزیع های لینوکس این سرویس بصورت پیشفرض بهمراه سایر پکیج ها نصب میگردد و نیازی به نصب آن نیست ولی در صورتی که نیاز به نصب داشته باشید با دستور yum -y install openssh-server openssh-clients میتواند روی سرور های Centos و هم خانواده آن نصب نمود.
آیا SSH واقعا قابل اعتماد هست؟
به جرات میتوان گفت هیچ سیستمی در دنیایی که به اینترنت متصل میباشد را نمیتوان امن نامید مگر اینکه موارد امنیتی و ریسک های مهم را نادیده نگیریم و همیشه در امنیت و کشف باگها و بروز رسانی سیستم ها تلاش کنیم. SSH نیز از این قاعده مستثنی نیست و بایستی همیشه موارد امنیتی را مهم در نظر گرفته و آنها را رعایت کنید.
روش های ایمن سازی SSH
- استفاده از پسورد و یا رمز عبور مناسب:
در مقالات قبلی در زمینه های متفاوت استفاده از رمز های ترکیبی را همیشه تاکید نموده ایم. همانطوری که میدانید یکی از اولین و اساسی ترین روش هایی که هکر ها از آن جهت هک SSH و یا سایر دسترسی ها استفاده میکنند، پسورد های ساده میباشد.هکر ها از طریق روش Brute Force دائما تمامی سرور های با پورت پیشفرض و پسوردهای اینگونه را اسکن میکنند و در بسیاری از موارد نیز موفق میشوند تا با این اشتباه ساده سرور را هک کنند.
پسورد های ساده و یا دیکشنری گونه و یا معنی دار به هیچ عنوان استفاده نکنید. طول پسورد SSH را حتما و 100 درصد بسیار طولانی در نظر گرفته و همیشه از کارکترهای خاص استفاده کنید و سعی کنید اعداد و حروف با معنی به هیچ عنوان در پسورد ها مخصوص پسورد مهمی همانند SSH استفاده نکنید.
- تغییر پورت پیشفرض:
یکی از اساسی ترین نقض امنیتی در تمامی برنامه ها و پروتکل های اینترنتی را میتوانید استفاده از پورت های پیش فرض دانست. موقعی که شما هیچ تغییری در پورت پیشفرض سرویس ها انجام نمیدهید به هکر مسیر حرکت وی را نشان میدهید تا با استفاده از این پورت پیش فرض به اسکن سرور شما مشغول باشد و با استفاده از تکنیک ها و یا لیست پسوردهای مناسب در نفوذ به سرور شما تلاش کند.
پورت پیش فرض SSH را هیچ موقع روی 22 تنظیم نکنید و حتما آن را به مقادیر رندوم تغییر دهید. جهت تغییر این پورت میتوانید به سادگی فایل کانفیگ SSH را ویرایش کنید . برای این منظور میتوانید فایل /etc/ssh/sshd_config را ویرایش کنید و مقدار پورت پیش فرض 22 را به یه مقدار رندوم تغییر دهید. دقت کنید که قبل از انجام این تغییر حتما ابتدا پورت مدنظر را روی فایروال خود اضافه کنید تا بعد از ریستارت SSHدر ورود به SSH دچار مشکل نشوید. بعد از تغییر پورت جهت اعمال شدن آن نیاز هست که یکبار دستور زیر را جهت ریستارت شدن SSH اجرا کنید. service sshd restart .
- غیر فعال کردن پروتکل قدیمی SSH :
همانطوریکه ذکر شد SSH از چند پروتکل استفاده میکند که نوع 1 آن یعنی SSH 1 بسیاری قدیمی بوده و بهتر هست که حتما روی سرور خود این پروتکل را غیرفعال کنید. برای غیر فعال سازی آن در فایل کانفیگی که در بالا ذکر شده مقدار Protocol را فقط 2 قرار دهید و سپس سرویس SSH را یکبار ریستارت کنید. - غیر فعال کردن Root
اجازه دسترسی برای ورود با یوزرنیم root کمی برای سریعتر شدن روند هک سرور شما میباشد. جهت امنیت بیشتر بهتر است دسترسی root را غیرفعال کرده و به جای آن از su جهت بعد از ورود استفاده کنید. جهت غیرفعال سازی root میتوان به سادگی در تنظیمات فایل SSH مقدار PermitRootLogin no را اضافه و سپس سرویس را ریستارت کنید. همچنین کاربر دیگری را ایجاد کرده و با استفاده از دستور زیر در تنظیمات SSH اجازه ورود به SSh را به کاربر مد نظر بدهید AllowUsers customuser که به جای customuser بایستی کاربر ایجاد شده وارد کنید. بعد از اضافه نمودن کاربر بایستی سرویس SSH را یکبار ریستارت کنید. - استفاده از Key برای ورود به امنیت بیشتر
استفاده از Key علاوه بر اینکه باعث میگردد نیازی به ایجاد یوزر نداشته باشید بلکه بدون حتی وارد کردن یوزرنیم و پسورد با استفاده تنظیمات Key مدنظر روی Putty یا خط فرمان لینوکس به راحتی میتوانید وارد سرور شوید.استفاده از نوع احراز هویت نیازمند این میباشد که برای هر ماشین بایستی یک کلید جهت اتصال به سرور ایجاد کنید. - محدود کردن آی پی جهت اتصال به SSH
یکی از مهمترین و بهترین روش های برقراری امنیت SSH را میتوان محدود کردن دسترسی به آی پی خواند. شما با استفاده از این روش میتوانید به راحتی روی فایروال سرور خود تعریف کنید که فقط آی پی مدنظر شما روی پورت SSH امکان ورد داشته باشد و به غیر آی پی فوق تمامی ورودی ها Refuse میگردد. بدین ترتیب هکرها حتی اجازه اسکن را نیز نخواهند داشت و برای اتصال و تست نیز بایستی آی پی آنها در تنظیمات فایروال سرور Trust شده باشد تا قادر به ورود باشند.