جدول محتوایی

لاگین کاربر روت در اوبونتو

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

در این آموزش یادمیگیریم که چگونه، لاگین روت در اوبونتو را غیرفعال کنیم. با این کار از دسترسی روت غیرمجاز به SSH جلوگیری میکنیم و امنیت سیستم مبتنی بر لینوکس خود را بالا میبریم.

 

لاگین روت

 

پیش نیازها

برای تکمیل این آموزش شما به یک سرور اوبونتو 20.04 با یک کاربر غیر روت با امتیازات sudo، فایروال و حداقل 1 گیگابایت رم نیاز دارید. میتوانید سرور مجازی مورد نظر خود را از ایرانیکاسرور سفارش دهید.

 

مرحله 1: ورود به سیستم و بررسی auth.log

در این مرحله، شما از طریق کاربر sudo فعال و غیر روت خود به سرور خود دسترسی خواهید داشت. با بررسی لاگ احراز هویت، ممکن است تلاش‌های مجاز و غیرمجاز برای ورود را مشاهده کنید.

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

بر اساس روش ورود انتخابی خود، با استفاده از SSH وارد سرور خود شوید. اگر در طول راه اندازی اولیه سرور با استفاده از کلیدهای SSH وارد حساب اصلی خود شده اید، باید از مکانیزم key-based استفاده کنید. زیرا در هنگام استفاده از ورود key-based برای سرور خود، تأیید اعتبار رمز عبور غیرفعال است. در غیر این صورت، از لاگین مبتنی بر رمز عبور با رمز عبور کاربر sudo-enabled استفاده کنید.

آموزش اتصال به سرور با ssh

با استفاده از دستور زیر برای لاگین مبتنی بر رمز عبور، به عنوان کاربر دارای sudo خود (در این آموزش، user خواهد بود) وارد سرور خود شوید:

ssh user@your_server_ip

 

اگر از روش ورود مبتنی بر کلید استفاده می کنید، با دستور زیر به عنوان کاربر فعال sudo خود وارد سرور خود شوید:

ssh -i your_private_key user@your_server_ip

 

فلگ -i نشان دهنده فایل هویتی است که your_private_key از آن برای احراز هویت خوانده می شود. سپس، فایل auth.log را با رفتن به فهرست /var/log بررسی کنید:

cd /var/log/

 

برای نمایش محتویات فایل از cat auth.log استفاده کنید:

sudo cat auth.log

اگر پسوردتان خواسته شد، آن را وارد کنید. چنین خروجی را دریافت خواهید کرد:

Output
May 29 18:46:32 ubuntu sshd[3886]: Disconnected from invalid user cally 43.155.90.144 port 47454 [preauth]
May 29 18:51:56 ubuntu sshd[3890]: Received disconnect from 195.38.129.16 port 10017:11: Bye Bye [preauth]
May 29 18:51:56 ubuntu sshd[3890]: Disconnected from authenticating user root 195.38.129.16 port 10017 [preauth]
May 29 18:52:24 ubuntu sshd[3892]: Received disconnect from 178.128.234.248 port 58660:11: Bye Bye [preauth]
May 29 18:52:24 ubuntu sshd[3892]: Disconnected from authenticating user root 178.128.234.248 port 58660 [preauth]
May 29 18:52:34 ubuntu sshd[3894]: Received disconnect from 43.134.106.128 port 33854:11: Bye Bye [preauth]
May 29 18:52:34 ubuntu sshd[3894]: Disconnected from authenticating user root 43.134.106.128 port 33854 [preauth]
May 29 18:53:07 ubuntu sshd[3896]: Invalid user projects from 176.183.60.72 port 42070

 

فایل auth.log تمام تلاش های احراز هویت انجام شده در سرور را بصورت گزارش ثبت می کند. ممکن است تعداد زیادی درخواست ناشناخته و غیرمجاز توسط سرور خود دریافت کنید. به همین دلیل، ممکن است بخواهید لاگین روت را در سیستم خود غیرفعال کنید.

اکنون گزارش‌های احراز هویت را بررسی کرده‌اید که نشان می‌دهد سرور شما چیزی بیش از درخواست‌های احراز هویت شما را دریافت کرده است. در مرحله بعد، پیکربندی SSH سرور خود را به‌روزرسانی می‌کنید تا دسترسی و لاگین روت به طور کامل در سرور شما غیرفعال شود.

 

مرحله 2: غیرفعال کردن لاگین روت

در این مرحله، فایل sshd_config را ویرایش می‌کنید تا لاگین روت غیرفعال شود و سپس دیمون sshd را مجددا راه‌اندازی میکنید تا پیکربندی را پس از تغییرات بخواند.

فایل sshd_config پیکربندی دیمون SSH حاوی پارامترهای مورد استفاده توسط sshd را ذخیره می کند. دیمون مسئول مدیریت اتصالات SSH است. برای اعمال تغییرات پیکربندی باید دیمون sshd را مجددا راه اندازی کنید. این تغییر پیکربندی به sshd دستور می دهد که اجازه لاگین روت را از طریق SSH ندهد.

فایل sshd_config واقع در پوشه /etc/ssh را با استفاده از nano یا ویرایشگر متن دلخواه خود باز کنید:

sudo nano /etc/ssh/sshd_config

فایل را بررسی کنید و به دنبال خط PermitRootLogin بگردید:

#LoginGraceTime 2m
PermitRootLogin yes
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10

مقدار PermitRootLogin را از yes به no تغییر دهید:

#LoginGraceTime 2m
PermitRootLogin no
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10

ذخیره کنید و فایل را ببندید. (برای ذخیره دکمه های Ctrl + X بزنید سپس y را انتخاب کنید)

در مرحله بعد، دیمون sshd را مجددا راه اندازی می کنید تا پیکربندی را پس از تغییراتی که به تازگی انجام داده اید، بخواند. دستور زیر سرویس sshd را با استفاده از systemctl راه اندازی مجدد می کند.

sudo systemctl restart sshd

در این مرحله، فایل پیکربندی را تغییر دادید تا درخواست‌های لاگین روت را رد کند. در مرحله بعد، با انجام یک تلاش برای ورود به سرور خود، بررسی خواهید کرد که آیا ورود root غیرفعال است یا خیر.

 

مرحله 3: تست لاگین روت

پس از غیرفعال کردن لاگین به سیستم بعنوان روت، سعی کنید با SSH به عنوان روت وارد یک سشن ترمینال جدید شوید.

در صورت استفاده از لاگین مبتنی بر رمز عبور یا password-based :

ssh root@your_server_ip

در صورت استفاده از لاگین مبتنی بر کلید یا key-based :

ssh -i your_private_key root@your_server_ip

اگر مرحله 2 را به درستی انجام داده باشید، باید پیام خطای زیر را ببینید:

root@your_server_ip: Permission denied (publickey).

 

برای لاگین مجدد به سرور، با اطلاعات کاربری غیر روت فعال sudo وارد سرور خود شوید تا مطمئن شوید که همچنان می‌توانید به سرور دسترسی داشته باشید.

ssh user@your_server_ip

اکنون می توانید به استفاده از سرور ادامه دهید.

 

نتیجه

در این مقاله، sshd را برای غیرفعال کردن لاگین روت در اوبونتو ویرایش کردیم. اکنون می‌دانید که چگونه از لاگین کاربر روت به دستگاه‌های مبتنی بر لینوکس خود جلوگیری کنید. در واقع یک لایه امنیتی اضافی به دستگاه‌های خود اضافه کرده اید.

 

12رای - امتیاز 5 ممنون از امتیازی که دادید..!

دسته بندی شده در: