غیرفعال کردن دسترسی روت برای SSH در لینوکس
به طور کلی، ورود به عنوان کاربر روت در لینوکس عملی خطرناک است، اما ورود به عنوان root از طریق اتصال SSH حتی بدتر است. در ادامه به بررسی این موضوع و نحوه غیرفعال کردن دسترسی روت برای SSH در لینوکس می پردازیم.
روت در لینوکس چیست؟
برای مدیریت و کنترل موثر اجزای حیاتی و حساس سیستم عامل لینوکس خود، به کاربری نیاز دارید که دارای اختیارات لازم باشد. اینجاست که روت وارد عمل می شود. در سیستم عامل های یونیکس و لینوکس، روت نقش یک ابرکاربر همه کاره را بر عهده می گیرد.
حساب کاربری root مانند هر حساب دیگری با یک رمز عبور محافظت می شود. بدون دانستن رمز عبور روت، هیچ کس دیگری نمی تواند به آن حساب دسترسی پیدا کند. در نتیجه، امتیازات و اختیارات اعطا شده به کاربر ریشه نمی تواند توسط هیچ کس دیگری مورد سوء استفاده قرار گیرد. از سوی دیگر، تنها مانعی که یک کاربر مخرب را از استفاده از قدرت های root باز می دارد، خود رمز عبور است. در صورتی که یک هکر رمز عبور root را بدست آورد، می تواند وارد سیستم و اعمال مخربی را بر کل سیستم اعمال کند. با امتیازات بالا روت، هیچ محدودیتی برای اقدامات آنها وجود ندارد.
به دلیل این خطرات، اکثر توزیعهای لینوکس دیگر اجازه ورود محلی یا SSH را برای کاربر ریشه نمیدهند. اگرچه کاربر ریشه هنوز وجود دارد، هیچ رمز عبوری به آن اختصاص داده نشده است. با این حال، وظایف مدیریت سیستم هنوز باید انجام شود. برای رفع این مشکل، از دستور sudo
استفاده می شود.
Sudo به کاربران مجاز اجازه می دهد تا به طور موقت از امتیازات سطح ریشه در حالی که در حساب های کاربری خود باقی می مانند استفاده کنند. برای احراز هویت و استفاده از sudo، باید رمز عبور خود را وارد کنید. این به شما امکان دسترسی موقت به قابلیت های کاربر اصلی را می دهد و با بستن پنجره ترمینال لینوکس، اساسا دسترسی شما به روت بسته میشود.
غیرفعال کردن دسترسی روت برای SSH
همانطور که با کاربر روت آشنا شدید و دیدید که حتی دسترسی به روت از طریق دسترسی فیزیکی هم می توانید بسیار خطرناک باشد، حال این دسترسی را به صورت ssh و از راه دور تصور کنید! ممکن است در برخی مواقع منجر به فاجعه شود.
در اکثر مواقع، افراد یک رمز عبور برای کاربر روت تعیین میکنند و تنظیمات اضافی برای اجازه ورود به این کاربر از طریق SSH را فراموش میکنند.
برای جلوگیری از دسترسی SSH به حساب کاربری root، باید تغییراتی در فایل پیکربندی SSH اعمال کنید. این فایل در مسیر “/etc/ssh/sshd_config” قرار دارد و برای اعمال تغییرات در آن نیاز به استفاده از sudo دارید.
از دستورات زیر برای ویرایش فایل sshd_config استفاده میکنیم:
sudo nano /etc/ssh/sshd_config
در فایل به دنبال رشته “PermitRootLogin” گشته و عبارت مقابل آن را که به صورت پیشفرض yes هست را به no تغییر دهید.
پس از اعمال تغییرات فایل را ذخیره کنید. سپس SSH را مجدداً راهاندازی کنید تا تغییرات اعمال شوند:
sudo systemctl restart ssh
حالا حساب کاربری root از ورود به سیستم از طریق SSH منع میشود. این کار میتواند امنیت سیستم شما را بهبود بخشد.
همچنین، اگر میخواهید از ورود محلی با کاربر روت به سیستم جلوگیری کنید، میتوانید رمز عبور root را غیرفعال کنید. این کار با استفاده از دو آرگومان -l (قفل) و -d (حذف رمز عبور) انجام میشود:
sudo passwd root -ld
این دستور حساب root را قفل میکند و رمز عبور آن را حذف میکند.
نتیجه گیری
در نتیجه، غیرفعال کردن ورود به SSH به عنوان کاربر روت در لینوکس یک تصمیم امنیتی حیاتی است. این اقدام از مسائل مربوط به امنیت سیستم شما را بهبود میبخشد و از دسترسی ناخواسته به حساب کاربری روت از طریق شبکه جلوگیری میکند. به عنوان جایگزین، از دستور sudo برای انجام وظایف مدیریتی استفاده کنید تا امنیت سیستم خود را تقویت کنید و خطرات احتمالی را به حداقل برسانید. این اقدامات میتوانند به شما کمک کنند تا سیستم خود را در مقابل تهدیدات امنیتی محافظت کرده و از دادهها و منابع حیاتی خود محافظت کنید.