مقدمه

بسیاری از دستورات ساده سیستم عامل لینوکس، در عین معمولی بودن می­تواند برای سیستم بسیار مخرب و زیان­بار باشد. استفاده از این دستورات خطرناک، باعث از بین رفتن سیستم عامل شده و در اکثر مواقع ضرر غیرقابل جبرانی را برای سرور شما به دنبال دارد. دستورات معمول و پر استفاده لینوکس، حتی با اضافه کردن یک کاراکتر یا فاصله، سیستم عامل شما را به مشکلات اساسی دچار می­کند. برهمین اساس، افراد متخصص با آگاهی از این مسئله، از یوزرroot  برای کار بر روی سرور استفاده نمی­کنند. در این مقاله قصد داریم ۸ دستور خطرناک، در سیستم عامل لینوکس را شرح دهیم و جنبه­های مختلف آن را مورد بررسی قرار دهیم. در ادامه مطلب، برای کسب اطلاعات بیشتر در این زمینه، با کندوهاست همراه باشید :

آشنایی با ۸ دستور خطرناک سیستم عامل لینوکس

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

موارد ذکر شده در ذیل، ۸ دستور خطرناک سیستم عامل لینوکس است که حدالامکان باید از آن­ها دوری کنید:

  1. دستور خطرناک chmod مجوز تمامی فایل­های قرار گرفته در دایرکتوری root و لینوکس را به محض باز شدن به صفر می­رساند؛ در نتیجه امکان بازگردانی به مجوز پیش­فرض از بین رفته و هیچ دستور دیگری حتی خود chmod هم دیگر قابل اجرا نیست. استفاده از این دستور خطرناک، فرصت هر گونه تغییر را برای کاربران غیرممکن می­سازد. دستور خطرناک مذکور به شکل
    chmod 000 -Rf / _ cd /; chmod 000 –Rf
    ظاهر می­شود.
  2. یکی از ۸ دستور خطرناک و پر کاربرد سیستم عامل لینوکس، دستور rm است. اجرای این دستور خطرناک، دایرکتوری و فایل­های پیش­فرض را که در طول روز بارها از آن استفاده می­شود را پاک کرده و دسترسی به آن­ها را غیرممکن می­سازد. دستور خطرناک rm-rf/:   با پاک کردن تمامی محتویات فایل root، همه چیز را از بین برده و امکان دسترسی به محتویات را غیرممکن می­سازد. اجرای دستور rm-rf. محتویات فولدر درحال استفاده و تمامی فولدرهای زیر مجموعه آن را پاک می­کند. همچنین دستور خطرناک rm-rf* تمامی محتویات فولدرهای در حال استفاده را حذف کرده و احتمال دسترسی به آن را به صفر می­رساند. لازم است به اطلاعتان برسانیم که برای جلوگیری از پاک شدن احتمالی محتویات توسط این دستور، نام مستعار rm-i را در فایل bashrc. برای دستور rm درنظر بگیرید. این فرایند کمک می­کند تا قبل از پاک شدن هر چیزی، یک اعلان که نیازمند تایید شماست ظاهر شود.
  3. فورک بمب Fork Bomb ، یکی از کاراکترهای موجود در سیستم عامل لینوکس با ظاهری عجیب است. اجرای دستور خطرناک فورک بمب، با ایجاد یک تابع آرایه توخالی صورت می­گیرد. درواقع این دستور، یک مقدار را به صورت لوپ، در همان تابع می­چرخاند و میزان مصرف cpu و ram را در سیستم افزایش می­دهد. در نهایت سیستم از دسترس خارج می­شود. این حالت که مشابه یک حمله DDOS عمل می­کند؛ تمامی منابع سخت­افزاری سیستم را در دست می­گیرد. تنها راه نجات از این وضعیت، اعمال دستور ریبوت سخت­افزاری سرور است. به عبارتی دیگر فورک بمب، با ایجاد یک تابع به نام : در یک اسکریپت تعریف می­شود. سپس درون تابع با فراخوانی خود آن، ارسال خروجی به تابع انجام می­شود. در نهایت پس از تعریف تابع، دستور اجرا می­شود. با این حال، برای جلوگیری از خطرات احتمالی و هنگ کردن سیستم، اجرای آن توصیه نمی­شود.
  4. ارسال خروجی دستورات به هارد و استفاده نادرست از متد ارسال خروجی، بسیار خطرناک بوده و باعث پاک شدن اطلاعات بر روی هارد می­شود. همانطور که می­دانید، اطلاعات و دایرکتوری­ها در هنگام نصب سیستم عامل لینوکس، در قسمت dev/sda/ ذخیره می­شود. این اشتباه تنها به خاطر یک space اضافه بین txt و / آخر به وجود می­آید. بر همین اساس اگر اطلاعاتی به فایل­ها و دایرکتوری­ها اضافه شود، در حقیقت بر روی فایل­های لینوکس ذخیره شده و از دست رفتن اطلاعات را برای کاربر به دنبال دارد. نکته قابل توجه این است که استفاده از space با نام فایل log و یا آدرس‌دهی اشتباه فایل log باعث ایجاد خطا می­شود. برای درک مطلب به اسکریپت زیر توجه فرمایید.

find / -iname "*.php" > /dev/sda1/ log.txt

در مثال بالا فایل پس از اجرای دستور find خروجی آن به جای فایل  ‎/dev/sda1/log.txt در /dev/sda1 ذخیره شده و در نتیجه آن محتویات پوشه sda1 حذف شده است.

  1. استفاده غلط از دستور قدرتمند و مفید dd و در عین حال خطرناک، در سیستم عامل لینوکس، محتویات هارد را به طور کلی از بین می­برد. این دستور در سیستم لینوکس، با کاربرد انتقال فایل­های مختلف در سطح پایین مورد استفاده قرار می­گیرد. با اجرای غلط این دستور خطرناک، کلیه اطلاعات sda3/ حذف خواهد شد. به عنوان مثال اطلاعات پوشه ‎/dev/sda2 در مثال زیر پاک شده است.

dd if=/dev/zero of=/dev/sda2

dd if=/dev/sda1 of=/dev/sda2

dd if=/dev/urandom of=/dev/sdb

 

  1. یکی دیگراز دستورات سیستم عامل لینوکس که در اجرای آن باید نهایت دقت را به خرج دهید؛ بسته­های مختلف وابسته به یکدیگر است. اجرای دستورات لینوکس که مرتبط به حذف بسته­های مذکور است بسیار خطرناک بوده و عملکرد کل سیستم را مختل می­کند. از آنجایی که بسته­ها به یکدیگر وابسته هستند حذف یک بسته، موجب پاک شدن بسته­های حیاتی دیگر شده و ضررهای جبران ناپذیری را برای سیستم به بار می­آورد. مثال زیر یک نمونه اسکریپت، از اجرای این دستور خطرناک در سیستم عامل لینوکس است.

yum remove linux*

apt-get purge selinux

apt-get remove linux-header

  1. mv یکی از پر استفاده­ترین دستورات کاربردی سیستم عامل لینوکس بشمار می­­آید. این دستور وظیفه انتقال فایل و دایرکتوری را به قسمتی مشخص بر عهده دارد. با استفاده نادرست از این دستور مانند وارد کردن mv /home /dev/null، فایل home حذف شده و سیستم عامل لینوکس از دسترس خارج می­شود. به طور کلی این دستور زمانی خطرناک می­شود که کاربر یک فایل یا دایرکتوری را به /dev/null منتقل کند.
  2. base64 که در سیستم عامل لینوکس یک محیط اجرا گرا است بسیار مهم و خطرناک تلقی می­شود. این دستور، قابلیت اجرای ساده تمامی دستورات و پردازش آن­ها را در خود جای داده است. بنابراین هر دستوری که برای اجرا به آن ارسال شود بسیار خطرناک است. به عنوان مثال دستور echo cm0gLXJmIH4vKg== | base64 –d همانند rm -rf / عمل می­کند. برای جلوگیری از خطرات احتمالی اجرای این دستور، لازم است به این نکته توجه داشته باشید که تعداد کاراکترهای ناهمگون ارسال شده به Base64 را حتما قبل از اجرا تست کنید.

جمع­ بندی و کلام آخر

آشنایی با ۸ دستور خطرناک در سیستم عامل لینوکس و استفاده درست از آن­ها تا حد زیادی سرور شما را از ایجاد اختلال و از دست رفتن اطلاعات مهم، در امان نگه می­دارد. هشت دستور خطرناکی که در مواجه با آن باید نهایت دقت را به خرج دهید شامل rm، chmod، Fork Bomb، ارسال خروجی دستورات به هارد، حذف بسته‌ها، دستور dd، دستور mv و  base64 می­باشد. به علت متن باز بودن لینوکس، احتمال اعمال تغییر در آن توسط افراد سودجو با نیت بد، شدت می­گیرد. بنابراین به هنگام مواجه با کد­های ناشناخته و عجیب و غریب در فضای مختلف اینترنتی، فریب نخورید و از آن­ها چشم­پوشی کنید. علاوه بر این، همواره سعی کنید ۸ دستور ذکر شده را در ذهن خود داشته باشید. لازم به ذکر است که برخی از موارد و دستوراتی که پیش­تر به آن اشاره شد نتیجه تحقیقات بر سیستم عامل لینوکس Centos و بودهdebian  و ممکن است در ورژن­های مختلف سیستم عامل لینوکس کاربردی نباشد.