مقدمه
بسیاری از دستورات ساده سیستم عامل لینوکس، در عین معمولی بودن میتواند برای سیستم بسیار مخرب و زیانبار باشد. استفاده از این دستورات خطرناک، باعث از بین رفتن سیستم عامل شده و در اکثر مواقع ضرر غیرقابل جبرانی را برای سرور شما به دنبال دارد. دستورات معمول و پر استفاده لینوکس، حتی با اضافه کردن یک کاراکتر یا فاصله، سیستم عامل شما را به مشکلات اساسی دچار میکند. برهمین اساس، افراد متخصص با آگاهی از این مسئله، از یوزرroot برای کار بر روی سرور استفاده نمیکنند. در این مقاله قصد داریم ۸ دستور خطرناک، در سیستم عامل لینوکس را شرح دهیم و جنبههای مختلف آن را مورد بررسی قرار دهیم. در ادامه مطلب، برای کسب اطلاعات بیشتر در این زمینه، با کندوهاست همراه باشید :
آشنایی با ۸ دستور خطرناک سیستم عامل لینوکس
لینوکس به عنوان یک سیستم عامل متن باز، شناخته شده است. به عبارتی، امکان اعمال تغییرات در آن، برای تمامی کاربران فراهم شده است. تغییرات مذکور، در محیط خط فرمان و از طریق اجرای دستورات سیستم عامل لینوکس صورت میپذیرد. لازم به ذکر است که استفاده از دستورات لینوکس بدون تجربه و اطلاعات در این زمینه، بسیار خطرناک و ریسکپذیر میباشد؛ بنابراین تخصص و تجربه کافی برای کدنویسی در این دستورات، امری مهم و ضروری تلقی میشود.
موارد ذکر شده در ذیل، ۸ دستور خطرناک سیستم عامل لینوکس است که حدالامکان باید از آنها دوری کنید:
- دستور خطرناک chmod مجوز تمامی فایلهای قرار گرفته در دایرکتوری root و لینوکس را به محض باز شدن به صفر میرساند؛ در نتیجه امکان بازگردانی به مجوز پیشفرض از بین رفته و هیچ دستور دیگری حتی خود chmod هم دیگر قابل اجرا نیست. استفاده از این دستور خطرناک، فرصت هر گونه تغییر را برای کاربران غیرممکن میسازد. دستور خطرناک مذکور به شکل
chmod 000 -Rf / _ cd /; chmod 000 –Rf
ظاهر میشود. - یکی از ۸ دستور خطرناک و پر کاربرد سیستم عامل لینوکس، دستور rm است. اجرای این دستور خطرناک، دایرکتوری و فایلهای پیشفرض را که در طول روز بارها از آن استفاده میشود را پاک کرده و دسترسی به آنها را غیرممکن میسازد. دستور خطرناک rm-rf/: با پاک کردن تمامی محتویات فایل root، همه چیز را از بین برده و امکان دسترسی به محتویات را غیرممکن میسازد. اجرای دستور rm-rf. محتویات فولدر درحال استفاده و تمامی فولدرهای زیر مجموعه آن را پاک میکند. همچنین دستور خطرناک rm-rf* تمامی محتویات فولدرهای در حال استفاده را حذف کرده و احتمال دسترسی به آن را به صفر میرساند. لازم است به اطلاعتان برسانیم که برای جلوگیری از پاک شدن احتمالی محتویات توسط این دستور، نام مستعار rm-i را در فایل bashrc. برای دستور rm درنظر بگیرید. این فرایند کمک میکند تا قبل از پاک شدن هر چیزی، یک اعلان که نیازمند تایید شماست ظاهر شود.
- فورک بمب Fork Bomb ، یکی از کاراکترهای موجود در سیستم عامل لینوکس با ظاهری عجیب است. اجرای دستور خطرناک فورک بمب، با ایجاد یک تابع آرایه توخالی صورت میگیرد. درواقع این دستور، یک مقدار را به صورت لوپ، در همان تابع میچرخاند و میزان مصرف cpu و ram را در سیستم افزایش میدهد. در نهایت سیستم از دسترس خارج میشود. این حالت که مشابه یک حمله DDOS عمل میکند؛ تمامی منابع سختافزاری سیستم را در دست میگیرد. تنها راه نجات از این وضعیت، اعمال دستور ریبوت سختافزاری سرور است. به عبارتی دیگر فورک بمب، با ایجاد یک تابع به نام : در یک اسکریپت تعریف میشود. سپس درون تابع با فراخوانی خود آن، ارسال خروجی به تابع انجام میشود. در نهایت پس از تعریف تابع، دستور اجرا میشود. با این حال، برای جلوگیری از خطرات احتمالی و هنگ کردن سیستم، اجرای آن توصیه نمیشود.
- ارسال خروجی دستورات به هارد و استفاده نادرست از متد ارسال خروجی، بسیار خطرناک بوده و باعث پاک شدن اطلاعات بر روی هارد میشود. همانطور که میدانید، اطلاعات و دایرکتوریها در هنگام نصب سیستم عامل لینوکس، در قسمت dev/sda/ ذخیره میشود. این اشتباه تنها به خاطر یک space اضافه بین txt و / آخر به وجود میآید. بر همین اساس اگر اطلاعاتی به فایلها و دایرکتوریها اضافه شود، در حقیقت بر روی فایلهای لینوکس ذخیره شده و از دست رفتن اطلاعات را برای کاربر به دنبال دارد. نکته قابل توجه این است که استفاده از space با نام فایل log و یا آدرسدهی اشتباه فایل log باعث ایجاد خطا میشود. برای درک مطلب به اسکریپت زیر توجه فرمایید.
find / -iname "*.php" > /dev/sda1/ log.txt
در مثال بالا فایل پس از اجرای دستور find خروجی آن به جای فایل /dev/sda1/log.txt در /dev/sda1 ذخیره شده و در نتیجه آن محتویات پوشه sda1 حذف شده است.
- استفاده غلط از دستور قدرتمند و مفید 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
- یکی دیگراز دستورات سیستم عامل لینوکس که در اجرای آن باید نهایت دقت را به خرج دهید؛ بستههای مختلف وابسته به یکدیگر است. اجرای دستورات لینوکس که مرتبط به حذف بستههای مذکور است بسیار خطرناک بوده و عملکرد کل سیستم را مختل میکند. از آنجایی که بستهها به یکدیگر وابسته هستند حذف یک بسته، موجب پاک شدن بستههای حیاتی دیگر شده و ضررهای جبران ناپذیری را برای سیستم به بار میآورد. مثال زیر یک نمونه اسکریپت، از اجرای این دستور خطرناک در سیستم عامل لینوکس است.
yum remove linux*
apt-get purge selinux
apt-get remove linux-header
- mv یکی از پر استفادهترین دستورات کاربردی سیستم عامل لینوکس بشمار میآید. این دستور وظیفه انتقال فایل و دایرکتوری را به قسمتی مشخص بر عهده دارد. با استفاده نادرست از این دستور مانند وارد کردن mv /home /dev/null، فایل home حذف شده و سیستم عامل لینوکس از دسترس خارج میشود. به طور کلی این دستور زمانی خطرناک میشود که کاربر یک فایل یا دایرکتوری را به /dev/null منتقل کند.
- base64 که در سیستم عامل لینوکس یک محیط اجرا گرا است بسیار مهم و خطرناک تلقی میشود. این دستور، قابلیت اجرای ساده تمامی دستورات و پردازش آنها را در خود جای داده است. بنابراین هر دستوری که برای اجرا به آن ارسال شود بسیار خطرناک است. به عنوان مثال دستور echo cm0gLXJmIH4vKg== | base64 –d همانند rm -rf / عمل میکند. برای جلوگیری از خطرات احتمالی اجرای این دستور، لازم است به این نکته توجه داشته باشید که تعداد کاراکترهای ناهمگون ارسال شده به Base64 را حتما قبل از اجرا تست کنید.
جمع بندی و کلام آخر
آشنایی با ۸ دستور خطرناک در سیستم عامل لینوکس و استفاده درست از آنها تا حد زیادی سرور شما را از ایجاد اختلال و از دست رفتن اطلاعات مهم، در امان نگه میدارد. هشت دستور خطرناکی که در مواجه با آن باید نهایت دقت را به خرج دهید شامل rm، chmod، Fork Bomb، ارسال خروجی دستورات به هارد، حذف بستهها، دستور dd، دستور mv و base64 میباشد. به علت متن باز بودن لینوکس، احتمال اعمال تغییر در آن توسط افراد سودجو با نیت بد، شدت میگیرد. بنابراین به هنگام مواجه با کدهای ناشناخته و عجیب و غریب در فضای مختلف اینترنتی، فریب نخورید و از آنها چشمپوشی کنید. علاوه بر این، همواره سعی کنید ۸ دستور ذکر شده را در ذهن خود داشته باشید. لازم به ذکر است که برخی از موارد و دستوراتی که پیشتر به آن اشاره شد نتیجه تحقیقات بر سیستم عامل لینوکس Centos و بودهdebian و ممکن است در ورژنهای مختلف سیستم عامل لینوکس کاربردی نباشد.