Skip to content

Kgoromeditswe ka phoso .env Diphiri kgotsa Dinotlolo tsa AWS tsa Repo ya GitHub ya Botlhe: Ke Eng fa go Phimola Faele go sa E Fitlhe

Dinomoro tsa tshoganyetso di farologana go ya ka dinaga. Tsebe eno e dirisa 911, e leng nomoro ya United States le Canada. Dinaga tse dingwe tse dintsi di dirisa 112, 999 kgotsa nomoro e nngwe. Batla nomoro ya naga ya gaeno.

Go lemoga metsotswana e le lesome morago ga go taboga git push origin main (kgotsa go fetolela polokelo ya poraefete go Public) gore maitlamo a gago a ne a akaretsa mokwalo o o sa raraanang .env faele, AWS AKIA... Senotlolo sa Phitlhelelo le Senotlolo sa Sephiri, senotlolo sa API sa OpenAI/Anthropic, Mothalo sk_live_... letshwao la tlhagiso, URI ya polokelotshedimosetso ya PostgreSQL/MongoDB e e nang le nomoro ya sephiri, kgotsa e e sa tsenngwang khoutu $HOME/.ssh/id_ed25519 senotlolo sa poraefete ke tshohanyetso ya tshireletso ya inthanete ya alamo tse hlano. Di-botnet tse di itirisang tsa go kokoanya dintlha tsa boitshupo di nna di dira dipatlisiso mo bathong botlhe Ditiragalo tsa GitHub Firehose (api.github.com/events) mme o dire dikhomite tse di sa tswang go kgarametswa mo metsotswaneng e le 1.5 go ya go e le 4 ya nako ya gago git push go feleletsa. Se se maswe le go feta, mo e ka nnang motlhami mongwe le mongwe yo o tshogileng o dira phoso e e tshwanang e e bolayang: o phimola .env faele mo lefelong la gaeno, tsenya .env go .gitignore, o bo o tobetsa maitlamo a bobedi a a bidiwang "remove .env" kgotsa "oops". Go kgarameletsa maitlamo a bobedi a a phimolang .env ga e fitlhe sepe: sephiri sa mokwalo o o sa tlhamalalang se nna se balega diperesente di le 100 ka bosakhutleng mo teng ga diff ya commit e e fetileng (git log -p), le fa o ka kgarameletsa (git push --force) mo godimo ga lekala, maitlamo a a sa umakiwang (dangling blob) e nna e fitlhelelwa ke botlhe ka URL ya yone e e tlhamaletseng ya GitHub le dipono tsa Pull Request tse di bolokilweng go fitlha e phimolwa ka tlhamalalo. Fa e le gore tshedimosetso e e dutletsweng e setse e dirisitswe ke batlhasedi go dirisa ransomware, go tsaya kgolagano ya dikhomphiutha ya gago ya DNS ka dikgoka, kgotsa go lotlela mohiri wa gago wa kwa marung, leba dikaelo tsa rona tse di tsamayang le tsone mo go . tsibogo ya serweboleta sa thekololo le serweboleta se se kotsi, go tseelwa leina la kgolagano ya dikhomphiutha ka dikgoka, DNS e e feletsweng ke nako, le go tsaya webosaete, le Lefelotiro la Google kgotsa go tswalelwa ga tsamaiso ya kgolagano ya dikhomphiutha ya Microsoft 365. Fa go dutla ga lekwaloitshupo go ama pabalesego ya molwetse wa bookelo, ditaolo tsa intaseteri, kgotsa mafaratlhatlha a thomelo ya tshoganyetso, leletsa nomoro ya tshoganyetso ya lefelo la gaeno (911 kwa United States le kwa Canada, . 112 go kgabaganya Yunione ya Yuropa, 999 kwa United Kingdom) kgotsa tlhola lenaane la rona la boditšhabatšhaba la dinomoro tsa tshoganyetso.

Dira se jaanong

  1. PHIMOLOLA, TIMA, LE GO DIKOLOSA sephiri sengwe le sengwe se se senotsweng kwa khonsoleng ya moabi PELE - mo metsotswaneng ya ntlha e le 120 - pele ga o senya motsotswana o le mongwe o taboga git ditaelo: Fa sephiri se sena go ama polokelo ya botlhe ya GitHub, GitLab, kgotsa Bitbucket le fa e le metsotswana e le 3, tshwara selotlolo seo jaaka se se fisitsweng ruri e bile se setse se le mo diatleng tsa batlhasedi ba ba itirisang. Ga go na selekanyo sa git reset --hard, git push --force, kgotsa go phimola polokelo go ka phimola selotlolo mo polokelotshedimosetsong ya bot ya scraper e e setseng e laisolotse maitlamo a gago mo bobeding jwa #2. Tsena mo AWS IAM, Stripe, OpenAI, dikhonsole tsa polokelotshedimosetso, kgotsa dipeakanyo tsa GitHub SSH gone jaanong mme Tima / Phimola / Phutholola selotlolo ka bonako.
  2. Tlhatlhoba Dipegelo tsa gago tsa go Duela kwa Marung le tsa Boruni (AWS CloudTrail, GCP Cloud Audit Logs, Stripe Logs) ya fensetere e e fa gare ga gago git push le go phimolwa ga selotlolo sa gago: Di-bot tse di itirisang tsa go epa dikhomphiutha di dirisa go dutla AWS_ACCESS_KEY_ID (AKIA...) dintlha tsa boitshupo mo metsotswaneng e le 30 go ya go e le 90 go dira gore go nne le dipalo tse di kwa godimo tsa GPU (p4d.24xlarge / g5.48xlarge) mo dikgaolong tsotlhe tse di fitlhegileng tsa AWS (ap-east-1, me-south-1, af-south-1) le go tlhama badirisi ba IAM ba kwa morago kgotsa Lambda persistence hooks gore di nne mo teng ga akhaonto ya gago ya AWS le fa o sena go phimola selotlolo se se dutlileng.
  3. O SE KE wa kgarametsa motsotswana "Delete .env" itlama - tota, go thaepa "delete secret" kgotsa "remove password" mo molaetseng wa go itlama o gogela di-bot tse di lebilweng tsa go tlhotlhora: Diketekete tsa dikwalwa tsa modiragatsi wa matshosetsi di botsa GitHub ka tlhamalalo Batla melaetsa ya go itlama e e nang le "remove .env", "delete key", "oops", le "remove credentials", o bo o tobetsa commit e le nngwe e e boelang kwa morago mo hisitoring go utswa selotlolo.
  4. Kwala gape hisetori yotlhe ya polokelo ya Git mo lefelong la gaeno o dirisa git filter-repo (kgotsa BFG Repo-Cleaner) go ntsha faele kgotsa go fetola mogala wa nomoro ya sephiri go tswa mo komiting nngwe le nngwe ya hisitori, setlhare, le theke: git filter-branch e nyatsega semmuso ke porojeke ya Git; dirisa git filter-repo --invert-paths --path .env (go ntsha faele mo dikomiting tsotlhe) kgotsa git filter-repo --replace-text expressions.txt (go emisetsa megala e e rileng ya nomoro ya sephiri ka ***REMOVED*** ka hare ho difaele tsa khoutu ntle le ho hlakola difaele).
  5. Kgoromeletsa dikala tsotlhe le ditheke (git push origin --force --all), LE go phimola dipono tsa GitHub tse di bolokilweng mo letlhakoreng la sefara (dangling commits): Sephiri se bontsi jwa batlhabolodi ba sa se itseng ke seno: le fa o sena go taboga git filter-repo le git push --force, Disefara tsa GitHub di boloka SHA ya bogologolo e tshela mo polokelotshedimosetsong ya tsone ya dilo (git cat-file), go raya gore mongwe le mongwe yo o gatisitseng SHA ya ditlhaka di le 40 go tswa mo API ya Ditiragalo tsa botlhe o sa ntse a ka leba github.com/user/repo/commit/<OLD_SHA>. Re tlhalosa fa tlase gore o ka phepafatsa jang ka bonako dipolokelo tsa go dira tse di lepeletseng ka Tshegetso ya GitHub / API kgotsa ka go phimola le go tlhama gape polokelo.
  6. Tsenya selegae pre-commit sekenara sa sephiri (gitleaks kgotsa trufflehog) mo teng .git/hooks/pre-commit pele ga o kwala mola o mongwe wa khoutu: Metsotswana e le 10 gitleaks protect --staged pre-commit hook e tlhatlhoba mola mongwe le mongwe o o tsenngwang mo lepothopong ya gago le go thibela git commit pele ga sephiri se ka tswa mo motšhineng wa gago.

Danger

Fa o dutletse Senotlolo sa AWS (AKIA...), go phimola fela Senotlolo sa Phitlhelelo sa IAM se le sengwe fela GA GO a lekana - o tshwanetse go tlhola gore a motlhasedi o setse a tlhamile Modirisi wa bobedi wa IAM, Seabe, kgotsa sa Nakwana . STS Session Token mo metsotswaneng e le 60 selotlolo se ne se le teng: Fa bot e e itirisang e lemoga selotlolo sa AWS se se nang le AdministratorAccess kgotsa iam:* ditetlelelo mo GitHub, pitso ya yone ya ntlha ya API e e itirisang (mo metsotswaneng e le 2) ke iam:CreateUser + iam:CreateAccessKey (kgotsa sts:GetSessionToken e dira diura di le 36). Fa o phimola fela selotlolo se se dutlileng go tswa mo .env mme o boele o robale, selotlolo se se sa tswang go tlhamiwa sa motlhasedi sa lebati la kwa morago se tswelela se dira . $15,000/day EC2 GPU ditlhopha mafelobeke otlhe. Latela Lenaanenetefatso la rona la Dintlha di le 6 la AWS la go Thibela Morago ga go Dutla mo Kgatong ya 2 e e fa tlase ka bonako.


Setlhare sa tshwetso: go thibela ka bonako, go dikolosa, le go phepafatsa hisitori ya Git

Diragatsa kelelo ya tiro eno ka tatelano e e gagametseng (Phimola NTLHA -> Go Tswelela ga Boruni BOBEDI -> Phimola Hisitori ya Git BORARO):

flowchart TD
    Start["Sephiri se Kgarametswe kwa Repo ya Botlhe (.env, Senotlolo sa AWS/GCP, Nomoro ya Sephiri sa DB, Senotlolo sa Stripe/OpenAI, kgotsa Senotlolo sa SSH sa Poraefete)"] --> Step1["MOTSOTSO 0 GO YA GO 2 (BOTLHOKWA #1): Phimola / Rola Senotlolo sengwe le sengwe se se Bontsweng mo Khosoleng ya Motlamedi ka bonako"]

    Step1 --> SecretType{"Ke Mofuta ofe wa Boitshupo o o neng o le mo teng ga Komiti?"}

    SecretType -->|"Senotlolo sa Mafaratlhatlha a kwa Marung (AWS AKIA, Akhaonto ya Tirelo ya GCP JSON, Azure SP)"| CloudAudit["MOTSOTSO 2 GO YA GO 10: Tlhola CloudTrail / Dipegelo tsa Tiro -> Fedisa Ditiragalo tsa Rogue EC2/Compute mo Dikgaolong Tsotlhe -> Phimola Badirisi ba IAM ba ba sa Letlelelwang/Dikarolo/Dithulaganyo tsa STS"]

    SecretType -->|"URI ya Polokelotshedimosetso / Lefoko la Sephiri (Postgres, MySQL, MongoDB, Redis, Polokelotshedimosetso e e kwa tlase)"| DBAudit["MOTSOTSO 2 GO YA GO 10: Dikolosa Nomoro ya Sephiri sa Modirisi wa DB + Bolaya Dikgolagano tse di Dirang (pg_terminate_backend) + Lotlela Setlhopha sa Tshireletso ya Lebota la Molelo go ya go di-IP tse di mo Lenaaneng le le Tshweu Fela"]

    SecretType -->|"Letshwao la API kgotsa Senotlolo sa SSH (Mothalo, OpenAI, PAT ya GitHub, Slack, Senotlolo sa Poraefete sa SSH)"| TokenAudit["MOTSOTSO 2 GO YA GO 10: Tsenya Senotlolo sa API mo Dashebotong / Tlosa Senotlolo sa SSH sa Botlhe mo go $HOME/.ssh/authorized_keys & Dipeakanyo tsa GitHub -> Boruni jwa Dipegelo tsa Tiriso ya API tsa Bosheng"]

    CloudAudit --> RepoVisibility{"MOTSOTSO 10 GO YA GO 20: O Batla go Phepafatsa Jang Polokelo ya GitHub?"}
    DBAudit --> RepoVisibility
    TokenAudit --> RepoVisibility

    RepoVisibility -->|"Phimolo ya Polokelo e e Bofefo ya 100% (Ga go na Bothata jo bo Botlhokwa/Hisitori ya Dinaledi e e ka Bolokwang)"| NukeRepo["1. Phimola Polokelo Yotlhe mo Dipeakanyong tsa GitHub. 2. Tsamaisa git filter-repo Selegae go Phepafatsa Hisitori. 3. Tlhama Repo e Ntšhwa le Kgoromeletsa Hisitori e e Phepa (E Senya ka bonako Di-SHA Tsotlhe Tse di Tshepilweng mo Cacheng)"]

    RepoVisibility -->|"Tshwanetse go Boloka Dinaledi tsa Repo tse di Leng Teng, Dikgang, Di-PR, le Diforoko"| RewriteRepo["1. Tsamaisa git setlhotlhi-repo (--retolosa-ditsela kgotsa --emisetsa-sekwalwa). 2. Tsamaisa git push --pateletsa --tsotlhe & --ditheke. 3. Ikgolaganye le Tshegetso ya GitHub / Portal ya Tshegetso go Phepafatsa Polokelotshedimosetso ya SHA e e Lepeletseng"]

Kgato 1: Motsotso 0 go ya go 2 - Pampiri ya Tsietso ya Phimolo ya Ka bonako ka Motlamedi

A se bula theminale go lwa ka yone git rebase fa dinotlolo tsa gago tsa tlhagiso di santse di dira. Tobetsa ka tlhamalalo kwa motlameding yo o amegang fa tlase mme o bolaye lekwaloitshupo pele:

Mofuta wa Boitshupo jo bo Dutleng Ketapele / Paterone mo Khoutung ya Gago Tiro ya go Phimola le go Dikolosa ya Metsotswana e le 30 A GitHub e a E Phimola ka Boitiriso (Secret Scanning Partner Program)?
1. Senotlolo sa Phitlhelelo sa AWS IAM AKIA... (Selotlolo sa IAM sa paka e telele) kgotsa ASIA... (Senotlolo sa nakwana sa STS) + Sephiri sa ditlhaka di le 40 Khonsole ya AWS -> IAM -> Users -> [Username] -> Security credentials thebo -> Access keys -> Tobetsa Deactivate mme morago ga moo Delete. (Gape tlhola gore a Pholisi ya Kwarantine ya Botlhokwa e e Tlhakantsweng ya AWS AWSCompromisedKeyQuarantineV2 e ne e setse e gokeletswe ka go itirisa ke AWS.) E tsibosa AWS ka bonako (AWS e go romela imeile ka go itirisa, e bula Kgetse ya Tshegetso ya Botlhokwa jo bo Kwa Godimo, mme e gokelela AWSCompromisedKeyQuarantineV2 mo metsotsong - go thibela go simolola ga EC2 - mme o santse o tshwanetse go phimola selotlolo ka seatla).
2. Leru la Google (GCP) Akhaonto ya Tirelo JSON kgotsa Senotlolo sa API private_key_id, BEGIN PRIVATE KEY mo teng *-credentials.json, kgotsa AIzaSy... Khonsole ya Maru ya Google -> IAM & Admin -> Service Accounts -> tobetsa Akhaonto -> Keys thebo -> Phimola ID ya Senotlolo se se dutlileng. Go AIzaSy... Dinotlolo tsa API: APIs & Services -> Credentials -> Regenerate Key le go thibela senotlolo ka HTTP Mofemedi / IP. Ee/Tlhagiso: Google Cloud e itsise beng ba porojeke ka go itirisa mme e ka thibela dinotlolo tsa Akhaonto ya Tirelo ya GCP tse di dutletsweng tse di lemogilweng mo GitHub ya botlhe.
3. Senotlolo sa Sephiri sa Stripe se se Tshelang sk_live_... kgotsa rk_live_... (Senotlolo se se Thibetsweng) Dasheboto ya Methalo (dashboard.stripe.com/apikeys) -> Tobetsa ... go bapa le Senotlolo sa Sephiri -> Tobetsa Roll key... -> Tlhopha Expire now (Immediately). EE (E Phimotswe ka Boitiriso): Kopanyo ya Stripe le Sekene sa Sephiri sa GitHub e pitikolola/e dira gore e se ka ya nna le mosola ka go itirisa sk_live_ dinotlolo mo metsotswaneng ya go kgarametsa phatlalatsa le go go romelela diimeile.
4. Dinotlolo tsa API tsa OpenAI / Sefatlhego sa Batho / sa go Atlarela sk-proj-..., sk-ant-..., hf_... - Bula AI (platform.openai.com/api-keys): Tobetsa aekhone ya Matlakala e e bapileng le selotlolo ka bonako (di-bot di a ntsha metsi $500 ya GPT-4 / Claude dikrediti mo metsotsong e e ka fa tlase ga 4.).
- Batho (console.anthropic.com/settings/keys): Thibela/Phimola senotlolo.
- Sefatlhego se se Tlamparelang: Settings -> Access Tokens -> Invalidate.
EE: OpenAI, Anthropic, le HuggingFace ba dirisana le GitHub Sephiri go phimola ka go itirisa dinotlolo tse di lemogilweng mo dipolokelo tsa botlhe, le fa netefatso ya diatla e tlamega.
5. Letshwao la Phitlhelelo ya Botho la GitHub (PAT) kgotsa OAuth / Senotlolo sa Tiriswa ghp_..., github_pat_..., gho_..., ghs_... GitHub Settings -> Developer settings -> Personal access tokens -> Phimola letshwao. EE (Ka bonako): GitHub e phimola epe ka go itirisa ghp_ kgotsa github_pat_ token karolo-bobedi e sututswa ho polokelo efe kapa efe ya setjhaba ya GitHub.
6. Dithapo tsa Kgolagano ya Polokelotshedimosetso (PostgreSQL, MongoDB Atlas, Supabase, PlanetScale, Redis) postgresql://user:pass@host..., mongodb+srv://..., SUPABASE_SERVICE_ROLE_KEY 1. Dikolosa nomoro ya sephiri sa modirisi wa polokelotshedimosetso mo dashebotong ya kwa marung (RDS, Atlas, Supabase, Neon).
2. Kgaotsa dikgolagano tse di leng teng tsa TCP tse di bulegileng (SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE pid <> pg_backend_pid();) ka gonne go fetola nomoro ya sephiri sa Postgres/MySQL ga go **kgaole motlhasedi yo o setseng a golagantswe le sokete e e dirang.
NNYAA (Di-URI tsa Polokelotshedimosetso e e Akaretsang GA DI Phimolwe ka Boitiriso): Ka gonne postgresql:// kgotsa mongodb+srv:// URL e supa leina la moamogedi le le tlwaelegileng, GitHub ga e kgone go phimola nomoro ya sephiri sa polokelotshedimosetso ya gago ka go itirisa - o tshwanetse go e fetola ka seatla gone jaanong.
7. Senotlolo sa Poraefete sa SSH (id_rsa, id_ed25519, .pem EC2 Para ya Dinotlolo) -----BEGIN OPENSSH PRIVATE KEY----- kgotsa -----BEGIN RSA PRIVATE KEY----- Senotlolo sa poraefete sa SSH GA SE KE SA "dutla." Bula sefara nngwe le nngwe ka bonako $HOME/.ssh/authorized_keys faele (le GitHub/GitLab ya gago Settings -> SSH and GPG keys tsebe) le phimola mola wa selotlolo sa botlhe o o tshwanang. Bakeng sa AWS EC2. .pem dinotlolo, tlosa senotlolo sa botlhe mo tiragalong nngwe le nngwe ya EC2 $HOME/.ssh/authorized_keys. NNYAA: GitHub ga e kgone go tsena mo disefareng tsa gago tsa Linux go tseleganya $HOME/.ssh/authorized_keys - o tshwanetse go tlosa selotlolo sa botlhe mo sefareng nngwe le nngwe e e ikaeletsweng ka bowena.

Kgato 2: Motsotso wa 2 go ya go wa 10 - Go Tlhola gore a Batlhasedi ba Setse ba Tlhamile Lebati la Morago (AWS / Cloud Containment)

Fa e le gore o dutletse .env faele e ne e na le Selotlolo sa Phitlhelelo sa AWS (AKIA...), Akhaonto ya Tirelo ya Google Cloud JSON, kgotsa Mogokgo wa Tirelo ya Azure, go phimola selotlolo se se dutlileng ke halofo fela ya ntwa. O tshwanetse go tlhomamisa gore bot e e itirisang ga e a dirisa metsotswana eo e le 90 go tlhomamisa go tlhomama mo teng ga akhaonto ya gago ya kwa marung:

Boruni jwa Forensiki jwa Morago ga go Dutla ga AWS jwa Dintlha di le 6

  1. Tlhola AWS CloudTrail -> Event history tsa dipitso tsotlhe tsa API tse di dirilweng ke tse di dutlileng Access Key ID:
  2. Bula Khonsole ya AWS CloudTrail -> Hisitori ya tiragalo.
  3. Fetola lenaneo le le latlhegang la patlo go tswa go Buisa-fela go ya go Access key ID o bo o kgomaretsa tse di dutlileng AKIA... mogala.
  4. Leba tiragalo nngwe le nngwe e e kwadilweng fa e sa le ka motsotso o o tabogileng ka one git push. Batla ka tlhamalalo: CreateUser, CreateAccessKey, AttachUserPolicy, CreateRole, AssumeRole, GetSessionToken, RunInstances (EC2), RequestSpotInstances, CreateFunction (Lambda), kgotsa SendEmail (Sepamo sa SES).
  5. Phimola nakwana nngwe le nngwe e e dirang STS dithulaganyo tse di tlhodilweng ke modirisi yoo:
  6. Le fa o sena go phimola AKIA... senotlolo sa phitlhelelo, fa motlhasedi a biditse sts:GetSessionToken pele ga o phimola selotlolo, ** ya bone ya nakwanaASIA... letshwao la nako le nna le dira go fitlha go diura di le 36.**
  7. Go bolaya tsotlhe tse di dirang tsa nakwana STS dithokene tsa modirisi yoo wa IAM ka bonako, ya kwa IAM -> Users -> [Leaked User] -> Permissions -> Add inline policy o bo o tobetsa Revoke sessions (e e gokelelang Deny * pholisi ya letshwao lengwe le lengwe le le ntshitsweng fa aws:TokenIssueTime e pelenyana go feta gone jaanong.).
  8. Tlhola IAM -> Users le IAM -> Roles ya diakhaonto tse di sa tswang go tlhamiwa tsa kwa morago:
  9. Tlhaola Badirisi botlhe ba IAM ka Nako ya go tlhama. Phimola modirisi ope yo o sa mo tlwaelang (admin-backup, sys-monitor, support-bot) mme o netefatse Trust relationships thebo mo Dikarolong tsa gago tsa IAM go tlhomamisa gore motlhasedi ga a tsenya ID ya Akhaonto ya gagwe ya kwa ntle ya AWS ("Principal": {"AWS": "arn:aws:iam::999999999999:root"}) jaaka mogokgo yo o ikanyegang.
  10. Tiriso AWS Resource Explorer kgotsa EC2 Global View go tlhola Dikgaolo TSOTLHE tsa AWS di le 30+ tsa di-cryptominer tse di fitlhegileng:
  11. Ga se gantsi batlhasedi ba simololang ditiragalo tsa cryptomining mo us-east-1 moo o tla di bonang teng mo dashboard ya gago. Go na le moo, ba simolola p4d, g5, kgotsa c6i.32xlarge ditiragalo mo ap-southeast-3 (Jakareta), me-central-1 (UAE), il-central-1 (Tele Avib), kgotsa sa-east-1 (Sao Paulo).
  12. Bula EC2 Console -> EC2 Global View (e e sekasekang kgaolo nngwe le nngwe e e kgontshitsweng mo lenaaneng le le lengwe) le Fedisa ditiragalo dipe tse di sa letlelelweng ka bonako.
  13. Bula Kgetse ya go Duela ya Tshegetso ya AWS ka bonako fa e le gore ditiragalo tsa boferefere di ne tsa duela:
  14. Fa bot e ka tlhagelela $8,000 ya ditiragalo tsa EC2 GPU pele ga o di fedisa, o se ka wa tshoga: fa o sena go sireletsa akhaonto, phimola selotlolo, kgontsha root/IAM MFA, mme o tlositse selotlolo mo GitHub, bula Akhaonto ya AWS le Kgetse ya Tshegetso ya Ditshupamolato e e tlhalosang go kgarametsa ga GitHub ka phoso le dikgato tsa gago tsa paakanyo. AWS ka tlwaelo e fana ka sekoloto sa tshwarelo ya ho lefa ka nako e le nngwe bakeng sa ho dutla ha senotlolo sa GitHub ka phoso hang ha sehlopha sa bona sa tshireletso se netefatsa hore polokelo e hlwekile.

Kgato 3: Ke Eng Go Phimola Faele mo Maitlamong a Ntšhwa go Palelwa - le Kafa o ka Kwalang Hisitori Sešwa ka Sentle ka git filter-repo

1. Goreng git rm .env && git commit -m "delete .env" ga e na mosola gotlhelele

Git ke tsamaiso ya difaele e e kgonang go ateresediwa diteng tse di tsenngwang fela (Directed Acyclic Graph / DAG ya di-commit, ditlhare, le dilo tsa blob): - A re re Itlame A1B2C3 e tsentswe .env (Blob 998877). - A re re morago ga metsotso e le 2 o taboga git rm .env, tsenya .env go .gitignore, o bo o tobetsa Itlame D4E5F6. - Fa mongwe a ntse a batla mo lenaaneng la difaele tsa gajaana mo tsebeng ya gago ya gae ya GitHub ga a kitla a bona .env, Itlame A1B2C3 le Blob 998877 di sa ntse di le karolo ya diperesente di le 100 tsa polokelo. Mongwe le mongwe yo o tsamaisang git clone ditaisololo Blob 998877, mongwe le mongwe yo o tobetsang thebo ya "Commits" mo GitHub a ka tobetsa A1B2C3 go buisa .env faele ka mokwalo o o tlwaelegileng, le didirisiwa tse di itirisang (trufflehog git https://github.com/user/repo) sekaseka tiro nngwe le nngwe ya hisitori mo metsotswaneng e le 2.

2. Kgato ka Kgato: Go Phimola Faele kgotsa Mogala wa Sephiri mo Hisitoring YOTLHE o Dirisa git filter-repo

Porojeke ya Git le GitHub di akantsha semmuso git-filter-repo (e e emisetsang e e bonya, e e nang le diphoso git filter-branch mme e fetofetoga le maemo go feta BFG Repo-Cleaner).

  1. Tsenya git-filter-repo (E tsaya metsotswana e le 5):
    # On macOS (Homebrew):
    brew install git-filter-repo
    
    # On Linux / Windows (via pip / apt):
    pip3 install git-filter-repo
    
  2. Dira khopi ya bekapo ya pabalesego ya foltara ya gago ya polokelo ya selegae pele ga o kwala hisetori gape:
    cp -r $HOME/projects/my-repo $HOME/projects/my-repo-backup
    cd $HOME/projects/my-repo
    
    (Ela tlhoko: Fa e le gore o setse o sutisitse .env faele, netefatsa gore khopi e e phepa ya .env e bolokilwe mo /tmp/.env.safe kwa ntle ga repo, ka gonne git filter-repo e tla phimola .env go tswa mo lenaaneng la gago la tiro le lone.)
  3. Tlhopha Tlhopho A (Phimola Tsela Yotlhe ya Faele jaaka .env kgotsa id_rsa) KGOTSA Tlhopho B (Tlhabolola Megala e e Rileng ya Sephiri mo Difaeleng tsa Khoutu):
  4. Tlhopho A: Tlosa gotlhelele .env (kgotsa config/secrets.json) go tswa mo maitlamong mangwe le mangwe mo hisitoring:
    git filter-repo --invert-paths --path .env --force
    
    (Goreng --invert-paths? Kwa ntle ga --invert-paths, git filter-repo --path .env e boloka FELA .env mme e phimole sengwe le sengwe se sengwe. Go kopanya --invert-paths --path .env e bolelela Git go boloka sengwe le sengwe NTLE LE .env go ralala dikomiti tsotlhe, makala, le ditheke.)
  5. Tlhopho B: Boloka faele ya khoutu (app.py / config.js), mme o tlhotlhore mogala wa sephiri o o nang le khoutu e e thata mo mofuteng mongwe le mongwe wa hisitori: Tlhama faele ya sekwalwa /tmp/secrets-to-scrub.txt e e nang le mogala o le mongwe wa sephiri (kgotsa regex) ka mola:
    AKIAIOSFODNN7EXAMPLE==>REDACTED_AWS_KEY
    sk_live_51NzExampleSecretKey999==>REDACTED_STRIPE_KEY
    regex:postgres:\/\/non_at_chars@==>postgres://REDACTED_DB_CREDENTIALS@
    
    Jaanong taboga git filter-repo --replace-text:
    git filter-repo --replace-text /tmp/secrets-to-scrub.txt --force
    shred -u /tmp/secrets-to-scrub.txt 2>/dev/null || rm -P /tmp/secrets-to-scrub.txt
    
  6. Tsenya .env go .gitignore gore o se ka wa e dira gape metsotso e le 5 go tloga jaanong:
    echo ".env" >> .gitignore
    echo "*.pem" >> .gitignore
    git add .gitignore
    git commit -m "chore: update gitignore rules"
    
  7. Tsenya gape remoutu ya gago ya GitHub (git filter-repo e tlosa ka boomo origin jaaka tlhotlhomiso ya pabalesego) mme o kgarameletsa dikala tsotlhe le ditheke:
    git remote add origin git@github.com:YOUR_USERNAME/YOUR_REPO.git
    git push origin --force --all
    git push origin --force --tags
    

Kgato 4: Serai sa Polokelotlaleletso e e Fitlhegileng ya GitHub (Dangling Commits) le Tsela ya go e Phepafatsa

Fano go na le boammaaruri jo bo botlhokwa jwa forensiki jo bo kwadilweng mo Ditokomaneng tsa Semmuso tsa GitHub (Go tlosa tshedimosetso e e botlhokwa mo polokelong): - Fa o taboga git filter-repo le git push origin --force --all, maitlamo mangwe le mangwe mo polokelong ya gago a bona hash e ntšha ya ditlhaka di le 40 tsa SHA-1, mme ya gago main tshupo ya lekala e sutela kwa hisitoring e ntšhwa e e phepa. - LE FA GO LE JALO, sefara ya polokelo ya Git ya GitHub GA e phuthe matlakala ka bonako (git gc --prune=now) SHA ya bogologolo, e e sa umakiwang. - Seo se raya gore fa bot ya motlhasedi e gatisitse hash ya bogologolo ya go dira (ka sekai, a1b2c3d4...) go tswa mo API ya Ditiragalo tsa GitHub tsa botlhe fa o ne o kgarametsa la ntlha, di sa ntse di kgona go bulega https://github.com/YOUR_USERNAME/YOUR_REPO/commit/a1b2c3d4... mo sebatling sengwe le sengwe sa webo mme o lebe .env faele le fa o sena go kgarameletsa hisitori e e phepa ka dikgoka. Se se maswe le go feta, fa sephiri se ne se tlhagelela mo teng ga Kopo ya go Goga, refs/pull/12/head e boloka maitlamo ao a fitlhelelwa ruri.

Tsela ya go senya ditlamo tse di bolokilweng/tse di lepeletseng mo disefareng tsa GitHub gone jaanong:

  1. Mokgwa 1 (Ka bonako, 100% Phimola e e Feletseng - Go botoka fa repo e se na Mathata/Di-PR/Dinaledi tse di botlhokwa):
  2. Eya kwa polokelong ya gago mo GitHub -> Settings -> Tsamaisetsa kwa tlase (Danger Zone) -> Tobetsa Delete this repository.
  3. Tlhama polokelo e ntšhwa e e nang le leina le le tshwanang tota mo GitHub o bo o tobetsa git filter-repo polokelo ya selegae mo go yone (git push -u origin main).
  4. Go phimola polokelo mo GitHub go thuba ka bonako dipono tsotlhe tsa webo tsa botlhe tsa di-SHA tsa bogologolo tse di bolokilweng (404 Not Found).
  5. Mokgwa wa 2 (Go Boloka Dinaledi, Mathata, le Di-PR - Go Dirisa Tshegetso ya GitHub / Go Phepafatsa Polokelo):
  6. Sa ntlha, tsaya hash ya SHA ya ditlhaka di le 40 ya commit ya bogologolo e e neng e na le sephiri (tlhola git reflog mo foltareng ya gago ya bekapo kgotsa diimeile tsa gago tsa kitsiso tsa GitHub).
  7. Bula Tshegetso ya GitHub (support.github.com) mme o dirise kelelo ya tiro e e itirisang Tlosa tshedimosetso e e botlhokwa / Phepafatsa dipono tsa go itlama tse di bolokilweng (e e supang URL ya polokelo le SHA (di) tsa go itlama tse di lepeletseng). Sediriswa se se itirisang sa Tshegetso ya GitHub se dirisa letlhakore la sefara ka bonako git gc phepafatso ya polokelo e e dirang gore dipono tsa webo tse di bolokilweng le dilo tse di sa umakiwang di se ka tsa dira kwantle ga go phimola polokelo ya gago.
  8. Itsise botlhe ba setlhopha / badirisanimmogo go git clone e foreshe (GA LE KE git pull):
  9. Bolelela motlhabolodi mongwe le mongwe mo setlhopheng sa gago: "O SE KE wa taboga git pull le go kgarametsa." Fa modirimmogo yo o gogileng bad commit pelenyana a taboga git pull (e e kopanyang hisitori ya bogologolo e e leswe le hisitori e ntšhwa e e kwadilweng sešwa) mme e kgarametsa, ba tla kgarametsa tse di phimotsweng .env boela gape mo GitHub. Modirisanimmogo mongwe le mongwe o tshwanetse go phimola foltara ya gagwe ya selegae mme a dirise foltara e ntšhwa git clone, kgotsa taboga git fetch origin && git reset --hard origin/main.

Kgato 5: Go thibela go dutla ga dilo mo isagweng go ya go ile (Gitleaks Tshireletso ya Hook & GitHub Push ya Pele ga Boineelo)

Tsaya metsotswana e le 60 gone jaanong go dira gore go se ka ga kgonega ka dipalo go dira sephiri gape ka phoso:

  1. Kgontsha GitHub ya mahala "Push Protection for Yourself" mo akhaontong yotlhe ya gago ya GitHub:
  2. Eya go GitHub Settings (dipeakanyo tsa porofaele ya gago, kwa godimo ka fa mojeng) -> Code security and analysis (kgotsa Code security).
  3. Tsamaisetsa kwa Secret scanning -> Kgontsha Push protection for yourself.
  4. Fa seno se tobeditswe, nako le nako fa o taboga git push go tswa mo khomphuteng epe go ya kwa polokelong epe ya botlhe kgotsa ya poraefete, sefara ya GitHub e tlhatlhoba faele ya gago e e tsenang ya packfile pele ga e amogela go kgarametsa: fa e lemoga selotlolo sa AWS, selotlolo sa OpenAI, selotlolo sa Stripe, selotlolo sa SSH sa poraefete, kgotsa letshwao la Slack, GitHub e gana git push mo theminaleng ya gago pele ga fa komiti e simolola go dira.
  5. Tsenya gitleaks jaaka moagi pre-commit kgokagano mo lepothopong ya gago:
    # Install gitleaks:
    brew install gitleaks   # (or download binary on Linux/Windows)
    
    # Add a pre-commit hook inside your repository (.git/hooks/pre-commit):
    cat << 'EOF' > .git/hooks/pre-commit
    # /usr/bin/env bash
    gitleaks protect --verbose --redact --staged
    if test $? -ne 0; then
      echo "COMMIT BLOCKED BY GITLEAKS: High-entropy secret or API key detected in staged changes."
      exit 1
    fi
    EOF
    chmod +x .git/hooks/pre-commit
    

Tip

Dirisa .env.example ka megala ya setshwara-lefelo sa sekai le 1Password CLI / AWS Vault / doppler go bona diphiri tsa selegae: Le ka motlha o se ke wa boloka dinotlolo tsa mmatota tsa tlhagiso mo mokwalong o o sa raraanang .env faele mo laptop ya motlhabolodi fa o ka e tila. Go na le moo, dira sefe .env.example (STRIPE_API_KEY=sk_test_placeholder_replace_me), tsenya .env* go lefatshe lotlhe la gago $HOME/.gitignore_global (git config --global core.excludesfile $HOME/.gitignore_global), kgotsa tsenya diphiri ka tlhamalalo mo memoring ka nako ya go dira o dirisa op run --env-file=".env.tpl" -- npm start (1Password CLI) kgotsa aws-vault exec.


Dinomoro tsa maemo a tshoganyetso tsa kgaolo le diporothokholo tsa boemedi

Fa go kgarametswa ga tshedimosetso ya boitshupo ya GitHub ka phoso go dira gore motho a tsenelele mo tshedimosetsong ya poraefete e e laolwang (PII / PHI), ditsamaiso tsa tlhokomelo ya boitekanelo, kgotsa mafaratlhatlha a puso, di latela diporothokholo tsa kitsiso ya tlolomolao e e gapelediwang:

  • Dinaga tse di Kopaneng le Canada:
  • Pabalesego ya Botshelo ya Tshoganyetso / Go Kgaoga ga Mafaratlhatlha a a Botlhokwa: Letsa 911 fa tlolo ya mafaratlhatlha e ama ditiro tsa bookelo kgotsa ditaolo tsa pabalesego ya mmele.
  • Setheo sa Tshireletsego ya Inthanete le Mafaratlhatlha (CISA) le FBI (IC3): Fa batlhasedi ba dirisitse dinotlolo tsa kwa marung tse di dutletsweng go ntsha tshedimosetso kgotsa go dirisa serweboleta se se kotsi sa go gapa madi, begela CISA (1-844-Say-CISA / cisa.gov/report) le Lefelo la FBI la Dingongorego tsa Bosenyi jwa Inthanete (ic3.gov).
  • Kitsiso ya Tlolo ya Tshedimosetso ya SEC, FTC, & Mmueledikakaretso wa Naga: Fa e le gore dipego tsa phitlhelelo ya CloudTrail / polokelotshedimosetso di bontsha gore aterese ya IP e e sa letlelelweng e fitlheletse tshedimosetso ya poraefete ya khasetomara (PII) kgotsa direkoto tsa pholo (HIPAA ePHI) pele ga senotlolo se se dutlileng se phimolwa, buisana le mmueledi wa semolao ka bonako mabapi le mela ya nako ya kitsiso ya tlolo ya tshedimosetso ya puso le go bega ga puso ya HHS OCR / FTC Safeguards Rule.
  • Senthara ya Canada ya Tshireletsego ya Inthanete: Leletsa 1-833-CYBER-88 (1-833-292-3788) kgotsa bega ditlolo tsa polokodiphiri ka fa tlase ga PIPEDA go Ofisi ya Mokhomišenara wa Poraefete wa Canada (OPC).
  • Bogosi jo bo Kopaneng:
  • Ditirelo tsa Tshoganyetso: Letsa 999 (kgotsa 101 / Tsietso ya Tiro 0300 123 2040 le Senthara ya Bosetšhaba ya Tshireletsego ya Inthanete / NCSC ka ncsc.gov.uk).
  • Ofisi ya Mokhomišenara wa Tshedimosetso (ICO - 72-Hour UK GDPR Window): Fa e le gore lekwaloitshupo le le dutletsweng le letleletse phitlhelelo e e sa letlelelweng ya tshedimosetso ya poraefete ya baagi ba UK, Athikele 33 ya UK GDPR e tlhoka go bega ditlolo tsa tshedimosetso ya poraefete tse di ka itsisiweng kwa ICO (0303 123 1113) mo diureng di le 72 tsa go lemoga ka ga tlolomolao.
  • Kopano ya Yuropa:
  • Ditirelo tsa Tshoganyetso: Letsa 112 go ralala dinaga tsotlhe tse di leng ditokololo tsa EU.
  • GDPR Athikele 33 & NIS2 Directive Incident Reporting: Mekgatlho e e laolwang ke EU GDPR e tshwanetse go sekaseka gore a go senolwa ga dintlha tsa boitshupo go dirile gore go tlolwe sephiri sa tshedimosetso ya motho (kitsiso ya diura di le 72 go Bothati jwa bosetšhaba jwa Tshireletso ya Tshedimosetso / DPA), fa ditheo tse di botlhokwa/tse di botlhokwa ka fa tlase ga EU NIS2 Taelo e lebane le letlha la bofelo la go bega tlhagiso go sa le gale ya diura di le 24 kwa nageng ya bona ya bosetšhaba CSIRT (BSI kwa Jeremane, ANSSI kwa Fora, ACN kwa Italy) ka ntlha ya ditiragalo tse di botlhokwa tsa inthanete.
  • Australia le Sešwa:
  • Ditirelo tsa Tshoganyetso: Letsa 000 kwa Australia kgotsa 111 kwa New Zealand.
  • Senthara ya Tshireletsego ya Inthanete ya Australia (ACSC) & Ditlolomolao tsa Tshedimosetso tse di ka Itsisiweng (OAIC: Letsa 1300 CYBER1 (1300 292 371) go tsibogela tiragalo, le go sekaseka ditlamego tsa kitsiso ka fa tlase ga Ofisi ya Mokhomišenara wa Tshedimosetso wa Australia (OAIC) Ditlolo tsa Tshedimosetso tse di ka Itsisiweng (NDB) sekema kgotsa Molao wa Polokodiphiri wa 2020 wa New Zealand (Privacy Commissioner).
  • India le Asia-Pacific:
  • Ditirelo tsa Tshoganyetso: Letsa 112 kwa India (kgotsa 1930 ya bosenyi jwa inthanete).
  • Taelo ya go Bega ya Diura di le 6 ya CERT-In (India): Ka fa tlase ga Setlhopha sa Tsibogelo ya Maemo a Tshoganyetso sa Khomphiutha sa India (CERT-In) dikaelo (No. 20(3)/2022-CERT-In), go tsena mo dithulaganyong tsa kwa marung/IT kwantle ga tetla kgotsa go dutla ga tshedimosetso go go amang mekgatlho kwa India go tshwanetse ga begelwa incident@cert-in.org.in mo diureng di le 6 tsa go lemogiwa.

Dipotso tse di bodiwang kgapetsakgapetsa

Ke phimotse .env faele mme ka kgarameletsa komitlo e ntšhwa metsotswana e le 30 morago ga phoso ya me - a ke sa ntse ke tlhoka go dikolosa dinotlolo tsa me tsa API le dikhunololamoraba tsa polokelotshedimosetso?

Ee, diperesente di le 100 - dikolosa senotlolo sengwe le sengwe ka bonako kwantle ga go tlhoka go tlhoka. Dithuto tsa thuto tsa tshireletsego ya inthanete le thelemeteri go tswa go GitHub Secret Scanning di tlhomamisa gore di-bot tse di itirisang tsa go kokoanya dintlha tsa boitshupo di baya leitlho motswedi wa Ditiragalo tsa GitHub tsa botlhe (Api.github.com/ditiragalo) ka nako ya mmatota le go laisolola ditlamo tse di sa tswang go kgarametswa mo teng ga Metsotswana e le 1.5 go ya go e le 5. Se se maswe le go feta, go kgarameletsa maitlamo a bobedi a a phimolang .tikologo e tlogela mokwalo otlhe o o tlhamaletseng .tikologo faele e e nnang ruri mo teng ga pharologano ya hisitori ya maitlamo a ntlha - mme di-bot di le dintsi di batla ka tlhamalalo maitlamo a a phimolang .tikologo difaele. Fa sephiri se setse se kgoromeleditswe kwa polokelong ya setšhaba le fa e le motsotswana o le 1, se tsenngwa mo kotsing go ya go ile; go phimola le go dikolosa lekwaloitshupo kwa dashboard ya moabi ke sone selo fela se se go sireletsang.

Go tweng fa polokelo e ne e le polokelo ya GitHub ya PORAEFETE fa ke ne ke dira .env faele, mme ke batla fela go e phepafatsa pele ga ke dira gore repo e nne phatlalatsa beke e e tlang?

Fa polokelo e ne e le Diperesente di le 100 tsa Poraefete nako yotlhe (mme ga go na ditiriso dipe tsa CI/CD tsa motho yo mongwe tse di sa ikanyegeng tse di neng di na le phitlhelelo), di-bot tsa scraper mo API ya Ditiragalo tsa GitHub tsa botlhe di na le e seng Ke ise ke bone sephiri sa gago. Le fa go ntse jalo, O SE KE wa phimola fela `.env` mo komiting e ntšhwa mme o bo o fetola repo go tswa go Poraefete go ya go Setšhaba. Ka nako ya fa o fetola polokelo ya poraefete go nna ya Botlhe, kerafo yotlhe ya maitlamo a hisetori e nna phatlalatsa - mme di-bot di sekaseka di-commit tsotlhe tsa bogologolo ka bonako mo repo e ntšhwa ya phatlalatsa. Pele ga o dira gore repo ya poraefete e nne phatlalatsa, e ka nna: (1) Run . git setlhotlhi-repo --phetola-ditsela --tsela .env go apola faele mo dikomiting tsotlhe tsa hisitori (le go dikolosa dinotlolo le fa go ntse jalo go bona tiriso e e siameng), KGOTSA (2) Kopolola difaele tse di phepa tsa ga jaana mo foltareng e ntšhwa, tsamaisa tshimologo ya git go bona hisitori ya ntlha e e phepa ya 1-commit, mme o phasalatse polokelo eo e ntšhwa.

Ke ka ntlha yang fa AWS e ne ya gokelela pholisi e e bidiwang AWSCompromisedKeyQuarantineV2 go modirisi wa me wa IAM, mme ke eng fa ke sa ntse ke duedisiwa?

Ka gonne AWS e dirisana ka tlhamalalo le GitHub Secret Scaning, nako le nako fa AKIA... senotlolo se tlhagelela mo maitlamong a GitHub a botlhe, tsamaiso ya tshireletso e e itirisang ya AWS e a e lemoga mo metsotsong e se kae, e bula thekete ya tshegetso, mme e gokelela pholisi e e laolwang . AWSKwarantine yaSelotlolo se se Tsenngwang mo KotsingV2. (kgotsa V3.) go modirisi yoo wa IAM. Pholisi eo ya kwarantine e thibela dikgato tse di kotsi tse di jaaka go thankgolola ec2:Ditiragalo tsa go Tsamaisa kgotsa go phimola dikgamelo tsa S3 - mme GA E fedise ditiragalo tsa EC2 tse motlhasedi a setseng a di simolotse mo metsotswaneng ya ntlha e le 60 pele ga pholisi e gokeletswe, e bile ga e phimole badirisi ba IAM ba kwa morago kgotsa ba nakwana . STS dithulaganyo tse motlhasedi a setseng a di tlhamile. O santse o tshwanetse go phimola selotlolo se se dutlileng ka seatla, tlhola EC2 Tebo ya Lefatshe Lotlhe go ralala dikgaolo tsotlhe go fedisa ditiragalo tsa boferefere, le go tlhola Motlhala wa Maru bakeng sa diphetoho tsa IAM tse sa dumellwang.

Pharologano ke eng fa gare ga git filter-repo le BFG Repo-Cleaner, mme goreng ke sa tshwanela go dirisa git filter-branch?

Lekala la setlhotlhi sa git ke sekwalwa sa bogologolo sa shell se se ageletsweng mo mefuteng ya ntlha ya Git se se bonya thata mo mabolokelong a magolo, se se bonolo go se rulaganya sentle (se tlogela ditshupiso tsa bekapo mo ditshupiso/tsa tshimologo/ e e santseng e na le diphiri tsa gago.), mme jaanong e gatisa tlhagiso ya semmuso ya go nyatsa go tswa go Git e go bolelela gore o se ka wa e dirisa. Ka bobedi git-setlhotlhi-repo (e e kwadilweng ka Python mme e amogetswe semmuso ke batlhokomedi ba konokono ba Git le GitHub) le Sephepafatsi sa BFG (e e kwadilweng ka Java/Scala) e taboga ka bonako jwa 10x go ya go 100x mme e kwale gape ka phepafatso di-commit tsotlhe, ditlhare, le ditheke. git-setlhotlhi-repo gantsi e ratwa gompieno ka gonne e fetola le maitlamo a gago a ga jaanong a o tlhotlhomisitsweng (`HEAD`) ntle le go tlhoka go dira tiro e e farologaneng ya pele pele.

Mongwe a sa ntse a ka leba jang maitlamo a me a a phimotsweng mo GitHub morago ga gore ke taboge git filter-repo le git push --force?

Mo Git, `git push --force` e tlhabolola fela tshupo ya lekala (`refs/heads/main`) go supa ketane ya gago e ntšhwa e e kwadilweng sešwa ya go dira; e a dira e seng ka bonako phimola dilo tsa bogologolo tse di sa umakiwang ("dingling") tse di bolokilweng mo disefareng tsa GitHub tsa backend. Fa e le gore bot e gatisitse hash ya SHA ya ditlhaka di le 40 ya maitlamo a gago a ntlha fa e ne e tsena mo API ya Ditiragalo tsa botlhe, e tsamaela ka tlhamalalo kwa https://github.com/mong/repo/itlamo/<40-tlhaka-SHA> e santse e tla laisa maitlamo ao a khutsana go tswa mo polokelotshedimosetsong ya dilo tsa GitHub go fitlha go kokoanya matlakala go simolola. Go nuke pono eo e e bolokilweng ka bonako, e ka nna phimola polokelo mo GitHub o bo o e tlhama sešwa go tswa mo polokelo ya gago e e phepa ya selegae, kgotsa o romele SHA ya maitlamo a a lepeletseng kwa go Tshegetso ya GitHub (`support.github.com`) go phepafatsa polokelotlaleletso ya letlhakore la sefara ka bonako.

Go tweng fa mongwe a setse a tobetse "Fork" mo polokelong ya me ya botlhe pele ga ke taboga git filter-repo?

Ke ka moo Kgato 1 ka metlha ke go phimola le go dikolosa dintlha tsa boitshupo mo dashebotong ya motlamedi: go taboga git setlhotlhi-repo le go kgoromeletsa kwa polokelong ya gago GA e kwale gape ditlamo mo teng ga Foroko e e ikemetseng ya motho yo mongwe ya polokelo ya gago (ntle le fa o phimola polokelo ya gago yotlhe ya motsadi mme o ikgolaganye le Tshegetso ya GitHub malebana le tshedimosetso e e botlhokwa mo diforoko). Fa o sena go phimola dinotlolo tsa AWS/API le go dikolosa dikhunololamoraba tsa polokelotshedimosetso, khopi epe ya bogologolo .tikologo faele e e ntseng mo teng ga polokelotshedimosetso ya foroko kgotsa ya bot ya motho wa boraro e nna mogala o o suleng, o o senang mosola wa ditlhaka tse di sa tlholeng di kgona go fitlhelela mafaratlhatlha a gago.


Dikaedi tse di tsamaelanang


Metswedi le kaelo ya semmuso

  • Ditokomane tsa Tshireletso tsa Semmuso tsa GitHub (docs.github.com/en/authentication/keeping-your-account-and-data-secure/removing-sensitive-data-from-a-repository): Go Tlosa Tshedimosetso e e Botlhokwa mo Polokelong (git filter-repo, BFG Repo-Cleaner, Go Phepafatsa Polokelotshedimosetso ya Dangling Commit, le Tshireletso ya Push ya go Sekena ka Sephiri).
  • Ditirelo tsa Webo tsa Amazon (AWS) Kaedi ya go Tsibogela Ditiragalo tsa Tshireletsego (docs.aws.amazon.com/security/): Go Tsibogela Dinotlolo tsa Phitlhelelo tsa AWS IAM tse di Bontsweng (AWSCompromisedKeyQuarantineV2, Go phimola Nakwana STS Dithulaganyo ka aws:TokenIssueTime, le CloudTrail Boruni jwa Forensiki).
  • Setheo sa Bosetšhaba sa Ditekanyetso le Thekenoloji (NIST) (United States): Kgatiso e e Kgethegileng 800-61 Tshenolo 2: Kaedi ya go Tshwaragana le Ditiragalo tsa Tshireletsego ya Khomphiutha le SP 800-57: Kgakololo ya Botsamaisi jwa Dinotlolo (Go Phimolwa ga Boitshupo jo bo Tsenngwang mo Kotsing le go Dikolosiwa ga Cryptographic).
  • Porojeke ya Tshireletsego ya Tiriso ya Webo e e Butsweng (OWASP): Letlhare la Tsietso la Taolo ya Diphiri (Go Thibela Dintlha tsa Boitshupo tse di Nang le Khoutu e e Thata, Go Sekaseka ga Sephiri Pele ga go Dira ka Gitleaks/TruffleHog, le Tlhabelo ya Sephiri ya Nako ya Nakwana).
  • Setheo sa Tshireletsego ya Inthanete le Tshireletsego ya Mafaratlhatlha (CISA) (United States): Boagi jwa Tshupetso ya Setegeniki ya Tshireletso ya Maru le Buka ya go Tshameka ya Paakanyo ya Ditshupo tse di Tsenngwang mo Kotsing.