29-04-2017, 20:11
|
מנהל פורומי "תכנות ובניית אתרים" ו"חומרה ורשתות"
|
|
חבר מתאריך: 25.10.01
הודעות: 42,775
|
|
השיטה לעבוד בד"כ היא שכל מערכת "נפרדת" בשרת רצה תחת משתמש של עצמה, ויכולה לגשת רק למקומות שהוגדרו לה. בכך, אם יש בה באג, מערכת ההפעלה עוזרת לך בכך שהיא מונעת כתיבה (ואף קריאה) לכל מקום שהוא לא המקומות האלה. למשל, פריצה לאפליקציה לא תאפשר לקרוא את הקבצים של mysql, שרץ במשתמש אחר שרק לו יש הרשאות לקרוא את קבצי מסד הנתונים. כמובן, שאם למשתמש ה mysql שמוגדר באפליקציה שלך יש הרשאות לעשות הכל במסד הנתונים, זה חסר ערך כי הפורץ יכול להשתמש פשוט בהרשאות של האפליקציה ככל העולה על רוחו. לכן, אם אתה ממש מקפיד, אתה יוצר משתמשים שונים למסד הנתונים, שכל אחד יכול לבצע רק מה שהוא צריך, וגם דואג להפריד את חלקי האפליקציה כך שלא כולם משתמשים באותו משתמש של מסד הנתונים (ולא יכולים לקרוא את פרטי המשתמש אחד של השני), ושוקד על האבטחה הכי הרבה בחלקים שיש להם גישה בעלת הפוטנציאל הגבוה ביותר לנזק - ורק הרבה על כל שאר החלקים של האפליקציה.
העובדה שלמשתמש שלך יש גישה לשנות את הקבצים האלה, לא מוסיפה ולא מורידה, מכיוון שהמשתמש שלך לא מריץ אף תוכנה שפורץ יגש אליה (ואם הוא כן, כנראה שלא עשית מה שכתבתי בפיסקה הקודמת). אבל כן, יש כאן אלמנט של נוחות. אני אישית עושה אחרת - כי לא איכפת לי מאי הנוחות של עצמי ואני גם רוצה להיות בטוח. אני מעלה את הקבצים לשרת כמשתמש רגיל, ואז, מתוך root, מעביר אותם אל היעד הרצוי. למשתמש הרגיל שלי אין הרשאה לכתוב לשום מקום חוץ מלספרית הבית שלי (ול tmp/, היכן שלכל המשתמשים יש הרשאת כתיבה)
אגב, אני לא חושב שאפשר ללמוד אבטחת מידע בהתכתבות - זה עולם גדול מאוד ואני לא מתכוון לכסות את כולו. אם זה חשוב לך (וזה צריך להיות חשוב לכל מי שמריץ אתר ששלומו חשוב למריץ) - אתה צריך ללמוד את הנושא בצורה מסודרת, לדעתי.
|