כיצד לזהות ולהתגונן כנגד פריצת ה-Shellshock של Bash

במאמר זה נסביר איך לזהות ולהתגונן כנגד פירצת אבטחה ותיקה ב-GNU Bash, שנקראת Shellshock או Bash bug בקיצור.

הפריצה נותנת לפורץ אפשרות להפעיל פקודות קוד לפי פרמטרים מסוימים על ידי שליחה של שורת קוד קצרה, וכך לעקוף את הגבלות אבטחת השרת. מכיוון ש-Bash קיים בכל מערכת לינוקס, BSD ומק OSX, מחשבים אשר לא משדרגים את תוכנת ה-Bash שלהם מצויים בסיכון.

ה-Bash bug מאפשר פריצה לכל מערכת אשר מריצה אפליקציות ושירותים שמאפשרים קישור כל שהוא לסביבת עבודה עם Bash.

מספר מערכות שניתן לפרוץ דרכן:

  • Apache, אשר משתמש ב-CGI, דרך mod_cgi ו mod_cgid, אשר כתובים ב-Bash או מריצים Bash subshells.
  • חלק מתוכנות DHCP.
  • שרתי OpenSSH שמשתמשים ב-ForceCommand.
  • תוכנות רשת אחרות אשר משתמשות ב-Bash.

מידע נוסף ניתן למצוא כאן: CVE-2014-6271 ו CVE-2014-7169.

מכחוון שהפריצה הזו יותר רחבה אפילו מהפריצה של OpenSSH Heartbleed, וגם הרבה יותר קלה לתפעול, מומלץ מאוד לבדוק ולעדכן את והמחשב האישי שלכם.

בהמשך נסביר כיצד לבדוק ולחסום את הפריצה, אם ישנה כזו, וכיצד לעדכן את תוכנת ה-Bash ולהסיר את הפריצה.

 

בדיקת המערכת

על כל מערכת אשר פועל Bash, ניתן להריץ תחת bash:

 

env VAR='() { :;}; echo Bash is vulnerable!' bash -c "echo Bash Test"

 

החלק של Bash is vulnerable! מייצג את החלק שבו הפורץ יכל להזריק קוד זדוני בתוך המערכת. לכן, אם התוצאה שמתקבלת היא:

 

Bash is vulnerable!
Bash Test

המערכת שלך בסיכון!

ולכן אם התוצאה לא מציגה את השורה הזו אז השרת לא חשוף לפירצה.

 

בדיקת האתרים מרחוק

ניתן להריץ את הבדיקה הזו לבדיקה אם ישנה פריצת אבטחה דרך האתר שלכם:
כלי לבדיקת ShellShock' Bash Vulnerability CVE-2014-6271

 

תיקון הפריצה: עדכון Bash

הדרך המהירה והקצרה היא עדכון דרך מנהל החבילות שלך (apt-get, yum). נסקור רק את Debian, Ubuntu, Red-Hat, Centos ו-Fedora.

 

Debian/Ubuntu: apt-get

sudo apt-get update && sudo apt-get install –only-upgrade bash

CentOS/RedHat/Fedora: yum

sudo yum update bash

חשוב לזכור לעשות זאת עבור כל השרתים שלכם.

כעת ניתן לבדוק שנית אם הפריצה עדיין קיימת.

בהצלחה!


2024 © אחסון לינוקס - אחסון אתרים בישראל