مرکز آموزش
-
رفع مشکل امنیتی BASH حاد سیستم عامل لینوکس مک
رفع مشکل امنیتی BASH حاد سیستم عامل لینوکس مک
مشکل امنیتی BASH برای سیستم عامل لینوکس می باشد ، این مورد در تاریخ 25 سپتامبر شناسایی شده است و برروی تمامی سرور های میزبانی وب ابری میزبان پایتخت رفع شده است، لذا صاحبان سرور مجازی لینوکس می بایست اقدام به رفع مورد خود از طریق آموزش زیر نمایند.
Bash چیست؟
Bash یا Bourne-again shell سیستم shell اصلی سیستم عامل Ubuntu می باشد. هنگامیکه شما از طریق Terminal یعنی terminal emulator , tty , ssh به سیستم عامل دسترسی پیدا می کنید شما معمولا دستورات bash را می خوانید و اجرا می کنید. حتی اگر شما به terminal دسترسی ندارید شما bash را برروی سیستم عامل خودتان دارید.
توضیحات حفره:
یک عیب یا ایراد در کارکرد bash یافت شده است که مقادیر ارزش گذاری شده در environment را به environment دیگری منتقل می کند. هکر یا حمله کننده می تواند از این ویژگی استفاده کند و اقدام به دور زدن محدودیت های environment برای اجرا کردن دستورات shell قبل از اینکه محدودیت از سوی environment اعمال گردد نماید. بسیار سرویس و اپلیکشین به هکر اجازه می دهند به صورت مخفیانه و unauthenticated دسترسی به مقادیر environment داشته باشند و توسط exploit ها برای شما مشکل بیافرینند.
چگونه این exploit برروی من تاثیر می گذارد ؟
مقاله زیر را دنبال نمایید.
سیستم عامل های تحت تاثیر:
1- Ubuntu: http://www.ubuntu.com/usn/usn-2362-1/
2- CentOS: Versions 5,6,7: http://lists.centos.org/pipermail/centos/2014-September/146099.html
3- Debian: https://security-tracker.debian.org/tracker/CVE-2014-6271
4- MacOs: http://alblue.bandlem.com/2014/09/bash-remote-vulnerability.html
رویه شناسایی مشکل
دستور زیر را در ssh وارد نمایید (پیشنهادی):
for i in \`type -a bash| egrep -o "/.\*"\`; do /bin/echo -n "$i " ; x="() { :; };t=un" $i -c 'echo is ${t}safe' 2>/dev/null; done
یا این یکی:
env x='() { :;}; echo vulnerable' bash -c "echo hello"
- اگر سیستم شما آسیب پذیر باشد شما مقدار زیر را مشاهده می کنید:
vulnerable
hello
- اگر سیستم شما آسیب پذیر نباشد, شما مقدار زیر را مشاهده می کنید:
bash: warning: x: ignoring function definition attempt bash: error importing function definition for`x' hello
For CVE-2014-7169
دستور زیر را در ssh وارد نمایید (پیشنهادی):
cd /tmp; rm -f /tmp/echo; env 'x=() { (a)=>\\' bash -c "echo date"; cat /tmp/echo
- اگر سیستم شما آسیب پذیر باشد شما مقدار زیر را مشاهده می کنید:
cd /tmp; rm -f /tmp/echo; env 'x=() { (a)=>\\' bash -c "echo date"; cat /tmp/echo
bash: x: line 1: syntax error near unexpected token \`='
bash: x: line 1: \`'
bash: error importing function definition for \`x'
Fri Sep 26 09:53:04 EDT 2014
- اگر سیستم شما آسیب پذیر نباشد, شما مقدار زیر را مشاهده می کنید:
cd /tmp; rm -f /tmp/echo; env 'x=() { (a)=>\\' bash -c "echo date"; cat /tmp/echo
date
cat: /tmp/echo: No such file or directory
راه حل:
1- Ubuntu:
http://www.ubuntu.com/usn/usn-2362-1/
برای بروزرسانی سیستم خودتان طبق آموزش روبرو عمل نمایید.: https://wiki.ubuntu.com/Security/Upgrades.
شما از طریق دستور زیر می توانید اقدام به بررسی نسخه نمایید.:
dpkg -s bash | grep Version
برای بروزرسانی و نصب نسخه جدید bash:
sudo apt-get update && sudo apt-get install bash
2- CentOS:
شما از طریق دستور زیر می توانید اقدام به بررسی نسخه نمایید.:
rpm -qa bash
بروزرسانی بسته Bash:
yum update bash
3- Debian: https://security-tracker.debian.org/tracker/CVE-2014-6271
برای بروزرسانی و نصب نسخه جدید bash:
sudo apt-get update && sudo apt-get install bash
4- MacOS:برای بروزرسانی سیستم خودتان طبق آموزش روبرو عمل نمایید.: http://alblue.bandlem.com/2014/09/bash-remote-vulnerability.html
منابع: