Pindai repositori Git untuk informasi sensitif dan masalah keamanan dengan menggunakan git-secret - AWS Prescriptive Guidance

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Pindai repositori Git untuk informasi sensitif dan masalah keamanan dengan menggunakan git-secret

Saurabh Singh, Amazon Web Services

Ringkasan

Pola ini menjelaskan cara menggunakan alat git-secret open-source dari AWS Labs untuk memindai repositori sumber Git dan menemukan kode yang berpotensi menyertakan informasi sensitif, seperti kata sandi pengguna atau kunci AWS akses, atau yang memiliki masalah keamanan lainnya.

git-secretsmemindai commit, mengkomit pesan, dan menggabungkan untuk mencegah informasi sensitif seperti rahasia ditambahkan ke repositori Git Anda. Misalnya, jika komit, pesan komit, atau komit apa pun dalam riwayat gabungan cocok dengan salah satu pola ekspresi reguler yang dikonfigurasi dan dilarang, komit akan ditolak.

Prasyarat dan batasan

Prasyarat

  • Aktif Akun AWS

  • Repositori Git yang membutuhkan pemindaian keamanan

  • Klien Git (versi 2.37.1 dan yang lebih baru) diinstal

Arsitektur

Arsitektur target

  • Git

  • git-secrets

Menggunakan alat git-secrets untuk memindai repositori sumber Git untuk informasi sensitif.

Alat

  • git-secrets adalah alat yang mencegah Anda memasukkan informasi sensitif ke dalam repositori Git.

  • Git adalah sistem kontrol versi terdistribusi open-source.

Praktik terbaik

  • Selalu pindai repositori Git dengan menyertakan semua revisi:

    git secrets --scan-history

Epik

TugasDeskripsiKeterampilan yang dibutuhkan

Connect ke sebuah EC2 instance dengan menggunakan SSH.

Connect ke instans Amazon Elastic Compute Cloud (Amazon EC2) menggunakan SSH dan file key pair.

Anda dapat melewati langkah ini jika Anda memindai repositori di mesin lokal Anda.

AWS Umum
TugasDeskripsiKeterampilan yang dibutuhkan

Instal Git.

Instal Git dengan menggunakan perintah:

yum install git -y

Jika Anda menggunakan mesin lokal Anda, Anda dapat menginstal klien Git untuk versi OS tertentu. Untuk informasi selengkapnya, lihat situs web Git.

AWS Umum
TugasDeskripsiKeterampilan yang dibutuhkan

Kloning repositori sumber Git.

Untuk mengkloning repositori Git yang ingin Anda pindai, pilih perintah klon Git dari direktori home Anda.

AWS Umum

Kloning git-rahasia.

Kloning git-secrets repositori Git.

git clone https://github.com/awslabs/git-secrets.git

Tempatkan di git-secrets suatu tempat di Anda PATH sehingga Git mengambilnya saat Anda menjalankangit-secrets.

AWS Umum

Instal git-secret.

Untuk Unix dan varian (Linux/macOS):

Anda dapat menggunakan install target Makefile (disediakan dalam git-secrets repositori) untuk menginstal alat. Anda dapat menyesuaikan jalur instalasi dengan menggunakan MANPREFIX variabel PREFIX dan.

make install

Untuk Windows:

Jalankan PowerShell install.ps1 skrip yang disediakan di git-secrets repositori. Skrip ini menyalin file instalasi ke direktori instalasi (secara %USERPROFILE%/.git-secrets default) dan menambahkan direktori ke pengguna saat iniPATH.

PS > ./install.ps1

Untuk Homebrew (pengguna macOS):

Jalankan:

brew install git-secrets
AWS Umum
TugasDeskripsiKeterampilan yang dibutuhkan

Pergi ke repositori sumber.

Beralih ke direktori untuk repositori Git yang ingin Anda pindai:

cd my-git-repository
AWS Umum

Daftarkan set aturan AWS (Git hooks).

Untuk mengonfigurasi git-secrets untuk memindai repositori Git Anda pada setiap komit, jalankan perintah:

git secrets --register-aws
AWS Umum

Pindai repositori.

Jalankan perintah berikut untuk mulai memindai repositori Anda:

git secrets -–scan
AWS Umum

Tinjau file output.

Alat ini menghasilkan file keluaran jika menemukan kerentanan di repositori Git Anda. Misalnya:

example.sh:4:AWS_SECRET_ACCESS_KEY = ********* [ERROR] Matched one or more prohibited patterns Possible mitigations: - Mark false positives as allowed using: git config --add secrets.allowed ... - Mark false positives as allowed by adding regular expressions to .gitallowed at repository's root directory - List your configured patterns: git config --get-all secrets.patterns - List your configured allowed patterns: git config --get-all secrets.allowed - List your configured allowed patterns in .gitallowed at repository's root directory - Use --no-verify if this is a one-time false positive
AWS Umum

Sumber daya terkait