EN: Read in English
Dunia 8: Perisai: Keselamatan
Kunci bocor? Tukar dulu
Anda akan belajar: apa nak buat, dan ikut urutan mana, bila kunci bocor.
Teks BM belum disemak oleh penutur asli.
Masalahnya
Alamak. Commit ini dah masuk ke repo awam sejam yang lalu. Ia ada .env dan kuncinya. Anggap ada orang dah salin.
Tengok
Langkah pertama: rotate (tukar kunci) (rotate (a key)): Batalkan kunci yang bocor dan buat yang baru, supaya salinan lama tak berguna. (tukar) kunci itu. Pergi ke servis yang beri kunci itu. Batalkan kunci lama dan buat kunci baru. Sekarang salinan yang bocor tak berguna lagi.
Cuba
Ada orang cuma berhenti jejak .env dalam commit baru. Kunci dah hilang? Leret balik ke masa lalu.
c005c2c Stop tracking .env · Commit 5 daripada 5
.env—
Commit terbaru tiada .env. Satu langkah ke belakang, kunci masih ada. Sesiapa pun boleh tengok.
Cuba
Ini pelan penyelamat penuh. Susun ikut urutan, langkah pertama di atas.
Langkah pertama di atas. Susun ikut turutan. Guna anak panah, atau seret.
- Tulis semula sejarah dengan git filter-repo
- Semak amaran secret scanning, kemudian tutup
- Berhenti jejak .env dan tambah ke .gitignore
- Force-push dan beritahu pasukan anda
- Rotate kunci: batalkan, buat yang baru
Petunjuk
Kunci yang bocor mesti berhenti berfungsi sebelum apa-apa lagi.Cuba
git filter-repo: Alat berasingan yang tulis semula sejarah, contohnya padam fail dari setiap commit. tulis semula setiap commit. Ia alat berasingan yang anda pasang sendiri. Bina arahan yang padam .env dari seluruh sejarah.
Ketik kepingan ikut turutan yang betul.
Teka
Anda dah tulis semula sejarah dan force-push. Tapi kunci lama tak pernah di-rotate. Selamatkah sekarang?
Pilih satu jawapan.
Semak
Langkah bagus, atau perlu baiki? Leret setiap satu.
Leret ke kanan untuk bagus, ke kiri untuk perlu baiki. Atau guna butang.
Rotate kunci itu serta-merta
Anda berjaya!
Kini anda boleh uruskan kunci yang bocor ikut urutan yang betul.
Nak tahu lebih (pilihan)
Rotate itu wajib. Tulis semula sejarah cuma pembersihan tambahan. Ia juga tukar id setiap commit selepasnya. Kunci dalam fail biasa, contohnya app.js? Guna --replace-text dengan senarai rahsia. --sensitive-data-removal perlukan git filter-repo 2.47 atau lebih baru. Pull request lama mungkin masih tunjuk kunci itu. GitHub Support boleh bantu bersihkan.
English
Oh no. This commit went to a public repo an hour ago. It holds .env and its key. Assume someone already copied it.
Step one: rotate the key. Go to the service that gave it to you. Cancel the old key and make a new one. Now the leaked copy is useless.
Some people just stop tracking .env in a new commit. Is the key gone? Slide back in time.
The newest commit has no .env. One step back, the key is still there. Anyone can look.
Here is the full rescue plan. Put it in order, first step at the top.
git filter-repo rewrites every commit. It is a separate tool you install. Build the command that wipes .env from all history.
You rewrote history and force-pushed. But you never rotated the old key. Is it safe now?
Good move, or needs work? Swipe each one.
You can now handle a leaked key in the right order.
Anda dah siapkan ini. Latihan lagi pun bagus!
Dokumentasi rasmi: Removing sensitive data from a repository · About secret scanning · git rm
Anda dah belajar 25 minit. Rehat sekejap bantu otak anda.
Pecutan selesai! Fokus yang hebat. Regangkan badan seminit?