
در مقالات قبلی که با دستورات لینوکسی در خدمت شما بودیم ، در یک نگاه متوجه سادگی استفاده از دستورات لینوکسی و آسان بودن آن در یادگیری پی بردید. اما این پایان کار نیست! در همین دستورات ساده لینوکسی که شاید از برخی از آنها به صورت معمول استفاده شود دستوراتی هستند که به آن دستورات خطرناک در لینوکس گفته میشود.
بله. برخی دستورات در لینوکس باعث میشود کل سیستم عامل شما به سادگی از بین رفته و حتی در اکثر موارد قابل جبران نیز نباشد.
در مقاله برقراری امنیت در لینوکس به غیرفعال کردن یوزر Root اشاره شد و گفته شد که حتی مدیر سیستم نیز بهتر است از یوزر Root برای کار بر روی سرور استفاده نکند و از یک یوزر با سطح دسترسی Root یا همان Sudo استفاده نماید.
حال با مطالعه این مقاله تا پایان متوجه خواهید شد که چرا اکثریت افراد متخصص لینوکس از یوزر Root استفاده نمیکنند. چون دستوراتی که در این مقاله ذکر میشود ، اکثراً دستورات معمول و پراستفاده در لینوکس است که تنها با اضافه کردن یک کاراکتر و یا فاصله ، لینوکس شما را دچار مشکلاتی اساسی مینماید.
نکته : دستورات خطرناک در لینوکس را در سرور خود تست نکنید چون ممکن است به ارزش از دست دادن سیستم عامل و هزینه مجدد برای نصب آن شود.
با مطلب دستورات خطرناک در لینوکس همراه ما باشید.
دستورات خطرناک در لینوکس
استفاده نا درست از دستور chmod
به دستورات زیر توجه کنید.
chmod 000 -Rf /
cd /; chmod 000 -Rf
این دستور پس از وارد شدن ، مجوز تمامی فایلهای موجود در لینوکس و دایرکتوری root را به صفر تغییر داده و این بدین معناست هیچ دستوری دیگر قابل اجرا نیست ؛ حتی خود دستور chmod دیگر اجرا نخواهد شد.
استفاده از فورک بمب
البته فورک بمب دستور نیست ولی میتواند همان کاراکترهایی باشد که گاهاً مدیران برای تفکر به صورت خیالی تایپ کرده و مدام اینتر را میزنند.
:(){:|:&};:
با وارد کردن کاراکترهای بالا ، یک تابع آرایه توخالی ایجاد شده و یک مقدار را به صورت لوپ در همان آرایه و تایع میچرخاند و همین باعث میشود میزان مصرف Ram و CPU به شدت افزایش پیدا کرده و سیستم خارج از دسترسی شود. این حالت مشابه یک حمله DDOS از داخل سیستم عامل است که همه منابع سخت افزاری را در دست خواهد گرفت و تنها راه متوقف کردن این تابع تو در تو ، ریبوت کردن سخت افزاری سرور شما خواهد بود.
استفاده نادرست از دستور rm
دستور rm یک دستور برای پاک کردن دایرکتوری و فایلها است که شاید به صورت پیش فرض بارها در روز از آن استفاده شود.
اما با وارد کردن دستور مشابه زیر تمام دایرکتوری root یا همان / حذف شده و در یک لحظه به کل لینوکس شما حذف خواهد شد.
rm -rf /
cd /; rm -rf .
rm -rf *
هر سه دستور بالا ، به یک شکل عمل خواهند کرد.
دستور rm در عین پرکاربرد بودن در بین لیست دستورات خطرناک در لینوکس جایگاه ویژهای به دلیل سادگی در اجرا دارد.
استفاده از دستور shred
این دستور همانند دستور rm تمامی فایلها را حذف کرده و یا به عبارتی خرد میکند و هیچ راه برگشتی نیز برای کاربر نمیگذارد. برخلاف دستور rm که پس از حذف فایلها میتوان با نرم افزارهای ریکاوری به بازگردانی فایلها پرداخت ، اما استفاده از این دستور هیچ راه برگشتی باقی نمی گذارد.
shred /dev/sda
حذف بستههای نرم افزاری از لینوکس
بارها شده که قصد دارید تمامی بستههای نرم افزاری را از لینوکس خود حذف کنید ، اما اگر با دستوراتی مشابه زیر این اقدام را انجام دهید ، به شما یقین خواهیم داد که لینوکس شما دیگر کار نخواهد کرد.
در Centos
yum uninstall linux*
در ابونتو و دبیان
apt-get purge selinux
apt-get remove linux-header
تمام دستورات بالا پس از اجرا پکیجهای لینوکس شما را به کل حذف کرده و شما قابلیت تنظیم و یا نصب هیچ چیز را در لینوکس خود نخواهید داشت.
در صورت نیاز به پکیج یا پکیجهای مختلف ، قبل اجرای دستور لیستی از پکیجها تهیه کرده و صرفاً به حذف آنها بپردازید.
نکته : بارها دیده شده کاربران برای سادگی در حذف بستههای نرم افزار از دستورات بالا استفاده میکنند اما راه کار درست ومناسبی نخواهد بود.
استفاده نادرست از متد ارسال خروجی دستور
همانطور که میدانید ، لینوکس در هنگام نصب تمام اطلاعات و دایرکتوریهای خود را در dev/sda/ ذخیره میکند ، حال اگر در این دایرکتوری اطلاعاتی اضافه شود، در اصل شما بر روی فایلهای لینوکس خود اطلاعات را ذخیره میکنید و این به منزله از دست دادن اطلاعات لینوکسی شما خواهد بود.
به مثالهای زیر توجه کنید.
cat file.txt > /dev/sda
wget http://iranserver.com > /dev/sda
ls -la / > /dev/sda
در این 3 مثال اطلاعاتی نسبت به درخواست شما در شاخه dev/sda/ ذخیره شده و همین امر باعث حذف لینوکس خواهد شد.
حال به مثال زیر توجه کنید.
find / -iname "*.php" > /dev/sda1/ log.txt
در این مثال ما قصد داشتیم اطلاعات پیدا شده را در فایل log.txt ذخیره کنیم ، اما چون به اشتباه بین log.txt و شاخه قبلی یک Space اضافه شده است ، کلیه خروجی دستور ما در دایرکتوری dev/sda/ ذخیره خواهد شد.
این مورد از ، موردهایی است که به صورت کاملاً غیر عمد ممکن است اتفاق بیافتد.
استفاده نادرست از دستور mv
دستور mv همانند سایر دستورات ذکر شده ، یکی از پراستفادهترین دستورات در کاربری ساده لینوکس است و با وارد کردن آن شما به جابهجایی فایلها میپردازید.
اما با وارد کردن دستور mv همانند دستورات زیر ، شما دایرکتوری home/ را حذف کرده و به همین ترتیب ، لینوکس خود را از دست خواهید داد.
mv /home /dev/null
استفاده نادرست از دستور dd
دستور dd یکی از قدرتمندترین و البته مفیدترین دستورات لینوکس است که در عین حال میتواند بسیار خطرناک باشد و به همین دلیل در لیست دستورات خطرناک در لینوکس قرار گرفته است.
به دستورات زیر توجه فرمایید.
dd if=/dev/zerro of=/dev/sda3
dd if=/dev/random of=/dev/sda3
dd if=/dev/sda1 of=/dev/sda3
دستورات نوشته شده در خط بالا ، کلیه اطلاعات sda3/ را حذف خواهد کرد.
استفاده از base64
base64 که یک محیط اجرا گرا در لینوکس است بسیار خطرناک و البته مهم خواهد بود. Base64 قابلیت پردازش و اجرای دستورات را در مود خود داشته و به سادگی آنها را اجرا خواهد کرد.
به مثال زیر توجه فرمایید.
echo cm0gLXJmIH4vKg== | base64 -d
در دستور نوشته شده ، یک سری کاراکتر برای اجرا به Base64 ارسال میشود ، که این کاراکترها در واقع یک عبارت رمزنگاری شده از دستور / rm -rf است.
نکتهای که باید توجه داشته باشید، در هر برنامه اگر مشاهده کردید تعدادی کاراکتر نا همگون به Base64 ارسال شده است ، حتماً قبل از اجرا آن را تست کنید. برنامه نویسان تنها در شرایطی کدهای خود را رمزنگاری میکنند که یا کدهایشان را مخفی کنند و یا قصد خرابکاری داشته باشند.
استفاده نادرست از mkfs.ext4
این دستور که در واقع قابلیت تبدیل درایوها به فایل سیستم EXT4 را دارد اگر به صورت زیر استفاده شود ، درایو sda/ را به طور کل از ابتدا تقسیمبندی و فرمت کرده و به کل لینوکس شما را از بین خواهد برد.
mkfs.ext4 /dev/sda1
خُب در اینجا مقاله دستورات خطرناک در لینوکس به پایان رسیده است.
نکته : ممکن است برخی دستورات و مواردی که ذکر شد در نسخههای مختلف لینوکس کاربرد نداشته باشد ولی بررسی در این مقاله بر روی لینوکس Centos و Debian انجام شده است.
امیدواریم پس از مطالعه این مقاله با دقت بیشتری دستورات خود را وارد کرده و نکات امنیتی لینوکس را به صورت کامل رعایت کنید.
امیدواریم آموزش دستورات خطرناک در لینوکس برای شما مفید واقع شده باشد.
کاربر گرامی شما میتوانید سؤالات مربوط به این آموزش را در بخش کامنتها عنوان کرده و در همین قسمت پاسخ خود را دریافت کنید.
نظرات کاربران