בלוג אבטחת מידע
סלאש סלאש

שיתוף קבצים ברשת ארגונית – מה זה WebDAV ואיך אוכלים אותו

| אין תגובות

האם אתם עומדים בפני שאלה – איך לממש שיתוף קבצים בארגון בצורה פשוטה, מהירה ומאובטחת, כאשר אין צורך במערכות וחומרה יקרה, כגון NetApp או מימוש SAN? בואו תשמעו על Web Distributed Authoring and Versioning, או בקיצור – WebDAV.

WebDAV מרחיב את הפרוטוקול HTTP בעזרת מספר מתודות ו- headers על מנת לתת פתרון מודרני עבור גישה וניהול משאבים על בסיס תשית web הקיימת בארגון ובאינטרנט. מסמך ה- RFC הראשון יצא בשנת 1999, אך התמיכה בפרוטוקול כבר הייתה קיימת בחלק מהמערכות הפעלה או נוספה עם העדכונים. בשנת 2007 יצא RFC4918, המעדכן את הפרוטוקול לגרסתו הנוכחית.

חלופות

לפני שנעבור ליתרונות הפרוטוקול, בואו נראה אילו שיטות שיתוף קבצים נפוצות בארגונים כיום:

  • FTP – פרוטוקול ותיק מאוד, הנמצא בשימוש כבר למעלה משלושים שנים. עקב מימוש פשוט ותמיכה ברוב המכריע של המערכות, הפרוטוקול עדיין נמצא בשימוש רחב גם באינטרנט וגם ברשתות ארגוניות (Intranet). הפרוטוקול אמין ומהיר, אך גם לא מממש אף מנגנון אבטחה, פרט להזדהות פשוטה באמצעות שם משתמש וסיסמה. בעבר גם נמצאו פריצות, המנצלות את הפרוטוקול לרעה (על FTP bounce שמעתם?). הפרוטוקול בצורתו הסטנדרטית אינו תומך בהזדהות תשתיתית וגם אינו מיישם הצפנת תווך. ישנם מספר מימושים המרחיבים את הפרוטוקול. שרת IIS בגרסה 7 ומעלה מספק פרוטוקול FTPS (קיצור של FTP over SSL), המאפשר הצפנת התווך והזדהות תשתיתית מבוסס Active Directory. היעדר תוכנות לקוח משאיר פתרון זה לא שימושי ולא נפוץ.
  • SMB – פרוטוקול הנועד במקורו לתת פתרון גישה לקבצים הנמצאים ברשת בצורה דומה, כמו לקבצים מקומיים, ועושה שימוש ב- RPC למטרה זו. הפרוטוקול הורחב ע"י Microsoft, אשר הציעה גם לשנות את שמו ל- CIFS, שזה Common Internet File System, וכיום הינו פרוטוקול ברירת מחדל במערכות Windows, לצורכי שיתוף קבצים ומדפסות ברשת וכן תקשורת בין תהליכים (IPC). פרוטוקול זה מתאים יותר לסביבה ארגונית בכך שמספק אפשרות להזדהות תשתיתית, אך אינו תומך בהצפנת תווך. עם הזמן המימושים של הפרוטוקול במערכות שונות (ומערכת Windows בפרט) נמצאו כבעלי פרצות רבות. חסרון נוסף של הפרוטוקול הוא ירידה בביצועים ברשתות רחבות (WAN). עקב כך, פרוטוקול SMB אינו נמצא בשימוש ברחבי האינטרנט.

מה זה WebDAV?

פרוטוקול WebDAV בא לתת פתרון המאחד בתוכו יעילות, מהירות, אבטחה, גמישות וכן קלות ההטמעה (כבר שכנעתי אתכם?). התבססות על HTTP, ותיק יחסית, אך יותר חשוב – נפוץ, נותן מספר יתרונות משמעותיים:

  • מתבסס על תשתית קיימת. אם בארגון קיים שרת Web, ניתן בקלות להוסיף תמיכה ב- WebDAV. בפרט, שרת Apache ו- IIS תומכים בפרוטוקול זה "out of the box".
  • הזדהות מבוססת הגדרות בשרת Web. כלומר, אם השרת דורש, לצורך העניין, הזדהות Windows Integrated, שזה אומר NTLM או Kerberos, מבוססת Active Directory, גם הגישה למשאב תדרוש הזדהות זו – כמו כל אתר אחר המוגדר בצורה דומה על שרת זה.
  • הצפנת נתווך ואמינות המידע נובעות משימוש ב- HTTPS.
  • אין חוסר בתוכנות הלקוח.
  • בעל צורה קריאה – הרחבת HTTP ושימוש ב- XML.

תמיכה בתשתיות ארגוניות

לצורך פשטות ההסבר, אתמקד בארגון העושה שימוש בתשתיות Microsoft (ויש יותר מדי כאלה בארץ), אך חשוב להדגיש כי גם במערכות אחרות, כגון Linux ו- Unix למיניהם, קיימת תמיכה מעולה ב- WebDAV.

לאחר התקנה והגדרה של השרת, כבר ניתן לקבל גישה לקבצים באמצעות הדפדפן או Windows Explorer. בהנחה שהגדרנו משאב בשם dav (מצביע על תיקיה, או בשם אחר – "אוסף") על השרת בשם davserver, ניתן לגשת לקבצים באמצעות הדפדפן:

  • http://davserver/dav – על מנת לקבל רשימה של קבצים. בפלט זה יראה כמו listing של קבצים על שרת HTTP, אך חשוב לזכור שבעצם התקבל קובץ XML המכיל רשימה ותיאור הקבצים בתיקיה.
  • http://davserver/dav/secret.txt – על מנת לגשת לקובץ.

הדפדפן מספק רק יכולת בסיסית של קבלת רשימת קבצים והורדה שלהם. כדי שנקבל גישה ליכולות מתקדמות של WebDAV, כך שיספק פונקציונליות דומה לזו של SMB, נשתמש בפתרונות נוספים אשר Windows מספק.

  • Web Folders – הינו ה- client שהיה בשימוש בגרסאות Windows 98 ו- Windows 2000 ושימש כהרחבה ל- Windows Explorer. החל מ- Windows XP רכיב זה אינו נכלל בהתקנה, אך ניתן להוריד ולהתקין אותו בנפרד. במערכת Windows 7 ניתן לגשת לרכיב זה על ידי שימוש באשף Add Network Location (לא להתבלבל עם Map Network Drive, המוסבר בסעיף הבא). הערה: במידה ויש צורך ליצור Web Folder במערכת Windows Server 2003 ו- Windows XP, ניתן להתקין עדכון kb907306 על מנת לאפשר גישה בפרוטוקול HTTPS (פורט TCP 443) מלבד 80. במערכות Vista ומעלה העדכון מותקן מראש.
  • WebDAV mini-redirector – הינו הרכיב המשמש במערכות Windows החל מ- XP והוא המועדף מבין השניים. הרכיב פועל כ- service ישירות מעל מערכת הקבצים ומאפשר לגשת למשאבי WebDAV כמו לשיתוף SMB באמצעות כתובת UNC (סלאש-סלאש בשמו העממי), וכמובן מאפשר למפות אותם ל- drive letter. על מנת לגשת למשאב WebDAV דרך Windows Explorer, ניתן להשתמש בנתיב UNC:
    • davserver\dav\\ – גישה לרשימת קבצים.
    • davserver\dav\secret.txt\\ – גישה לקובץ.

אילו פורטים בשימוש WebDAV mini-redirector? באמצעות sniffer ניתן לראות שכאשר ניגשים באמצעות ה- UNC למשאב, נוצרת תקשורת גם בפורט TCP 445  (פרוטוקול SMB) או TCP 139 (פרוטוקול SMB על גבי NetBIOS), וזה בנוסף לפורט TCP 80/443 של WebDAV. זאת מכיוון שלא ניתן להבדיל בהסתמך על הנתיב, באיזה פרוטוקול יש לגשת לתיקיה הרצויה והמערכת מנסה את שניהם. באמצעות בדיקה פשוטה של חסימת פורטים 445 ו- 139 ניתן לבדוק שלא נעשה שימוש בפרוטוקול SMB בנוסף ל- HTTP/S של WebDAV אם מבטלים שיתוף קבצים רגיל.

CIA – Confidentiality, Integrity, Availability

איך אפשר שלא לדבר על ראשי תיבות האהובים על כולנו?

 סודיות המידע

הצפנת התווך ב- WebDAV מסתמכת על פרוטוקול TLS/SSL והגדרתו זהה לשימוש רגיל ב- HTTPS על שרת Web.

  •  במידה והגישה למשאב נעשת באמצעות דפדפן – יש רק לציין https ב- URL. לדוגמה: https://davserver/dav
  • במקרה של שימוש ב- Web Folders גם אין שינוי. יש לציין את כתובת המשאב בדיוק כמו במקרה של דפדפן.
  • במידה וישנו שימוש ב- WebDAV mini-redirector, גם פה יש צורך להצביע על שימוש ב- TLS/SSL, אך בצורה מעט שונה:
    • davserver@SSL\dav\\
    • davserver@SSL\dav\secret.txt\\

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

בנוסף, מכיוון שהפרוטוקול מסתמך על תשתיות קיימות בארגון, צורת ההזדהות נגזרת מאפשרויות הנתמכות בשרת. במקרה של שרת IIS, ניתן להגדיר הזדהות Windows Integrated שתבטיח שימוש בפרוטוקול NTLM או Kerberos לצורך הזדהות של המשתמשים. פרוטוקולים אלו נתמכים כהרחבה ל- HTTP בתשתיות Microsoft ונתמכים על ידי רוב הדפדפנים. טוב, לפחות NTLM. אם אתם משתמשים ב- Firefox תצפו לבעיות עם Kerberos.

באותה מידה, חשוב גם להקפיד על הרשאות משתמשים מחמירות. ההרשאות מתבצעות פר תיקייה או קובץ על בסיס משתמשים בודדים או קבוצות. בתשתית Windows זה מתבצע עם הרשאות NTFS או, עדיף, באמצעות קבוצות ב- Active Directory.

שלמות המידע

WebDAV הנו פרוטוקול להעברת מידע ואינו אחראי על שלמות הקבצים הנשמרים על הדיסק. שלמות המידע המועבר על הקו מובטח עקב שימוש בפרוטוקול HTTPS במידה והופעל והוגדר כנדרש.

זמינות המידע

הפרוטוקול עושה שימוש במנגנון נעילות בגישה לקבצים. במידה והתוקף יצליח לנצל מנגנון זה לרעה, בעקרון הוא יוכל למנוע גישה למשאב לכל המשתמשים. חוץ מזה, אם השרת Web שלכם רגיש למתקפות DoS למיניהם, גם שירות WebDAV יושפע מזה. פה יש רק פתרון אחד – תשדרגו כבר את השרת הנידח ההוא שעדיין מריץ IIS 5 על Windows 2000.

איך להפעיל WebDAV?

הכנתי מדריך פשוט ליצירה של שיתוף WebDAV. השרת הנו Windows Server 2003 R2 SP2 וה- client הוא Windows XP SP2. כדי לא להרבות במילים מיותרות, המדריך בצורה של תמונות עם הסברים.

לסיכום

פרוטוקול WebDAV מספק מענה מודרני ונוח עבור פערים ארגוניים בתחום אבטחה ושיתוף המידע:

  • הזדהות ומודל הרשאות תשתיתי;
  • הצפנת תווך;
  • קלות הטמעה ופריסה;
  • מישהו אמר BYOD? אין צורך לדאוג לאפליקציה תומכת SMB. יש דפדפן – יש גישה לקבצים! הערה חשובה: מדובר על בגישה לקבצים דרך HTTP רגיל. לא כל הדפדפנים תומכים בכל הפונקציונליות של WebDAV, כמו יצירה ועריכה של קבצים. לאומת זאת, Windows, Linux ו- OSX תומכים בפרוטוקול בצורה מלאה דרך מנהל קבצים מובנה.

פינת השכלה כללית

כפי שכתבתי קודם, פרוטוקול SMB נמצא כפריץ במידה וההזדהות נעשית על בסיס NTLM בתשתית Windows. הרצאה מעניינת מ- BlackHat 2010 בנושא:

כתיבת תגובה

שדות חובה *.