SSH را قورت بده!

SSH را قورت بده!

پروتکل SSHیکی از پرکاربرد ترین پروتکل های موجود است که امکانات زیادی دارد و ما در این بخش به معرفی آن و چند ترفند برای استفاده سریع ار آن می پردازیم . این مقاله شامل چهار بخش می باشد:

  • معرفی SSH
  • ساخت فایل CONFIG برای دسترسی سریع
  • ساخت و بارگذاری کلید SSH
  • SSH HARDENING یا همان بالا بردن امنیت SSH برای جلوگیری از نفوذ

معرفی SSH

برای استفاده از SSHبه یک سرور و یک کلاینت نیاز داریم . منظور از کلاینت یا سرور ابعاد و قدرت آنها نیست. ما در آی تی به کامپیوتری که خدمات ارائه میدهد سرور و به کامپیوتری که خدمات میگیرد کلاینت گفته می شود. SSH هم از این قانون مستثنی نیست.

به کامپیوتری که از طریق آن به کامپیوتر دیگری وصل می شویم SSHکلاینت گفته می شود و به کامپیوتری که به آن وصل می شویم SSH سرور گفته می شود بنابراین باید پکیج SSH کلاینت روی کلاینت نصب باشد و همچنین پکیج SSHسرور روی سرور نصب باشد.

برای داشتن SSHکلاینت در ویندوز می توانید از PUTTYاستفاده کنید و در صورتی که از لینوکس یا مک استفاده میکنید می توانید از ترمینال استفاده کنید چرا که SSHکلاینت به صورت پیش فرض در این دو سیستم عامل نصب می باشد و اما برای سرور باید پکیج OPEN SSH SERVER نصب باشد که در زمان نصب سرور لینوکس یا به صورت پیش فرض این پکیج برای شما نصب می شود و یا در هنگام نصب امکان انتخاب نصب آن را به شما می دهد و یا حتی میتوانید پس از نصب لینوکس بااستفاده از دستورات زیر آن را نصب کنید.

برای نصب در لینوکس های REDHAT BASEDمثل آلما لینوکس :

yum install openssh-server$

برای نصب در لینوکس های Debian based مثل اوبونتو:

apt install openssh-server$

همان طور که میدانید برای اتصال از طریقSSH از دستور زیر استفاده میکنیم

ssh username@ip_address$

که در اینجا منظور از username نام کاربری سرور است و منظور از ip_address آی پی سرور می باشد. البته در صورتی که پورت SSH همان پورت پیش فرض یعنی 22 باشد. توضیح این که پورت SSH به صورت پیش فرض 22 میباشد ولی معمولا برای ارتقاع امنیت سرور آن را به پورتی غیر از 22 تغییر می دهیم که در بخش 4 همین مقاله به آن می پردازیم پس در صورتی که پورت ما 22 نباشد باید آن را در دستور SSHمشخص کنیم . به عنوان مثال اگر پورت SSHرا به 234 تغییر دهیم از دستور زیر استفاده می کنیم :

ssh -p 234 username@ip_address$

ساخت فایل CONFIG برای دسترسی سریع

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

Host cloudftp

    HostName 194.9.80.93

    Port 26957

    User media

در اینجا Host میتواند هر اسم دلخواهی باشد که شما از آن برای اتصال سریع استفاده میکنید.

HostName آدرس ip شما می باشد.

Port همان پورت SSH شما میباشد.

User همان نام کاربری سرور شما می باشد.

پس از وارد کردن این متن به فایل config آن را ذخیره و از آن خارج می شویم. حال با دستور SSH و مقداری که برای HostName در نظر گرفتیم می توانیم به سرور از طریق SSH وصل شویم. به عنوان مثال اگر مقدار HostName academy باشد از دستور زیر استفاده می کنیم.

ssh academy$

ساخت و بارگذاری کلید SSH

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

از دستور زیر برای ساخت یک کلید encrypt شده استفاده میکنیم :

ssh keygen$

از دستور زیر برای آپلود کردن آن روی سرور استفاده می کنیم :

ssh copy id$

همچنین میتوانید به جای این کار فایل متنی آن را کپی بکنید و در فایل authorise-key قرار بدهید

دقت کنید که permission و fileowner باید همان باشد که شما با آن SSH میزنید.

SSH HARDENING یا همان بالا بردن امنیت SSH برای جلوگیری از نفوذ

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

بدین صورت که پورت 22 آن که پورت پیش فرض می باشد را می بنیدیم و یک پورت رندوم باز میکنیم.

ssh-config مربوط به تنظیمات کلاینت می باشد و ssh-d مربوط به تنظیمات سرور هست که ما برای هاردن کردن سرور وارد ssh-d میشویم و در بخش مربوط به پورت کامنت را برداشته و آن را از 22 به مثلا 234 تغییر میدهیم .

در ادامه و در بخش permit root login کامنت را برداشته و سه حالت داریم که در حال اول no می زنیم که یعنی کاربری که اسم user ان root هست را به طور کل اجازه ورود ندهد و برای خود یک نام کاربری میزنیم با هر اسم دلخواه و با آن SSH می زنیم . حالت بعدی حالتی است که به کاربران root اجازه ورود می دهد ولی فقط آنهایی که کلید امنیتی دارند که نسبت به حالت قبلی امنیت کمتری دارد . حالت سوم هم حالتی است که yes باشد که در این حالت که هر کسی که کاربر root باشد هم با پسورد و هم با کلید می تواند وارد شود.

Maximum tries در صورتی که از کلید رمز گزاری استفاده می کنید هم میتوانید آن را به 2 یا 1 تغییر دهید که به کاربر اجازه دو یا یک بار خطا بدهد .

Maximum session تعداد session هایی که به طور همزمان می توانند به این SSH وصل شوند که اگر خود کاربر تنها کسی است که به این سرور وصل میشود عدد یک را می گذارید.

password authentication را yes میکنیم که یعنی به کسانی که پسورد دارند اجازه ورود داده شود.

دیدگاه‌ها ۰
ارسال دیدگاه جدید