نحوه محافظت کردن shellchock

Shell یا خط فرمان قسمتی از نرم‌افزار است که به یک رایانه این امکان را می‌دهد تا با ترجمه متون ورودی با محیط بیرون ارتباط برقرار کند. این مشکل امنیتی نه تنها رایانه‌ها بلکه قفل‌های هوشمند، دوربین‌ها، فضاهای ذخیره سازی و دیگر دستگاه‌های صوتی و تصویری برپایه لینوکس را نیز تحت تاثیر قرار می‌دهد.

Bash یک Shell برای سیستم‌ عامل های مبتنی بر Unix است، به عبارت دیگر Bash یک مفسر است که دستورات کاربر را مدیریت می‌کند و همچنین می‌تواند به عنوان یک مفسر برای CGI Script ها در وب سرور به کار گرفته شود.

حفره امنیتی bash می تواند با در اختیار گرفتن خط فرمان با command prompt رایانه، تمام کدهای دستوری مورد نظر هکر را اجرا کرده و تغییرات دلخواه را در سیستم شما انجام دهد.

هکرها با استفاده از bash به راحتی می توانند کنترل رایانه کاربر را در اختیار گرفته و تمام فایل‌های وی را به رایانه ای ثالث انتقال بدهند. متاسفانه این آسیب پذیری  همچون خونریزی قلبی اینترنت از مدت‌ها پیش به بسیاری از سیستم‌ها نفوذ کرده است و همین عامل، شناسایی و پاکسازی رایانه‌های آلوده را بسیار دشوار می‌کند.

- See more at: http://www.idsco.ir/Shellshock-Bash-bug#sthash.5muQL30M.dpuf

تست آسیب پذیری سیستم

می‌توانید با اجرا کردن فرمان زیر در خط فرمان Bash ، هر یک از سیستم‌های خود را که از Bash استفاده می‌کنند، از نظر آسیب پذیری Bash تست کنید:

 

قسمتِ های‌ echo Bash is vulnerable! در فرمان، نشان دهنده‌ی محلی‌ست که یک هکر می‌تواند کد‌های مخرب را تزریق کند.هکر با این کدها میتواند در تعریف متغییر محیطی تابعی را در داخل متغییر محیطی تعریف کند و این تابع هم هنگام اجرای Bash اجرا میشود. بنابراین اگر خروجیِ زیر را مشاهده کردید، به این معنی‌ست که نسخه‌ی Bash شما آسیب پذیر است و نیاز به آپدیت دارد.

اگر خروجیِ شما حاوی هرگونه اخطار و یا خطا در مورد Bash باشد، باید Bash را به آخرین نسخه‌ی آن آپدیت کنید.
اگر تنها خروجیِ دریافتی در جواب فرمان فوق ، گزینه‌ی زیر باشد، Bash شما از Shellshock در امان است:

 

تست سایت‌های ریموت


اگر فقط قصد دارید بدانید که آیا وب‌سایت‌ها و یا اسکریپت‌های CGI خاص آسیب پذیر هستند یا نه، به لینک زیر مراجعه کنید:ShellShock Bash Vulnerability CVE-2014-6271 Test Tool

 کافی‌ست URL وب سایت و یا اسکریپت CGI مورد نظر خود را در فرم مخصوص وارد کنید.

 

اصلاح آسیب پذیری: آپدیت Bash

ساده‌ترین روش اصلاح این نقص امنیتی، استفاده ازسیستم مدیریت بسته‌ پیش‌فرض توزیع لینوکس شما برای آپدیت کردن نسخه‌ی Bash است. زیر مجموعه‌های زیر به آپیدت کردن Bash در توزیع‌های مختلفی از لینوکس مانند Ubuntu، CentOS، Red Hat و Fedora می‌پردازد.
APT-GET: Ubuntu / Debian
در مورد ورژن‌های پشتیبانی شده‌ی فعلیِ Ubuntu یا Debian، حتما Bash  را بروش زیر با apt-get به آخرین نسخه آپدیت کنید:

 

سپس دوباره آسیب پذیری سیستم خود را با استفاده ار فرمانی که در قسمت قبل نشان داده شد، چک کنید.

 

نسخه های منتشر شده قدیمی Ubuntu/ Debian

اگر در حال استفاده‌ از نسخه های منتشر شده قدیمی Ubuntu/ Debian هستید، لازم است به نسخه منتشر شده پشتیبانی شده آپگرید کنید تا بتوانید از سیستم مدیریت بسته آن نسخه جدید برای آپدیت کردن Bash استفاده کنید. می‌توانید از فرمان زیر برای آپگیرد کردن به انتشاری جدید استفاده کنید. پیشنهاد می‌شود که قبل از انجام این کار، از سرور و اطلاعات مهم خود نسخه‌ی پشتیبان تهیه کنید تا در صورت بروز احتمالی هر گونه مشکل، چیزی را از دست ندهید.

 

پس از انجام آپگرد، Bash خود را آپدیت کنید.


YUM: CentOS/Red Hat/ Fedora


Bash خود را از طریق زیر به آخرین نسخه‌ی موجود آپدیت کنید:

 

سپس دوباره آسیب پذیری سیستم خود را با استفاده ار فرمانی که در قسمت قبل نشان داده شد، چک کنید.


نسخه های منتشر شده قدیمی CentOS/Red Hat/ Fedora

اگر در حال استفاده‌ از نسخه های منتشر شده قدیمی CentOS/Red Hat/ Fedora هستید، لازم است به نسخه منتشر شده شده پشتیبانی شده آپگرید کنید تا بتوانید از سیستم مدیریت بسته آن نسخه جدید برای آپدیت کردن Bash استفاده کنید. می‌توانید از فرمان زیر برای آپگیرد کردن به نسخه منتشر شده جدید استفاده کنید. پیشنهاد می‌شود که قبل از انجام این کار، از سرور و اطلاعات مهم خود بک آپ تهیه کنید تا در صورت بروز احتمالی هر گونه مشکل، چیزی را از دست ندهید.

 سپس دوباره آسیب پذیری سیستم خود را با استفاده ار فرمانی که در قسمت قبل نشان داده شد، چک کنید.

 

نتیجه


تمامی سرورهای آلوده‌ی خود را به آخرین نسخه‌ی Bash آپدیت کنید. اطمینان حاصل کنید که تمامی سرورهای شما ز لحاظ امنیتی کاملا به‌روز باشند.