Gestionați caracteristicile și avertizările GitHub Advanced Security
Acum că securitatea proiectului tău este stabilită, tot ce trebuie să faci este să monitorizezi și să gestionezi funcțiile și alertele de securitate avansată GitHub pentru proiectul tău.
În această unitate, vei învăța cum să folosești Security Overview pentru a monitoriza riscurile de securitate din proiectul tău. De asemenea, vei învăța cum să folosești endpoint-urile GitHub Advanced Security pentru a gestiona funcțiile de securitate și alertele.
Folosirea Prezentării de Securitate
Prezentarea generală a securității este disponibilă în fila Securitate și calitate pentru organizații și depozite. Îl poți folosi pentru a obține o perspectivă de ansamblu asupra posturii de securitate a organizației tale sau pentru a identifica depozite care necesită atenție.
- Nivel organizațional: Afișează informații agregate și specifice depozitului de securitate pentru depozitele deținute de organizație. Informațiile pot fi, de asemenea, filtrate după caracteristica de securitate.
- Nivel de echipă: Afișează informații de securitate specifice depozitului pentru depozitele unde echipa are privilegii de administrator.
- Nivelul depozitului: Arată ce funcții de securitate sunt activate pentru depozit și oferă opțiuni pentru configurarea funcțiilor disponibile care nu sunt activate în prezent.
Datorită interfeței sale interactive și capabilităților de filtrare, Security Overview suportă atât analize de securitate largi, cât și țintite.
De exemplu, îl poți folosi pentru:
- Monitorizează adoptarea funcțiilor de securitate în întreaga organizație.
- Urmăriți adoptarea de către echipele individuale în timpul implementării GitHub Advanced Security.
- Revizuiește alertele de un anumit tip sau severitate în toate depozitele.
Folosește endpoint-urile avansate de securitate GitHub
Tabelul următor rezumă punctele finale API disponibile pentru fiecare funcție GitHub Advanced Security.
| caracteristicii | puncte finale | documentație |
|---|---|---|
| Scanarea codului | Recuperează și actualizează alertele de scanare a codurilor. Creează rapoarte automate pentru organizații. Încarcă rezultatele analizei CodeQL offline. |
API de scanare a codului |
| Scanare secretă | Activează sau dezactivează scanarea secretă pentru depozite. Recuperează și actualizează alertele secrete de scanare. |
API-ul depozitelor API de scanare secretă |
| Revizuire dependență | Activează sau dezactivează alertele de dependențe și graful de dependențe. Activează sau dezactivează corecțiile de securitate. Vizualizați informațiile de dependență. |
API-ul depozitelor API-ul GraphQL |
Configurarea GITHUB_TOKEN permisiunilor
Dacă folosești GitHub Actions pentru a automatiza fluxurile de lucru de securitate, este important să configurezi permisiunile acordate apelurilor GITHUB_TOKEN API autentificate folosite.
Tabelul următor rezumă permisiunile implicite.
| domeniu | Acces implicit (permissiv) | acces implicit (restricționat) | Acces maxim din depozite bifurcate |
|---|---|---|---|
| acțiuni | citire/scriere | niciunul | citi |
| Controale | citire/scriere | niciunul | citi |
| conținut | citire/scriere | citi | citi |
| Implementări | citire/scriere | niciunul | citi |
| id-token | citire/scriere | niciunul | citi |
| Probleme | citire/scriere | niciunul | citi |
| metadate | citi | citi | citi |
| Pachete | citire/scriere | niciunul | citi |
| solicitări de extragere | citire/scriere | niciunul | citi |
| proiecte de depozit | citire/scriere | niciunul | citi |
| evenimente de securitate | citire/scriere | niciunul | citi |
| Stările | citire/scriere | niciunul | citi |
Poți modifica permisiunile acordate GITHUB_TOKEN în fișierele individuale ale fluxului de lucru.
- Dacă permisiunile implicite sunt restrictive, este posibil să fie nevoie să crești permisiunile pentru ca fluxurile de lucru să se poată finaliza cu succes.
- Dacă permisiunile implicite sunt permisive, ar trebui să elimini permisiunile inutile.
Ca o bună practică de securitate, acordați întotdeauna cele mai puține privilegii necesare.
Poți folosi și cheia permissions pentru a configura permisiuni pentru un întreg flux de lucru sau pentru joburi individuale. Când permissions este specificat, toate permisiunile nespecificate sunt setate la zero, cu excepția scopului metadatelor , care primește întotdeauna acces la citire .
name: Create issue on commit
on:
- push
jobs:
create_commit:
runs-on: ubuntu-latest
permissions:
issues: write
steps:
- name: Create issue using REST API
run: |
curl --request POST \
--url http(s)://[hostname]/api/v3/repos/${{ github.repository }}/issues \
--header 'authorization: Bearer ${{ secrets.GITHUB_TOKEN }}' \
--header 'content-type: application/json' \
--data '{
"title": "Automated issue for commit: ${{ github.sha }}",
"body": "This issue was automatically created by the GitHub Action workflow **${{ github.workflow }}**.\n\nThe commit hash was: _${{ github.sha }}_."
}' \
--fail
În exemplul anterior, accesul la scriere este acordat la aria de aplicare a problemelor pentru o singură lucrare.
Poți folosi și cheia permissions pentru a adăuga sau elimina permisiuni de citire pentru fluxurile de lucru declanșate din depozite bifurcate. Permisiunile de scriere, în general, nu pot fi acordate decât dacă opțiunea Send writes tokens to workflows from pull requests este activată în setările GitHub Actions.
Perspective privind detectarea, remedierea și prevenirea
Security Overview organizează perspectivele în trei perspective principale.
| Vizualizare | Scop |
|---|---|
| Detectare | Monitorizează unde sunt descoperite vulnerabilități, secrete și riscuri de dependență. |
| Remediere | Urmărește modul în care alertele sunt corectate, prioritizate și rezolvate între depozite. |
| Prevenire | Măsoară modul în care vulnerabilitățile sunt prevenite înainte de a ajunge la ramurile protejate. |
Viziunea de prevenire ajută organizațiile să evalueze cât de eficient controlul de securitate oprește schimbările riscante înainte ca acestea să fie fuzionate.
Printre exemple se numără:
- Vulnerabilități corectate în timpul revizuirii pull request-urilor.
- Constatările scanării codului au fost rezolvate înainte de fuziune.
- Activitate de remediere Copilot Autofix.
- Evenimente de protecție push prin scanare secretă.
- A prevenit riscurile de dependență.
Interpretarea alertelor între funcții de securitate
Security Overview agregă informații din mai multe funcții de securitate GitHub pentru a ajuta echipele să înțeleagă riscul organizațional.
Sursele frecvente de alertă includ:
- Alerte de scanare a codurilor: Vulnerabilități și tipare de codare nesigure detectate de CodeQL sau scanere terțe.
- Alerte de scanare secretă: Acreditări expuse, chei API și token-uri.
- Alerte Dependabot: Dependențe vulnerabile și riscuri legate de pachete.
- Revizuirea dependenței: Riscuri introduse prin modificări de dependență în pull requests.
Echipele pot filtra alertele după:
- Severitate
- Depozit
- Tip de caracteristică
- Interval de timp
- Proprietatea echipei
- Starea alertei
Aceste filtre susțin atât analiza la nivelul întregii organizații, cât și investigații concentrate.
Urmărirea remedierilor și informații despre Autofix
Security Overview ajută, de asemenea, la monitorizarea progresului remedierii.
Echipele de securitate pot urmări:
- Alertele pull request au fost rezolvate înainte de fuziune.
- Tendințe în remediere.
- Copilot Autofix generează pull request-uri.
- Ratele de validare și finalizare a fuziunilor.
- Depozite cu alerte recurente nerezolvate.
Aceste informații ajută organizațiile să identifice blocajele, să prioritizeze depozitele cu risc ridicat și să măsoare eficacitatea remedierii.
Vizibilitate asupra evenimentelor de ocolire și semnalele de guvernanță
Prezentarea generală de securitate evidențiază și metrici de guvernanță și politici în întreaga organizație.
Printre exemple se numără:
- Împinge evenimentele de ocolire a protecției.
- Activitatea de aplicare a protecției filialelor.
- Tendințe de excludere în alertă.
- Audit activitatea jurnalului.
- Adoptarea poliței și metrici de acoperire.
Aceste metrici îi ajută pe administratori să înțeleagă:
- Unde utilizatorii ocolesc protecțiile.
- Dacă polițele necesită rafinament.
- Dacă controalele de securitate sunt aplicate în mod consecvent.
Combinate cu jurnalele de audit, seturile de reguli și politicile de protecție a ramurilor, aceste informații susțin raportarea conformității, revizuirile operaționale și îmbunătățirea continuă a securității.
Roluri și responsabilități în domeniul securității
Adoptarea cu succes a GitHub Advanced Security necesită o proprietate clară din partea echipelor de dezvoltare, securitate și administrative.
Diferite roluri interacționează cu funcțiile avansate de securitate GitHub pe tot parcursul ciclului de viață al dezvoltării software și al răspunsului la incidente.
| Responsabilitate | Dezvoltatori | Ingineri de securitate | Administratori de depozite / organizații |
|---|---|---|---|
| Revizuiește și corectează alertele de scanare a codului | Da | Da | Nu |
| Revizuiește alertele de scanare secretă | Da | Da | Da |
| Actualizarea dependențelor vulnerabile | Da | Da | Nu |
| Validează solicitările de pull Copilot Autofix | Da | Da | Nu |
| Triați și prioritizați alertele de securitate | Nu | Da | Da |
| Configurarea politicilor de securitate și a seturilor de reguli | Nu | Da | Da |
| Gestionarea protecției ramurilor și a politicilor de flux de lucru | Nu | Nu | Da |
| Monitorizarea Panourilor de Prezentare a Securității | Nu | Da | Da |
| Revizuiește jurnalele de audit și semnalele de guvernanță | Nu | Da | Da |
| Configurează setările de securitate ale depozitului și organizației | Nu | Nu | Da |
| Coordonarea fluxurilor de lucru pentru răspunsul la incidente | Nu | Da | Da |
| Aprobați excepțiile de politică sau concedierile | Nu | Da | Da |
Exemple de proprietate a fluxului de lucru
Un flux de lucru tipic de securitate GitHub Advanced implică mai multe roluri care lucrează împreună.
- Un dezvoltator primește o alertă de scanare a codului într-o pull request.
- Un inginer de securitate revizuiește severitatea alertei și recomandă o abordare de remediere.
- Copilot Autofix propune o actualizare pull request.
- Dezvoltatorul validează corectarea și actualizează codul dacă este necesar.
- Administratorii depozitelor aplică protecțiile ramurilor și verificările obligatorii înainte de fuziune.
- Echipele de securitate revizuiesc jurnalele de audit și tendințele de remediere prin intermediul Security Overview.
Definirea clară a responsabilităților ajută organizațiile să scaleze adoptarea GitHub Advanced Security, menținând în același timp guvernanța, responsabilitatea și consistența operațională.