Code Security and Compliance using GitLab
Getting your Trinity Audio player ready...
|
לא כולם יודעים, אבל ב- GitLab יש גם אפשרות למגוון בדיקות security על קוד שאתם מפתחים ו/או משתמשים (קוד פתוח), וכן יכולות של code compliance – דהיינו לוודא שאתם עושים שימוש תקין וחוקי בקוד הפתוח שאתם משתמשים בו.
למעשה ב – GitLab אפשר גם להריץ את הבדיקות על הקוד, ולאחר מכן לראות הכל באמצעות דשבורד מרכזי המציג הכל בצורה מסודרת, וכן מאפשר לבצע פעולות על התוצאות והממצאים ובעצם לשתף את המידע בין כל אנשי הפרוייקט (או מי שמורשה לצפות בכך בהתאם להרשאות).
את הבדיקות ניתן להריץ מתוך GitLab CI (שהוא כלי ה- CI/CD שמגיע יחד עם GitLab) וכן ניתן גם לחבר זאת לכלי CI נוספים כגון Jenkins .
למעשה את הבדיקות ניתן להריץ גם אם הקוד נמצא בכלי SCM אחר (כגון git, GitHub, Bitbucket וכד').
חלק מהבדיקות אינן על הקוד עצמו אלא על האפליקציה או האתר שמריץ את הקוד.
ניתן להריץ זאת גם משרת פרטי של GitLab (דהיינו self-hosted) וגם מהענן.
להלן רשימה קצרה של יכולות אלו:
יכולת / בדיקה |
תיאור |
Container Scanning | סריקת קונטיינרים (docker) לחולשות ידועות |
Cluster Image Scanning | סריקת workloads שרצים ב- Kubernetes cluster ואינם נסרקים במסגרת ה- container scanning הנ"ל |
Dependency List | צפיה ברשימת התלויות של הפרוייקט וחולשות ידועות |
Dependency Scanning | ניתוח תלויות בנוגע לחולשות ידועות |
Static Application Security Testing (SAST) | סריקת הקוד שלכם (ניתוח סטטי) לאיתור חולשות ידועות. ישנה תמיכה בשפות C/C++, Apex, .NET, Java, Go, JS, Python, PHP, Groovy, Swift, Elixir, Helm, Kotlin, Kubernetes manifest, React, TypeScript, NodeJS ועוד |
Infrastructure as Code (IaC) Scanning | זיהוי חולשות בקבצי קונפיגורציה של תשתית כקוד (Iac). התמיכה בקבצי Ansible , AWS CloudFormation, Kubernetes Terraform |
Dynamic Application Security Testing (DAST) | סריקת web application ואתרי אינטרנט לאיתור חולשות ידועות |
Secret Detection | סריקת הקוד וההסטוריה (של git) לאיתור סודות ומידע רגיש |
API Fuzzing | מציאת באגים לא ידועים וחולשות ב- web API (דהיינו API שאתם מספקים ללקוחותיכם) באמצעות טכנולוגיית FUZZING |
Coverage Fuzzing | איתור באגים וחולשות שלעתים לא מתגלות בשלב ה- QA (כגון קלט בלתי צפוי וקלט רנדומלי). ישנה תמיכה בשפות C/C++ , Go, Java, JS, Python ועוד |
Security Dashboard | תצוגה מרכזית של כל הממצאים בכל הפרוייקטים והקבוצות (groups) |
License Compliance | איתור התלויות בקוד פתוח בקוד שלנו והאם נעשה שימוש חוקי בקוד וספריות שאנו תלויים בהם (כגון GPL, BSD, Apache, MIT ועוד) כפי שהגדרנו לעצמנו בפרוייקט שלנו |
לאחרונה הקלטנו וובינר בעברית בנושא – "Code Security and Compliance using GitLab" – ניתן לצפות כאן
הדגמה לתוצאות סריקה של חולשות אבטחה ניתן לקרוא במאמר בקישור הנ"ל (הכולל גם סרטון שהקלטנו – על תוצאות סריקה לאיתור חולשות באפליקציית "המגן" של משרד הבריאות).
מוזמנים לפנות אלינו לשאלות נוספות: gitlab@almtoolbox.com או טלפונית: 072-240-5222
שאלות נפוצות (FAQ):
- שאלה: האם אפשר לחבר זאת למערכות CI שאינן GitLab ?
תשובה: כן – לרוב זה אפשרי (תלוי בשימוש ובסיטואציה) - שאלה: האם ניתן להריץ את הבדיקות גם ברשתות מנותקות מהאינטרנט?
תשובה: חלק מהבדיקות ניתן להריץ במנותק מהאינטרנט.
כמו כן, אנו מציעים תמיכה ורישוי של כלים נוספים (בנוסף ל- GitLab) המותאמים בפרט לרשתות סגורות ויכולים להתחבר עם GitLab. - שאלה: איזה סוג רישוי GitLab דרוש כדי להריץ את הבדיקות הנ"ל?
- תשובה: חלק מהבדיקות זמינות במהדורה החינמית (Free) . חלק ב- Ultimate וחלק ב- Premium. לפרטים נוספים אפשר לפנות אלינו (הפרטים לעיל).
מאמר זה פורסם לראשונה במרץ 2021 ועודכן מאז מספר פעמים.