בארכיטקטורת ההפניה הזו נראה איך ליצור צינור מבוסס-אירועים שיכול לעזור לכם לבצע אוטומציה של הערכת קבצים לזיהוי תוכנות זדוניות כמו סוסים טרויאניים, וירוסים וקוד זדוני אחר. הערכה ידנית של מספר גדול של קבצים שמועלים ל-Cloud Storage היא תהליך ארוך מדי עבור רוב האפליקציות. אוטומציה של התהליך יכולה לעזור לכם לחסוך זמן ולשפר את היעילות.
צינור עיבוד הנתונים בארכיטקטורה הזו משתמש במוצרים של Google Cloud Google יחד עם מנוע האנטי-וירוס בקוד פתוח ClamAV. אפשר גם להשתמש בכל מנוע אחר נגד תוכנות זדוניות שמבצע סריקה לפי דרישה בקונטיינרים של Linux. בארכיטקטורה הזו, ClamAV פועל בקונטיינר של Docker שמארח ב-Cloud Run. צינור עיבוד הנתונים גם כותב רשומות ביומן ל-Cloud Logging ומתעד מדדים ב-Cloud Monitoring.
ארכיטקטורה
התרשים הבא מציג סקירה כללית של הארכיטקטורה:
הארכיטקטורה מציגה את צינורות הנתונים הבאים:
- צינור העברת נתונים לסריקת קבצים שהמשתמשים מעלים, שבודק אם קובץ שהועלה מכיל תוכנות זדוניות.
- צינור העדכון של מאגר המידע של תוכנות זדוניות ב-ClamAV, ששומר על עותק עדכני של מאגר המידע של תוכנות זדוניות שמשמש את ClamAV.
בקטעים הבאים מוסבר על צינורות העיבוד בפירוט רב יותר.
פייפליין לסריקת קבצים שהמשתמשים העלו
צינור הסריקה של הקבצים פועל באופן הבא:
- משתמשי קצה מעלים את הקבצים שלהם לקטגוריה ב-Cloud Storage שלא נסרקה.
- שירות Eventarc מאתר את אירוע ההעלאה הזה ומעדכן את שירות Cloud Run לגבי הקובץ החדש.
- שירות Cloud Run מוריד את הקובץ החדש מקטגוריית Cloud Storage שלא נסרקה ומעביר אותו לסורק התוכנות הזדוניות ClamAV.
- בהתאם לתוצאת הסריקה לזיהוי תוכנות זדוניות, השירות מבצע אחת מהפעולות הבאות:
- אם ClamAV מצהיר שהקובץ נקי, הוא מועבר מקטגוריית Cloud Storage שלא נסרקה אל קטגוריית Cloud Storage הנקייה.
- אם ClamAV מזהה שהקובץ מכיל תוכנות זדוניות, הוא מועבר מקטגוריית Cloud Storage שלא נסרקה לקטגוריית Cloud Storage בהסגר.
- השירות מדווח על תוצאות הפעולות האלה לרישום ביומן ולמעקב כדי לאפשר לאדמינים לפעול.
צינור לעדכון של מראה של מסד נתונים של תוכנות זדוניות ב-ClamAV
צינור העדכון של מסד הנתונים של תוכנות זדוניות ב-ClamAV שומר על עותק מקומי פרטי מעודכן של מסד הנתונים ב-Cloud Storage. כך מבטיחים גישה למסד הנתונים הציבורי של ClamAV רק פעם אחת בכל עדכון, כדי להוריד את קובצי העדכונים הקטנים יותר, ולא את מסד הנתונים המלא. כך נמנעת הגבלת קצב.
הצינור הזה פועל באופן הבא:
- משימת Cloud Scheduler מוגדרת להפעלה כל שעתיים, שזהה למרווח ברירת המחדל של בדיקת העדכונים שמשמש את שירות freshclam של ClamAV. העבודה הזו שולחת בקשת HTTP
POSTלשירות Cloud Run ומורה לו לעדכן את העותק של מסד הנתונים של התוכנות הזדוניות. - האירוע של Cloud Run מעתיק את שיקוף מסד הנתונים של התוכנות הזדוניות מהקטגוריה של Cloud Storage למערכת הקבצים המקומית.
- לאחר מכן, המופע מפעיל את הכלי ClamAV CVDUpdate, שמוריד את כל העדכונים הדיפרנציאליים שזמינים ומחיל אותם על העותק של מסד הנתונים.
- לאחר מכן, הוא מעתיק את העותק המעודכן של מסד הנתונים של התוכנות הזדוניות בחזרה לקטגוריה של Cloud Storage.
בהפעלה, שירות ClamAV freshclam שפועל במכונת Cloud Run מוריד את מסד הנתונים של התוכנות הזדוניות מ-Cloud Storage. במהלך זמן הריצה, השירות גם בודק באופן קבוע אם יש עדכונים זמינים למסד הנתונים ומוריד אותם מקטגוריית Cloud Storage.
שיקולים לגבי העיצוב
ההנחיות הבאות יכולות לעזור לכם לפתח ארכיטקטורה שעונה על הדרישות של הארגון שלכם בנוגע למהימנות, לעלות וליעילות תפעולית.
אמינות
כדי שהסורק של תוכנות זדוניות ClamAV יפעל בצורה יעילה, צריך לשמור על מסד נתונים עדכני של חתימות של תוכנות זדוניות. שירות ClamAV מופעל באמצעות Cloud Run, שהוא שירות ללא שמירת מצב. בכל הפעלה של מופע של השירות, ClamAV חייב להוריד את מסד הנתונים המלא העדכני ביותר של תוכנות זדוניות, שהגודל שלו הוא כמה מאות מגה-בייט.
מסד הנתונים הציבורי של תוכנות זדוניות עבור ClamAV מאוחסן ברשת להפצת תוכן (CDN), שבה יש הגבלת קצב של יצירת בקשות להורדות האלה. אם מופעלים כמה מופעים שמנסים להוריד את מסד הנתונים המלא, יכול להיות שתופעל הגבלת קצב של יצירת בקשות. כתוצאה מכך, כתובת ה-IP החיצונית שמשמשת את Cloud Run תיחסם למשך 24 שעות. כך ששירות ClamAV לא יוכל להתחיל לפעול, ולא תהיה אפשרות להוריד עדכונים למסד הנתונים של התוכנות הזדוניות.
בנוסף, שירות Cloud Run משתמש במאגר משותף של כתובות IP חיצוניות. כתוצאה מכך, הורדות ממכונות סריקת תוכנות זדוניות של פרויקטים שונים נראות ב-CDN כאילו הן מגיעות מכתובת אחת, וגם הן מפעילות את החסימה.
הוזלת עלויות
הארכיטקטורה הזו משתמשת ברכיבים הבאים של Google Cloud, והשימוש בהם כרוך בתשלום:
כדי ליצור הערכת עלויות על סמך השימוש החזוי, אתם יכולים להשתמש במחשבון התמחור.
יעילות תפעולית
כדי להפעיל התראות מבוססות-יומן לגבי קבצים נגועים, אפשר להשתמש ברשומות יומן מ-Logging. עם זאת, הגדרת ההתראות האלה לא נכללת בהיקף של הארכיטקטורה הזו.
פריסה
כדי לפרוס את הארכיטקטורה הזו, אפשר לעיין במאמר בנושא פריסת סריקה אוטומטית של תוכנות זדוניות בקבצים שמועלים ל-Cloud Storage.
המאמרים הבאים
- מאמרי העזרה של Cloud Storage
- לדוגמאות נוספות של ארכיטקטורות, תרשימים ושיטות מומלצות, עיינו במאמר Cloud Architecture Center.