סופו של סוהוסין; מה הלאה?
במשך שנים רבות, השתמשתי בקנאות סוהוסין עם כל יישום של PHP5 על Apache2 או PHP-FPM Nginx שרתי אינטרנט כדי להגן מפני הזרקת SQL והתקפות אינטרנט נפוצות אחרות. למעשה, PHP5 היה כל כך הרה אסון, הן מבחינת אבטחת הליבה שלה, ואת הפונקציות והמודולים שלה שמעולם לא יכולתי להעלות על דעתי להשתמש בו ללא כל התקשות משמעותית שסוהוסין מספק.
מכיוון ש- PHP5 פוחת ותוכניות המורשת שלי נעלמו כולן, אני נשאר עם כמה יישום של PHP7 ואין תיקוני סוהוסין זמינים.
למרות, זה עדיין אפשרי מבחינה טכנית להוסיף Suhosin PHP 7.0 ו 7.1 (פרה-אלפא – לא לייצור), זה הוגן לומר כי הפרויקט כבר מזמן נעלם PHP7 כבר הוכיח כי זה יכול להיות בעייתי כאילו היה קודמו. כשאני חושב על תוספת חדשה ל- WAF ולאבטחת הליבה של PHP7, אלה חלק מהפתרונות שהגעתי איתם:
השבתת פונקציות פגומות או מיותרות
ישנן פונקציות מסוכנות רבות שנבנו בתוך ה- PHP שעלולות להיות מסוכנות ויש להשבית אותן בתוך 'php.ini' כברירת מחדל. אתה יכול למצוא את קובץ config באמצעות הפקודה שלהלן ולהשבית את הפונקציות באמצעות vi או nano.
php -i | grep "php.ini"
שימו לב: אם אתה מפעיל גרסאות שונות של PHP בו זמנית או שהתוכנית מותקנת כחלק מיישום אחר של צד שלישי, אז הסיכויים גבוהים שיש לך מספר 'php.ini' מותקן וזה לא ברור איזה מהם נטען על ידי שרת האינטרנט. ודא שאתה עורך את הגירסה הנכונה (PHP -V).
הוסף את השורה הבאה בסוף הקובץ 'php.ini', ודא ששמרת את הקובץ, והפעל מחדש את שרת האינטרנט. אתה יכול ללמוד על כל אחת מפונקציות PHP אלה בכתובת זו. כפעולה מדודה, ייתכן שתרצה להוסיף אותם אחד אחד כדי לוודא שזה לא משפיע לרעה על היישומים שלך.
disable_functions = popen, eval, leak, exec, shell_exec, curl_exec, curl_multi_exec, parse_ini_file, mysql_connect, system, phpinfo, escapeshellarg, escapeshellcmd, passthru, symlink, show_source, mail, sendmail, proc_open, proc_nice, proc_terminate, proc_get_status, proc_close, pfsockopen, posix_kill, posix_mkfifo, posix_setpgid, posix_setsid, posix_setuid
השבתת רישום גלובלים ו- Base64
Register Global היא פונקציה של PHP המאפשרת להמיר מערכי קלט לכתובת האתר למשתנה בתוך הקוד שלך. לכן, כל קוד שעלול להיות פגיע יכול להיות מנוצל על-ידי תוקף שיכול להעביר מערכים זדוניים באמצעות בקשות HTTP GET או POST.
ניתן להשבית את Register Globals בקלות על ידי הוספת השורה הבאה בסוף 'php.ini'. אל תשכח להפעיל מחדש את שרת האינטרנט כדי לבצע את השינויים.
register_globals = Off
בדיוק כמו הרשמה גלובלית, Base64 הוא עוד תכונה מיותרת לעתים קרובות שפותחת את הדלת לדלתות אחוריות זדוניות. אתה יכול להשבית את מפענח Base64 לצמיתות על ידי הוספת השורה הבאה לסוף 'php.ini'.
base64_decode = Off
פרסם כתב ויתור
הנופים, מידע, או שהדעות המובעות הן אך ורק של המחבר ואינן מייצגות בהכרח את אלה של מעסיקו או של הארגונים שעמם הוא קשור.
המידע הכלול בפוסט זה הוא למטרות מידע כללי בלבד. המידע מסופק על ידי פרהאד מופידי ובעוד הוא שואף לשמור על עדכניות ודיוק המידע, הוא אינו מציג כל מצג או אחריות מכל סוג שהוא, מפורש או משתמע, לגבי השלמות, דיוק, מהימנות, התאמה או זמינות של האתר. פרהאד אינו מציג כל מצג או אחריות. או כל מידע, מוצרים או גרפיקה קשורה הכלולים בכל פוסט לכל מטרה.
גם, AI עשוי לשמש ככלי כדי לספק הצעות ולשפר חלק מהתכנים או המשפטים. הרעיונות, מחשבות, דעות, והתוצרים הסופיים מקוריים ומיוצרים על ידי המחבר.