امروزه هر کسی میداند که سیستم های لینوکسی با دسترسی کاربر root همراه هستند و به صورت پیش فرض دسترسی root برای محیط خارج لوکال هم فعال میباشد. به دلایل امنیتی این ایده خوبی نیست که دسترسی root به ssh برای کاربران نامعتبر فعال باشد زیرا هر هکری میتواند برای brute force کردن پسورد تلاش کند و دسترسی به سیستم شما داشته باشد.
بنابراین بهتر است اکانت دیگری داشته باشید و مرتبا از آن استفاده کنید و سپس با استفاده از دستور su - به کاربر root سوییچ کنید. قبل از شروع از موجود بودن اکانت دیگر مطمئن شوید و بتوانید با استفاده از ان برای دستررسی به کاربر root از su یا sudo استفاده کنید.
در لینوکس به آسانی میتوانیم اکانت های مجزا ایجاد کنیم. با یوزر root لاگین کنید و به آسانی دستور add user را برای ساختن یوزر جدید استفاده کنید. بعد از اینکه یوزر ساخته شد کافیست مراحل زیر را برای غیرفعال کردن login یوزر root از طریق ssh دنبال کنید.
فایل کانفیگ اصلی sshd را برای غیرفعال کردن login یوزر root استفاده میکنیم و با این امر در حقیقت از دسترسی هکرها به کاربر root در سرور لینوکس تان جلوگیری خواهد شد. همچنین نحوه فعال کردن مجدد دسترسی root و نحوه محدود کردن دسترسی ssh براساس لیست کاربران را خواهیم دید.
نحوه غیرفعال کردن دسترسی یوزر root به ssh :
برای غیرفعال کردن login کاربر root ابتدا فایل کانفیگ اصلی ssh را که در مسیر /etc/ssh/sshd_config میباشد با استفاده از یک ویرایشگر متنی باز کنید :
عبارت زیر را در فایل جستجو کنید :
سپس # (شارپ) ابتدای خط را شبیه به زیر حذف کنید :
سپس باید سرویس ssh را با استفاده از دستور زیر restart کنیم :
اکنون سعی کنید با کاربر root لاگین کنید. شما error عدم دسترسی (Access Denied) را دریافت خواهید کرد :
بنابراین از این به بعد شما ابتدا باید با کاربر معمولی لاگین کنید و سپس با استفاده از دستور su به یوزر root سوییچ کنید :
فعال کردن دسترسی login یوزر root به ssh :
برای فعال کردن login روت فایل /etc/ssh/sshd_config را باز کنید :
عبارت زیر را جستجو کنید و سپس در ابتدای آن # (شارپ) اضافه کنید و فایل را ذخیره کنید :
در آخر هم سرویس sshd را restart کنید :
اکنون سعی کنید با کاربر root لاگین کنید.
محدود کردن دسترسی Login های کاربران به ssh :
اگر شما تعداد زیادی از اکانت های کاربری روی سیستم تان دارید و میخواهیم دسترسی ریموت را به آن دسته از کاربرانی که واقعا به آن نیاز دارند محدود کنیم ابتدا فایل /etc/ssh/sshd_config file را باز کرده :
خط AllowUsers را همانند نمونه زیر در انتهای فایل و به شیوه مشخص شده در زیر همراه با فاصله هایی که لیست username ها را از هم جدا میکند اضافه میکنیم.
برای مثال کاربر mohammad و mina دسترسی remote به ssh خواهند داشت :
اکنون سرویس ssh را باید restart کنیم.
همچنین توصیه میشود مطالعه کنید :
5 متد برای امنیت سرورهای لینوکس
ارسال ایمیل هشدار برای ادمین سیستم ها هنگام ssh کردن با یوزر root
نحوه فعال کردن احراز هویت دو مرحله ای هنگام ssh (توسط Google Authentication)
whowatch برای مانیتور کردن کاربران و process ها به صورت لحظه ای
موفق باشید
محمد هابیلی :)
بنابراین بهتر است اکانت دیگری داشته باشید و مرتبا از آن استفاده کنید و سپس با استفاده از دستور su - به کاربر root سوییچ کنید. قبل از شروع از موجود بودن اکانت دیگر مطمئن شوید و بتوانید با استفاده از ان برای دستررسی به کاربر root از su یا sudo استفاده کنید.
در لینوکس به آسانی میتوانیم اکانت های مجزا ایجاد کنیم. با یوزر root لاگین کنید و به آسانی دستور add user را برای ساختن یوزر جدید استفاده کنید. بعد از اینکه یوزر ساخته شد کافیست مراحل زیر را برای غیرفعال کردن login یوزر root از طریق ssh دنبال کنید.
فایل کانفیگ اصلی sshd را برای غیرفعال کردن login یوزر root استفاده میکنیم و با این امر در حقیقت از دسترسی هکرها به کاربر root در سرور لینوکس تان جلوگیری خواهد شد. همچنین نحوه فعال کردن مجدد دسترسی root و نحوه محدود کردن دسترسی ssh براساس لیست کاربران را خواهیم دید.
نحوه غیرفعال کردن دسترسی یوزر root به ssh :
برای غیرفعال کردن login کاربر root ابتدا فایل کانفیگ اصلی ssh را که در مسیر /etc/ssh/sshd_config میباشد با استفاده از یک ویرایشگر متنی باز کنید :
کد:
# vi /etc/ssh/sshd_config
عبارت زیر را در فایل جستجو کنید :
کد:
#PermitRootLogin no
سپس # (شارپ) ابتدای خط را شبیه به زیر حذف کنید :
کد:
PermitRootLogin no
سپس باید سرویس ssh را با استفاده از دستور زیر restart کنیم :
کد:
# /etc/init.d/sshd restart
اکنون سعی کنید با کاربر root لاگین کنید. شما error عدم دسترسی (Access Denied) را دریافت خواهید کرد :
کد:
login as: root Access denied root@172.31.41.51's password:
بنابراین از این به بعد شما ابتدا باید با کاربر معمولی لاگین کنید و سپس با استفاده از دستور su به یوزر root سوییچ کنید :
کد:
login as: mohammad Access denied mohammad@172.16.25.126's password: Last login: Tue Oct 16 17:37:56 2012 from 172.16.25.125 [mohammad@mohammad ~]$ su - Password: [root@mohammad ~]#
فعال کردن دسترسی login یوزر root به ssh :
برای فعال کردن login روت فایل /etc/ssh/sshd_config را باز کنید :
کد:
# vi /etc/ssh/sshd_config
کد:
# PermitRootLogin no
در آخر هم سرویس sshd را restart کنید :
کد:
# /etc/init.d/sshd restart
اکنون سعی کنید با کاربر root لاگین کنید.
کد:
login as: root Access denied root@172.16.25.126's password: Last login: Tue Nov 20 16:51:41 2012 from 172.16.25.125 [root@mohammad ~]#
محدود کردن دسترسی Login های کاربران به ssh :
اگر شما تعداد زیادی از اکانت های کاربری روی سیستم تان دارید و میخواهیم دسترسی ریموت را به آن دسته از کاربرانی که واقعا به آن نیاز دارند محدود کنیم ابتدا فایل /etc/ssh/sshd_config file را باز کرده :
کد:
# vi /etc/ssh/sshd_config
برای مثال کاربر mohammad و mina دسترسی remote به ssh خواهند داشت :
کد:
AllowUsers mohammad mina
همچنین توصیه میشود مطالعه کنید :
5 متد برای امنیت سرورهای لینوکس
ارسال ایمیل هشدار برای ادمین سیستم ها هنگام ssh کردن با یوزر root
نحوه فعال کردن احراز هویت دو مرحله ای هنگام ssh (توسط Google Authentication)
whowatch برای مانیتور کردن کاربران و process ها به صورت لحظه ای
موفق باشید
محمد هابیلی :)