סדר וארגון בשרת קבצים
כמו כל דבר בחיים גם בשרתים חובה שיהיה סדר וארגון. כשהדברים נוגעים לשרת הקבצים, לחוסר סדר וארגון יש השלכות רבות מבחינת אבטחת מידע וגם כספיות.
תוכן העניינים
באופן כללי, למה חשוב שיהיה סדר?
כמו בבית, גם בעבודה. חשוב לעבוד בסביבה נעימה, רגועה ומסודרת. כאשר אנו יודעים היכן כל דבר נמצא ולא מבזבזים כל פעם זמן כדי לאתר אותו, החיים הופכים לקלים יותר.
למה חשוב סדר בשרת הקבצים?
נקח לדוגמה את הארגון PlayingOrder (שם ארגון מומצא לטובת הדגמה).
לאותו ארגון יש 2 שרתי File Server אשר הקבצים והתיקיות מסודרים באופנים הבאים:
כפי שניתן לראות
בשרת הראשון- מופיעות תיקיות לא מסודרות לפי מחלקות, לכל משתמש יש תיקיות במיקום אחר, קבצים חשובים מפוזרים, כתוצאה מכך משתמשים מתקשים לאתר את מיקומי התיקיות, ופותחים עוד תיקיות במיקומים אחרים. וכך זה נמשך.
בשרת השני- יש סדר לפי מחלקות, כל משתמש מנותב לתיקיית מחלקה שלו בלבד, יש מבנה הרשאות, ואין אפשרות להעביר מסמכים ותיקיות למיקומים אחרים.
היררכיית תיקיות
בשרת הראשון מתברר, שלכל אחד מהמשתמשים יש את האפשרות ליצור תיקיות חדשות ואף למחוק תיקיות קיימות, להעביר קבצים כאוות נפשם לכל תיקיה שרק תעלה בדעתם לגשת אליה, ואפילו להציץ בהרשאות על אותן תיקיות. מה שמוביל אותנו לנושא החשוב הבא.
הרשאות גישה מתאימות
בניהול רשת חובה בתור התחלה שכל משתמש יכיר את מקומו הוירטואלי. כמו בחיים האמיתיים, משתמש שלא יודע את מקומו, מתחיל ליצור בלאגן שמשפיע באופן ישיר על כלל הארגון, ובהמשך נסביר גם מדוע.
כאשר מתחילים להגדיר היררכיית תיקיות, חובה ליצור גם היררכיות הרשאות. זאת אומרת, שלמשתמשים מסוימים לא יתאפשר לגשת למיקומי תיקיות מסויימים.
כגון הדוגמאות הברורות הבאות:
- פרילנסרים ומשתמשים שהם לא הנהלה- לא יורשו לגשת לתיקיות הנהלה וכספים.
- משתמשים מאחזקה לא יורשו לגשת להצעות מחיר של מחלקת מכירות.
- מניעת משתמשים חדשים מלגשת לכלל תיקיות הארגון.
- הגדרת משתמשים לגישה אך ורק לתיקיות שלהם עצמם.
כמובן שניתן גם לשכלל, ובמידה וכן רוצים לתת גישה למשתמשים אך חוששים מהנזק, אפשר להגדיר הרשאת Deny על קבוצות משתמשים, כך שלא יוכלו לבצע Delete על מסמכים.
קבוצות
השיטה הטובה ביותר לשמירה על עקרונות סדר וארגון היא עבודה לפי קבוצות.
המדובר כמובן על קבוצות Security ב-Active Directory, שם ניתן להגדיר קבוצות משתמשים, כדי שלאחר מכן ישמשו להכנסה בהרשאות ה-NTFS של התיקיות.
בקרה ושליטה
מבחינת בקרה, מומלץ להשתמש בתוכנה מעולה בשם Permission Reporter המאפשרת לנו צפיה בהרשאות תיקיות לפי כוננים בצורה נוחה ומסודרת:
באמצעות תוכנה זו ניתן לייצא את ה-Reports לקובץ HTML (חינמי) כמו גם לעוד סוגי קבצים (בגרסה בתשלום):
התוצאה:
להורדת דוגמה של הפלט לחצו כאן
משקל הקובץ המיוצא לעיתים עולה על 1GB. באמצעות הכלי 7zip ניתן לכווץ אותו לכדי 0.007% ממשקלו, על ידי בחירה :
התוצאה? הגודל המכווץ עומד כעת על 7.8MB (!!):
כדאי לציין גם את AccessEnum החינמית מבית מיקרוסופט. התוכנה בודקת את ההרשאות על תיקיות, כן, גם תיקיות רשת, ומציגה הרשאות משתמשים על התיקיות, ומציגה הרשאות מוגזמות על תיקיות, או מחסור בהרשאות (Everyone לדוגמה) משתמשים.
ניתן לייצא את התוצאות לקובץ TXT בלבד
ביצוע באמצעות PowerShell
על מנת לייצא נתוני Folder Permission (של תיקיה ספיציפית) אל קובץ CSV יש להשתמש בפקודה הבאה:
Get-Acl -Path C:\ESET | Format-List AccessToString > C:\intel\Permissions.csv
לקבלת מסמך CSV מפורט עבור תיקיה+תת תיקיות (לא קבצים) יש להשתמש בקוד הבא (להריץ דרך Powershell ISE כאדמין):
בשורה התחתונה יש לציין תיקיה קיימת אליה יש לכם הרשאות כתיבה.
$AllFolders = Get-ChildItem -Directory -Path "c:\eset" -Recurse -Force $Results = @() Foreach ($Folder in $AllFolders) { $Acl = Get-Acl -Path $Folder.FullName foreach ($Access in $acl.Access) { if ($Access.IdentityReference -notlike "BUILTIN\Administrators" -and $Access.IdentityReference -notlike "domain\Domain Admins" -and $Access.IdentityReference -notlike "CREATOR OWNER" -and $access.IdentityReference -notlike "NT AUTHORITY\SYSTEM") { $Properties = [ordered]@{'FolderName'=$Folder.FullName;'AD Group'=$Access.IdentityReference;'Permissions'=$Access.FileSystemRights;'Inherited'=$Access.IsInherited} $Results += New-Object -TypeName PSObject -Property $Properties } } } $Results | Export-Csv -path "C:\intel\Permissions - $(Get-Date -format MMyy).csv"
צפיה בכל עץ התיקיות ב-Windows Explorer
לגבי שליטה- בצד ה-GUI- ניתן לגשת ב-Explorer אל התיקיה העליונה, ועל מנת לפתוח את כלל התיקיות שמתחתיה יש ללחוץ על המקש *
בצד הקוד- השורה הפשוטה הבאה (להרצה בקונסולת PowerShell) תסדר לכם את רשימת התיקיות בצורת List בקובץ TXT:
Get-ChildItem | tree > foo.txt
התוצאה:
בצד משקל התיקיות- ניתן להשתמש בתוכנה Treesize המציגה את היררכיית התיקיות יחד עם המשקל שלהן. או להשתמש בסקריפט PowerShell להצגת משקל עודף של תיקיות.
חיפוש קבצים כפולים
לחיפוש קבצים כפולים בשרת תוכלו להשתמש ב-Wise Duplicate Finder
זה נראה כך:
מה קורה בצד הגיבויים?
אם נציץ לרגע על שרת הגיבויים שלנו, נוכל לראות שהדלתאות תופסות נפח לא מבוטל.
כתוצאה מחוסר סדר וארגון בשרת הראשון, הגיבויים מתנפחים, גיבויי FULL מרובים או דלתאות על דלתאות מגובות בלי בקרה, ואיתם מגיע ניפוח בעלויות.
וכבר יצא לנו להיתקל בסטורג’ של 100TB שהתמלא והבעלים רצה לרכוש עוד סטורג במקום לפנות מקום.
טיפים נוספים
תוכלו להסתייע בטיפים הבאים:
- איתור נפח תיקיות כבדות באמצעות פקודת Powershell
- איתור תיקיות כבדות בדיסק- באמצעות תוכנת FolderSizes
- פינוי דיסק קשיח מלא– היכן נמצאים בדרך כלל הקבצים הכבדים במערכת ההפעלה.
- במידה ונדרש מומלץ לרכוש סטורג עם הפתרון של חברת Synology. הנאה מובטחת.
עלויות זה שם המשחק
בשורה התחתונה, באופן כללי לכל ארגון יש הוצאות רבות במגוון נושאי אבטחת מידע, אך כאן מדובר גם על הוצאה בעלות תשתיות גבוהה. הדלתאות בגיבויים יכולות להגיע למימדים עצומים, ובאם לא עושים סדר וארגון מקבלים הוצאה גבוהה בדמות שרתים או נפחי אחסון חדשים. ידוע לנו על ארגון שרכש תוספת כפולה של נפח יחד עם שרתי Nutanix חדשים, רק כדי שלא יצטרך לבצע סדר וארגון.
מה דעתכם? יש לכם טיפים או הערות? נשמח לתגובות
אצלנו בארגון הכניסו נוהל שכל המשתמשים שומרים את הקבצים שלהם בתוך תיקיה ייעודית שהיא שייכת אך ורק להם. התיקיה נמצאת בשרת קבצים אחד, והגיבוי מתבצע פעמיים ביום רק על השרת הקבצים.