درود بر همه کاربران عزیز و بزرگوار
با آموزش اختصاصی ایمن سازی سرویس SSH در خدمت شما هستم. سعی میکنیم به ساده ترین زبان ممکن این آموزش را بنویسم که دوستان تازه کار نیز بخوبی بتوانند درک کنند.
همانطور که میدانید سرویس sshd یکی از مهم ترین سرویس های هر سرور میباشد که اتصال به این سرویس برابر با دسترسی کامل به فایل های سیستمی سرور و سایت ها میباشد. با توجه به این پس مهمترین قدم در امنیت کارکرد سرور شما ایمن سازی این سرویس میباشد . در این پست که اختصاصی کاربران انجمن وب هاستینگ نوشته ام ایمن سازی این سرویس را خدمتتون توضیح خواهم داد.
خوب بریم سراغ کار:
1- تغییر پورت سرویس sshd
قدم اول در ایمن سازی سرویس ssh بحث پورت این سرویس است. این سرویس بطور پیش فرض از پورت 22 استفاده میکند که برای امنیت باید پورت را تغییر دهید که جهت اینکار در سرور دستور زیر را وارد کنید:
کد:
nano -w /etc/ssh/sshd_config
در محیط ادیتو عبارت :
Port 22
را پیدا کنید و به پورت دلخواه تغغیر دهید مانند:

برای اینکه مطمئن شوید که شماره پورت مد نظرتون در سرور باز است یا نیست باید بررسی کنید که سرویسی روی سرور روی پورت فوق فعالا ست یا خیر که از دستور زیر میتوانید استفاده کنید:
کد:
netstat -ntap | grep 1337
اگر سرویسی فعال نبود با خیال راحت پورت را جهت سرویس ssh استفاده نمایید.
2- استفاده از پروتکل ssh نسخه 2:
سرویس sshd دارای 2 پروتکل است که پروتکل شماره 1 امنیت مناسبی ندارد و به همین منظور پیشنهاد میشه همیشه از پروتکل شماره 2 استفاده نمایید. برای فعالسازی این مورد کافیست عبارت :
Protocol 2 را در فایل کانفیگ سرویس یعنی همان sshd_config فعال کنید و اگر وجود ندارد اضافه نمایید.
مانند:

اطلاعات کاملتر در مورد مقایسه پروتکل 1 و 2 در اینجا ببینید
3- غیر فعال کردن root login برای دسترسی:
اکثر حملات مانند brute force ها بوسیله هدفشان لاگین در یوزر root سرور شما میباشد که برای مقابله با آنها بهتر است که دسترسی لاگین root غیر فعال شود برای این مورد در همان فایل کانفیگ sshd عبارت:
PermitRootLogin
را پیدا کنید و مقدار مقابلش را به no تغییر دهید:
مثال:

4- محدود کردن کاربران:
برای امنیت بیشتر این سرویس بهتر است که دسترسی ssh را فقط محدود به کاربران خاصی کنید که اگر کسی توانست یوزر دیگری در سرور ایجاد کند نتواند در این سرویس وارد شود
برای این مورد در فایل کانفیگ عبارت AllowUsers را پیدا کنید و نام یوزر مورد نظر را جلوی آن وارد نمایید. مانند:

5- فعال کردن قابلیت Key Based Authentication:
استفاده از کلید های لاگین در ssh بشدت برای افزایش امنیت توصبه میشه و پیشنهاد میکنم حتما این مورد را استفاده کنید.
شما میتوانید key ها را بصورا public و همینطور private بسیازید
برای اینکار از دستور زیر استفاده کنید:
ssh-keygen -t rsa -b 4096
این دستور 2 فایل در مسیر ~/.ssh/ ایجاد میکند یکی بنام id_rsa که همان private key شما است و دیگری id_rsa.pub که publickey میباشد
حال باید public key را در تنظیمان ssh وارد کنید که برای این مورد از دستور ssh-copy-id استفاده نمایید بصورت زیر:
ssh-copy-id -i ~/.ssh/id_rsa.pub user@serverip
دستور فوق بصورت خودکار public key را در ~/.ssh/authorized_keys/ مینویسد
6- مجدد به همان فایل کانفیگ یعنی sshd_config بر میگردیم و عبارت زیر را پیدا کنید:
AuthorizedKeysFile %h/.ssh/authorized_keys
و اگر کامنت بود از حالت کامنت خارج نمایید
و در پایان سرویس سرویس را با دستور زیر ریستارت نمایید تا تنظیمات اعمال شود.
امیدوارم مورد استفاده شما بوده باشه این مقاله
بازم وقت آزاد داشته باشم حتما خدمتتون آموزش هایی خواهم نوشت.
ارادتمند شما: محمدزاده (تیرماه 1394)