« לעמוד הראשי

Code Security and Compliance using GitLab

פרסום ראשון: 22.3.2021

gitlab devsecops appsec by almtoolbox

לא כולם יודעים, אבל ב- 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

שאלות נפוצות:

  • שאלה: האם אפשר לחבר זאת למערכות CI שאינן GitLab ?
    תשובה: כן – לרוב זה אפשרי (תלוי בשימוש ובסיטואציה – זה מצריך בדיקה)
  • שאלה: האם ניתן להריץ את הבדיקות גם ברשתות מנותקות מהאינטרנט?
    תשובה: חלק מהבדיקות ניתן להריץ במנותק מהאינטרנט. כמו כן, אנו מציעים תמיכה ורישוי של כלים נוספים (בנוסף ל- GitLab) המותאמים בפרט לרשתות סגורות.
  • שאלה: איזה סוג רישוי GitLab דרוש כדי להריץ את הבדיקות הנ"ל?
  • תשובה: חלק מהבדיקות זמינות במהדורה החינמית (Free) . חלק ב- Ultimate וחלק ב- Premium. לפרטים נוספים אפשר לפנות אלינו (הפרטים לעיל).