Skip to content

ብኣጋጣሚ ተደፊኡ .env ምስጢራት ወይ መፍትሕታት AWS ንህዝባዊ GitHub Repo: ስለምንታይ ነቲ ፋይል ምድምሳስ ዘይሓብኦ

ቁጽሪ ህጹጽ እዋን በብሃገር ይፈላለ እዩ።. እዚ ገጽ እዚ 911 ዝጥቀም ኮይኑ፡ ቁጽሪ ኣሜሪካን ካናዳን እዩ። ብዙሓት ካልኦት ሃገራት ድማ 112፡ 999 ወይ ካልእ ቁጽሪ ይጥቀማ። ንሃገርካ ዝኸውን ቁጽሪ ድለ.

ድሕሪ ዓሰርተ ካልኢት ምጉያይ ምግንዛብ git push origin main (ወይ ድማ ናይ ብሕቲ መኽዘን ናብ ምግልባጥ Public) ናትካ commit ንጹር ጽሑፍ ከም ዘጠቓለለ .env ፋይል፡ ሓደ AWS እዩ። AKIA... መፍትሕ መእተዊን ምስጢራዊ መፍትሕን፡ መፍትሕ OpenAI/Anthropic API፡ ስትሪፕ sk_live_... ናይ ምፍራይ ምልክት፣ ናይ PostgreSQL/MongoDB ዳታቤዝ URI ምስ ፓስዎርድ፣ ወይ ድማ ዘይተመሰጠረ $HOME/.ssh/id_ed25519 ናይ ብሕቲ መፍትሕ ሓሙሽተ ኣላርማት ዘለዎ ናይ ሳይበር ድሕነት ህጹጽ ኩነታት እዩ። ኣውቶማቲክ መረጋገጺ-ምእካብ ቦትኔት ብቐጻሊ ንህዝቢ ድምጺ ይገብሩ GitHub Events Firehose (api.github.com/events) ከምኡ ውን ክሎን ሓደስቲ ዝተደፍኡ commits ኣብ ውሽጢ 1.5 ክሳብ 4 ካልኢት ካብቲ ናትካ... git push ምዝዛም. እቲ ዝገደደ ድማ ዳርጋ ኩሉ ስንባደ ዝፈጠረ ዲቨሎፐር ልክዕ ከምኡ ቀታሊ ጌጋ እዩ ዝፍጽም፡ ንሳቶም ድማ ነቲ... .env ፋይል ኣብ ከባቢኻ፣ ወስኽ .env ናብ .gitignore፣ ከምኡ’ውን ካልኣይ commit ዝብል ኣርእስቲ ደፍእዎ። "remove .env" ወይ "oops". ካልኣይ ዝድምስስ commit ምድፋእ .env hides nothing: እቲ ንጹር ጽሑፍ ምስጢር 100 ሚእታዊት ንዘልኣለም ኣብ ውሽጢ እቲ ዝሓለፈ commit's diff (git log -p)፣ ዋላ ብሓይሊ ትደፍእ (git push --force) ኣብ ልዕሊ ጨንፈር፡ እቲ ዘይተወከሰ commit (dangling blob) ብቀጥታዊ GitHub URLን ብዝተዓቀበ ናይ Pull Request ርእይቶታትን ኣቢሉ ብግልጺ ክሳብ ዝጽረግ ንህዝቢ ዝረኽቦ ኮይኑ ይቕጽል። እቲ ዝፈሰሰ መረጋገጺ ድሮ ብመጥቃዕቲ ዝፍጽሙ ሰባት ንራንሶምዌር ንምዝርጋሕ፡ ንDNS ዶመይንካ ንምጭዋይ፡ ወይ ንናይ ደበና ተኻራያይካ ንምዕጻው ዝተጠቕመሉ እንተኾይኑ፡ ኣብ መሓዙትና መምርሒታት ተወከስ ራንሶምዌርን ማልዌርን ምላሽ ምሃብ፣ ዶሜይን ስም ምጭዋይ፡ ግዜኡ ዝሓለፎ ዲኤንኤስ፡ ከምኡ’ውን ምውሳድ መርበብ ሓበሬታ፣ ከምኡ’ውን Google Workspace ወይ Microsoft 365 ብሕታዊ ዓውዲ ኣድሚን ምዕጻው. ምፍሳስ መረጋገጺ ንውሕስነት ሕሙማት ሆስፒታል፡ ኣካላዊ ኢንዱስትርያዊ ምቁጽጻር፡ ወይ ትሕተ ቅርጺ ህጹጽ ምልኣኽ ዝጸሉ እንተኾይኑ፡ ኣብ ከባቢኻ ዝርከብ ቁጽሪ ህጹጽ ረድኤት ደውል (911 ኣብ ሕቡራት መንግስታት ኣመሪካን ካናዳን፡ 112 ኣብ መላእ ሕብረት ኤውሮጳ፡ 999 ኣብ ዓባይ ብሪጣንያ) ወይ ድማ ኣብ ኣህጉራዊ ማህደርና ናይ... ናይ ህጹጽ እዋን ቁጽሪ.

እዚ ሕጂ ግበሩ

  1. ነፍሲ ወከፍ ኣብ ኣቕራቢ ኮንሶል ዝተቓልዐ ምስጢር መጀመርታ - ኣብ ውሽጢ ቀዳሞት 120 ካልኢታት - ቅድሚ ንሓንቲ ካልኢት ምጉያይ ምብኻን ምፍራስ፣ ምዝዋርን ምዝዋርን። git commands: ሓደ ምስጢር ንህዝባዊ መኽዘን GitHub, GitLab, ወይ Bitbucket ዋላ ን3 ካልኢት ምስ ተንከፎ፡ ነቲ መፍትሕ ከም ንሓዋሩ ዝተቓጸለን ድሮ ኣብ ኢድ ኣውቶማቲክ መጥቃዕቲ ዝፍጽሙን ጌርካ ውሰዶ። ዝኾነ መጠን ናይ... git reset --hard፣ git push --force፣ ወይ ድማ ነቲ መኽዘን ምድምሳስ ካብ ዳታቤዝ ናይ ሓደ ድሮ ኣብ ካልኣይ #2 ኮሚትካ ዘውረደ ስክራፐር ቦት መፍትሕ ክድምስሶ ይኽእል። ኣብዚ ሕጂ እዋን ናብ AWS IAM, Stripe, OpenAI, database consoles, ወይ GitHub SSH settings ኣቲኻ Deactivate / Delete / Roll the key immediately።
  2. ናይ ደበና ሕሳብን ኦዲትን ምዝገባታትኩም ኦዲት ግበሩ (AWS CloudTrail፣ GCP Cloud Audit Logs፣ Stripe Logs) ንመስኮት ኣብ መንጎ ናትካ git push ከምኡውን መፍትሕካ ምስራዝ: ኣውቶማቲክ ክሪፕቶማይኒንግ ቦት ዝጥቀሙ ምፍሳስ AWS_ACCESS_KEY_ID (AKIA...) ኣብ ውሽጢ 30 ክሳብ 90 ካልኢት ንዝለዓለ ኮታ ዘለዎም GPU instances ንምሽክርካር መረጋገጺታት (p4d.24xlarge / g5.48xlarge) ኣብ መላእ ኩሎም ሕቡኣት ዞባታት AWS (ap-east-1፣ me-south-1፣ af-south-1) ከምኡ’ውን ናይ ድሕሪት ማዕጾ IAM ተጠቀምቲ ምፍጣር ወይ Lambda persistence hooks ስለዚ ዋላ ነቲ ዝፈሰሰ መፍትሕ ምስ ደምሰስካዮ ኣብ ውሽጢ AWS ኣካውንትካ ክጸንሑ።
  3. ሓንቲ ካልኢት ፈጺምካ ኣይትደፍእ "Delete .env" commit - ብሓቂ ምጽሓፍ "delete secret" ወይ "remove password" ኣብ ሓደ commit መልእኽቲ ዕላማ ዝገበሩ scraper bots ይስሕብ: ኣሽሓት ስግኣት-ተዋሳኢ ስክሪፕትታት ብፍሉይ GitHub Search for commit messages containing ይሓትት። "remove .env"፣ "delete key"፣ "oops"፣ ከምኡ’ውን "remove credentials"፣ ድሕሪኡ ኣብ ታሪኽ ሓደ commit backward ብምጥዋቕ ነቲ መፍትሕ ስርቂ።
  4. ምሉእ ታሪኽ መኽዘን Git ብኸባቢ ተጠቒምካ ዳግማይ ጽሓፍ git filter-repo (ወይ... BFG Repo-Cleaner) ነቲ ፋይል ንምእራም ወይ ነቲ ናይ ምልክት ቃል ሕብረ ቃላት ካብ ነፍሲ ወከፍ ታሪኻዊ ምፍጻም፣ ገረብን መለለዪን ንምእራም: git filter-branch ብወግዒ ብፕሮጀክት ጊት ተነጺጉ ኣሎ፤ ምጥቃም git filter-repo --invert-paths --path .env (ካብ ኩሉ commits ንሓደ ፋይል nuke ንምግባር) ወይ git filter-repo --replace-text expressions.txt (ፍሉያት ናይ ምልክት ቃል ሕብረ ቃላት ብ ***REMOVED*** ኣብ ውሽጢ ኮድ ፋይላት ብዘይ ምድምሳስ ፋይላት)።
  5. ንኹሎም ጨናፍርን መለለዪታትን ብሓይሊ ምድፋእ (git push origin --force --all), AND ናይ GitHub ብወገን ኣገልጋሊ ዝተዓቀበ ናይ ምፍጻም ርእይቶታት ምጽራይ (dangling commits): መብዛሕትኦም ዲቨሎፐራት ዘይፈልጥዎ ምስጢር ኣብዚ ኣሎ፡ ዋላ ምስ ጎየኻ git filter-repo ከምኡ’ውን... git push --force, ናይ GitHub ኣገልገልቲ ነቲ ናይ ቀደም commit SHA ኣብ ናይ ነገራት መኽዘን ብህይወት ይሕዝዎ (git cat-file)፣ ማለት ዝኾነ ሰብ ነቲ 40 ፊደላት ዘለዎ commit SHA ካብቲ ህዝባዊ Events API ዝመዝገቦ ሕጂ እውን ክርእዮ ይኽእል እዩ። github.com/user/repo/commit/<OLD_SHA>. ኣብ ታሕቲ ከመይ ጌርና ብቕጽበት ብመንገዲ GitHub Support / API ወይ ድማ ነቲ መኽዘን ብምድምሳስን ዳግማይ ብምፍጣርን dangling commit caches ከም እንጽርዮ ንገልጽ።
  6. ናይ ከባቢ ምትካል pre-commit ምስጢራዊ ስካነር (gitleaks ወይ trufflehog) ኣብ ውሽጢ .git/hooks/pre-commit ቅድሚ ካልእ መስመር ኮድ ምጽሓፍካ: A 10-second gitleaks protect --staged pre-commit hook ንነፍሲ ወከፍ መድረኽ ዝተገብረ መስመር ኣብ ከባቢኻ ኣብ ላፕቶፕካን ብሎክካን ይምርምሮ git commit ቅድሚ ሓደ ምስጢር ካብ ማሽንካ ምውጽኡ።

Danger

AWS Key እንተፈሲስካ (AKIA...), ነታ ንጽል IAM Access Key ምድምሳስ ጥራይ እኹል ኣይኮነን - እቲ መጥቃዕቲ ዝፈጸመ ሰብ ድሮ ካልኣይ IAM User, Role, ወይ Temporary ፈጢሩ እንተኾይኑ ክትፈልጥ ኣለካ STS Session Token ኣብተን 60 ካልኢታት እቲ መፍትሕ ቀጥታዊ ዝነበረ: ሓደ ኣውቶማቲክ ቦት ምስ AWS key ምስ ዝፈልጥ AdministratorAccess ወይ iam:* ፍቓድ ኣብ GitHub, ናይ መጀመርታ ኣውቶማቲክ ኤፒኣይ ጻውዒቱ (ኣብ ውሽጢ 2 ካልኢት) እዩ። iam:CreateUser + iam:CreateAccessKey (ወይ... sts:GetSessionToken ን36 ሰዓታት ዝጸንሕ)። ነቲ ዝፈሰሰ መፍትሕ ካብ ጥራይ እንተደምሲስካዮ .env ናብ ድቃስ ድማ ተመሊስካ፡ እቲ መጥቃዕቲ ዝፈጸመ ሰብ ሓድሽ ዝፈጠሮ መፍትሕ ድሕሪት ማዕጾ ምጉያይ ይቕጽል $15,000/day EC2 GPU ክላስተር ምሉእ ሰሙን መወዳእታ። ኣብ ታሕቲ ኣብ ዘሎ ምዕራፍ 2 6-Point AWS Post-Leak Containment Checklist ዝብል ዝርዝርና ብቕጽበት ተኸታተሉ።


ገረብ ውሳነ: ቅጽበታዊ ምዕቃብ፣ ምዝዋርን ምጽራይ ታሪኽ Gitን።

ነዚ ዋሕዚ ስራሕ ብጽኑዕ ቅደም ተኸተል ኣፈጽምዎ (Revoke FIRST -> Audit Persistence SECOND -> Purge Git History THIRD):

flowchart TD
    Start["ምስጢር ናብ ህዝባዊ ሪፖ ተደፊኡ (.env, AWS/GCP Key, DB Password, Stripe/OpenAI Key, ወይ Private SSH Key)"] --> Step1["ካብ 0 ክሳብ 2 ደቒቕ (ቀዳምነት #1): ነፍሲ ወከፍ ዝተቓልዐ መፍትሕ ኣብ ፕሮቫይደር ኮንሶል ብቕጽበት ስርዞ / ምጥቕላል"]

    Step1 --> SecretType{"ኣብ ውሽጢ እቲ ኮሚት እንታይ ዓይነት መረጋገጺ እዩ ነይሩ?"}

    SecretType -->|"መፍትሕ ትሕተ ቅርጺ ደበና (AWS AKIA, GCP ኣገልግሎት ኣካውንት JSON, Azure SP)"| CloudAudit["ካብ 2 ክሳብ 10 ደቒቕ: CloudTrail / Activity Logs ምፍታሽ -> ኣብ ኩሉ ዞባታት Rogue EC2/Compute Instances ምቁራጽ -> ዘይተፈቕዱ IAM Users/Roles/STS Sessions ምድምሳስ"]

    SecretType -->|"ዳታቤዝ URI / ፓስዎርድ (ፖስትግረስ፡ ማይኤስኪዩኤል፡ ሞንጎዲቢ፡ ሬዲስ፡ ሱፓቤዝ)"| DBAudit["ካብ 2 ክሳብ 10 ደቓይቕ: DB ተጠቃሚ ፓስዎርድ ምዝዋር + ንጡፋት ርክባት ምቕታል (pg_terminate_backend) + ንጉጅለ ድሕነት ፋየርዎል ናብ ጻዕዳ ዝርዝር IPs ጥራይ ምዕጻው"]

    SecretType -->|"ኤፒኣይ ቶከን ወይ SSH መፍትሕ (ስትሪፕ፣ OpenAI፣ GitHub PAT፣ ስላክ፣ ናይ ብሕቲ SSH መፍትሕ)"| TokenAudit["ካብ 2 ክሳብ 10 ደቒቕ: መፍትሕ ኤፒኣይ ኣብ ዳሽቦርድ ምጥቕላል / ካብ $HOME/.ssh/authorized_keys & ቅጥዕታት GitHub ህዝባዊ መፍትሕ SSH ኣውጽእ -> ናይ ቀረባ እዋን ምዝገባታት ኣጠቓቕማ ኤፒኣይ ኦዲት ግበር"]

    CloudAudit --> RepoVisibility{"ካብ 10 ክሳብ 20 ደቒቕ፡ ንመኽዘን GitHub ብኸመይ ክትጽርዮ ትደሊ?"}
    DBAudit --> RepoVisibility
    TokenAudit --> RepoVisibility

    RepoVisibility -->|"ዝቐልጠፈ 100% Cache-Wipe (ዝተዓቀበ ወሳኒ ጉዳይ/ታሪኽ ኮኾብ የለን)"| NukeRepo["1. ኣብ ቅጥዕታት GitHub ዘሎ ምሉእ መኽዘን ደምስሶ። 2. ታሪኽ ንምጽራይ git filter-repo ኣብ ውሽጢ ዓዲ ንሰርሕ። 3. Fresh Repo & Push Clean History ምፍጣር (ንኹሎም Cached Commit SHAs ብቕጽበት የጥፍኦም)"]

    RepoVisibility -->|"ህሉዋት ሪፖ ስታርስ፣ ጉዳያት፣ ፒኣር፣ & ፎርክስ ክዕቅብ ኣለዎ።"| RewriteRepo["1. git filter-repo (--invert-paths ወይ --replace-text) ንሰርሕ። 2. git push --force --all & --tags ንሰርሕ። 3. ንDangling Commit SHA Cache ንምጽራይ GitHub Support / Support Portal ርኸብ"]

ምዕራፍ 1: ደቒቕ 0 ክሳብ 2 - ቅልጡፍ ምስራዝ ምትላል ወረቐት ብወሃቢ

ክትቃለሰሉ እትኽእል ተርሚናል ኣይትኽፈት git rebase ናይ ምፍራይ መፍትሕታትካ ገና ንጡፋት እናሃለዉ። ትኽ ኢልካ ናብቲ ኣብ ታሕቲ ዘሎ ዝተጎድአ ኣቕራቢ ጠውቕ እሞ መጀመርታ ነቲ መረጋገጺ ቅተሎ፤

ዝፈሰሰ ዓይነት መረጋገጺ ቅድመ-ጥብቆ / ቅዲ ኣብ ኮድካ ልክዕ ናይ 30 ካልኢት ናይ ምስራዝን ምዝዋርን ስጉምቲ GitHub ብኣውቶማቲክ ይስርዞ ድዩ (Secret Scanning Partner Program)?
1. AWS IAM መእተዊ መፍትሕ AKIA... (ናይ ነዊሕ ግዜ IAM key) ወይ ASIA... (ግዝያዊ መፍትሕ STS) + 40-char ምስጢር AWS ኮንሶል -> IAM -> Users -> [Username] -> Security credentials ትብ -> Access keys -> ጠውቕ Deactivate ድሕሪኡ ድማ Delete. (ብተወሳኺ እቲ AWS Compomised Key Quarantine Policy እንተኾይኑ መርምሩ AWSCompromisedKeyQuarantineV2 ድሮ ብኣውቶማቲክ ብ AWS ተተሓሒዙ ነበረ።) AWS ብቕጽበት የጠንቅቕ (AWS ብኣውቶማቲክ ኢመይል ይልእከልካ፣ ልዑል ቀዳምነት ዘለዎ ናይ ደገፍ ጉዳይ ይኸፍት፣ ይተሓሓዝ AWSCompromisedKeyQuarantineV2 ኣብ ውሽጢ ደቓይቕ - ምዕጋት EC2 ይጅምር - ግን ገና ነቲ መፍትሕ ብኢድካ ክትድምስሶ ኣለካ)።
2. ጉግል ክላውድ (GCP) ናይ ኣገልግሎት ኣካውንት JSON ወይ API Key private_key_id፣ BEGIN PRIVATE KEY ኣብ ውሽጢ *-credentials.json፣ ወይ AIzaSy... ጉግል ክላውድ ኮንሶል -> IAM & Admin -> Service Accounts -> Account -> ዝብል ጠውቕ Keys tab -> ነቲ ዝፈሰሰ Key ID ደምስሶ። ን AIzaSy... መፍትሕታት ኤፒኣይ፡ APIs & Services -> Credentials -> Regenerate Key ከምኡ ውን restrict key ብ HTTP Referrer / IP። እወ/ መጠንቀቕታ: Google Cloud ንኣውቶማቲክ ንወነንቲ ፕሮጀክት የፍልጥን ኣብ ህዝባዊ GitHub ዝተረኽቡ ዝፈሰሱ መፍትሕታት GCP Service Account ከሰናኽል ይኽእል።
3. ስትሪፕ ላይቭ ሲክሪት መፍትሕ sk_live_... ወይ rk_live_... (ዝተገደበ መፍትሕ) ስትሪፕ ዳሽቦርድ (dashboard.stripe.com/apikeys) -> ጠውቕ ... ኣብ ጎኒ ምስጢራዊ መፍትሕ -> ጠውቕ Roll key... -> ምረጽ Expire now (Immediately). እወ (Auto-Revoked): ውህደት ስትሪፕ ምስ GitHub Secret Scanning ብኣውቶማቲክ ይጥወ/ይሰርሕ sk_live_ መፍትሕታት ኣብ ውሽጢ ካልኢታት ካብ ህዝባዊ ድፍኢትን ኢመይላትን ይሰደልካ።
4. OpenAI / ኣንትሮፒክ / HuggingFace መፍትሕታት ኤፒኣይ sk-proj-...፣ sk-ant-...፣ hf_... - ክፉትኤይ (platform.openai.com/api-keys): ኣብ ጎኒ እቲ መፍትሕ ዘሎ Trash ዝብል ምልክት ብኡንብኡ ጠውቕ (bots drain $500 ናይ GPT-4 / ክላውድ ክረዲት ኣብ ትሕቲ 4 ደቓይቕ.).
- ሰብኣዊ (console.anthropic.com/settings/keys): Disable/Delete key ዝብል መፍትሕ።
- ገጽ ምሕቋፍ: Settings -> Access Tokens -> Invalidate.
እወ: OpenAI, Anthropic, and HuggingFace ምስ GitHub Secret Scanning ብምትሕብባር ኣብ ህዝባዊ ሪፖ ዝተረኽቡ መፍትሕታት ብኣውቶማቲክ ይስርዙ፣ ዋላ እኳ ብኢድ ምርግጋጽ ግዴታ እንተኾነ።
5. ናይ GitHub ውልቃዊ መእተዊ ምልክት (PAT) ወይ OAuth / App Key ghp_...፣ github_pat_...፣ gho_...፣ ghs_... ጊትሃብ Settings -> Developer settings -> Personal access tokens -> ቶከን ምድምሳስ። እወ (ቅጽበታዊ): GitHub ዝኾነ ብኣውቶማቲክ ይስርዞ ghp_ ወይ github_pat_ token the split-second ናብ ዝኾነ ህዝባዊ መኽዘን GitHub ዝድፋእ እዩ።
6. ናይ ዳታቤዝ ምትእስሳር ሕብረ-ቁጽሪ (PostgreSQL፣ MongoDB Atlas፣ Supabase፣ PlanetScale፣ Redis) postgresql://user:pass@host...፣ mongodb+srv://...፣ SUPABASE_SERVICE_ROLE_KEY 1. ንናይ ዳታቤዝ ተጠቃሚ ፓስዎርድ ኣብ ደበና ዳሽቦርድ (RDS፣ Atlas፣ Supabase፣ Neon).
2. ዝጸንሑ ክፉታት TCP ምትእስሳራት ምቁራጽ (SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE pid <> pg_backend_pid();) ምኽንያቱ Postgres/MySQL ፓስዎርድ ምቕያር ንሓደ ድሮ ምስ ንጡፍ ሶኬት ዝተኣሳሰር መጥቃዕቲ ዝፍጽም ሰብ ኣይ ኣይቆርጾን እዩ።
ኣይፋልን (ሓፈሻዊ ዳታቤዝ URIs ብኣውቶማቲክ ኣይስረዙን እዮም): ምኽንያቱ ሀ postgresql:// ወይ mongodb+srv:// URL ናብ ብሕታዊ ስም ኣአንጋዲ የመልክት፣ GitHub ንናይ ዳታቤዝ ምልክት ቃልካ ብኣውቶማቲክ ክስርዞ ኣይክእልን እዩ - ኣብዚ ሕጂ እዋን ብኢድካ ክትቅይሮ ኣለካ።
7. ናይ ብሕቲ SSH መፍትሕ (id_rsa፣ id_ed25519፣ .pem EC2 ቁልፊ ጽምዲ) -----BEGIN OPENSSH PRIVATE KEY----- ወይ -----BEGIN RSA PRIVATE KEY----- ናይ ብሕቲ SSH መፍትሕ "un-leaked" ክኸውን ፈጺሙ ኣይክእልን እዩ። ብኡንብኡ ናይ ነፍሲ ወከፍ ሰርቨር ክፈት $HOME/.ssh/authorized_keys ፋይል (ከምኡውን GitHub/GitLab ናትካ Settings -> SSH and GPG keys ገጽ) ከምኡ’ውን እቲ ዝሰማማዕ ህዝባዊ መፍትሕ መስመር ምድምሳስ። ንAWS EC2 ዝኸውን .pem መፍትሕታት፡ ነቲ ህዝባዊ መፍትሕ ካብ ነፍሲ ወከፍ EC2 instance's ኣውጽእዎ። $HOME/.ssh/authorized_keys. ኣይፋልን: GitHub ንምእራም ናብ ናይ ሊኑክስ ኣገልገልትኻ ክኣቱ ኣይክእልን እዩ። $HOME/.ssh/authorized_keys - ካብ ነፍሲ ወከፍ ዕላማ ዝገበረ ኣገልጋሊ ነቲ ህዝባዊ መፍትሕ ባዕልኻ ከተውጽኦ ኣለካ።

ምዕራፍ 2: ደቒቕ 2 ክሳብ 10 - ኣጥቃዕቲ ድሮ ድሕሪት ማዕጾ ፈጢሮም እንተኾይኖም ምፍታሽ (AWS / Cloud Containment)

ናትካ እንተፈሲሱ .env ፋይል AWS Access Key (AKIA...)፣ Google Cloud Service Account JSON፣ ወይ Azure Service Principal፣ ነቲ ዝፈሰሰ መፍትሕ ምድምሳስ ፍርቂ ናይቲ ውግእ ጥራይ እዩ። ሓደ ኣውቶማቲክ ቦት ኣብ ውሽጢ ክላውድ ኣካውንትካ ጽንዓት ንምምስራት ነተን 90 ካልኢታት ከምዘይተጠቐመለን ከተረጋግጽ ኣለካ፤

እቲ 6 ነጥቢ ዘለዎ AWS ድሕሪ ምፍሳስ ፎረንሲክ ኦዲት።

  1. ምፍታሽ AWS CloudTrail -> Event history ንኹሎም እቶም ዝፈሰሱ ዝገበሩ ናይ ኤፒኣይ ጻውዒታት Access Key ID:
  2. AWS CloudTrail Console -> ታሪኽ ፍጻመ ክፈት።
  3. ነቲ ናይ ምድላይ ንቑልቁል ዝወርድ ካብ Read-only ናብ ** ቀይሮ።Access key ID** ነቲ ዝፈሰሰ ድማ ምልጣፍ AKIA... ሕብረ-ቁጽሪ።
  4. ካብታ ዝጎየኻላ ደቒቕ ጀሚርካ ዝተመዝገበ ነፍሲ ወከፍ ፍጻመ ርአ git push. ብፍላይ ንዝስዕቡ ድለዩ፤ CreateUser፣ CreateAccessKey፣ AttachUserPolicy፣ CreateRole፣ AssumeRole፣ GetSessionToken፣ RunInstances (EC2)፣ RequestSpotInstances፣ CreateFunction (ላምብዳ)፣ ወይ SendEmail (SES spam) ዝብል ጽሑፍ ኣሎ።
  5. ዝኾነ ንጡፍ ግዝያዊ ስርዝ ድልዝ STS በቲ ተጠቃሚ ዝፈረዩ ክፍለ ግዜታት፤
  6. ዋላ ድሕሪ ምድምሳስ ሓደ... AKIA... access key, እቲ መጥቃዕቲ ዝፈጸመ ሰብ እንተደዊሉ። sts:GetSessionToken ቅድሚ መፍትሕ ምድምሳስካ፡ ግዝያዊ ** ናቶምASIA... session token ክሳብ 36 ሰዓታት ይጸንሕ።**
  7. ንኹሎም ንጡፋት ግዝያዊ ንምቕታል STS ቶከናት ናይቲ ተጠቃሚ IAM ብቕጽበት፣ ናብ ** ኪድ።IAM -> Users -> [Leaked User] -> Permissions -> Add inline policy** ዝብል ጠውቕ እሞ ** ጠውቕ።Revoke sessions** (እዚ ድማ ግሉጽ ዘጠቓልል እዩ። Deny * ፖሊሲ ንዝኾነ ይኹን ቶከን ኣበይ ዝወሃብ aws:TokenIssueTime ካብዚ ሕጂ ዘሎ ኣቐዲሙ እዩ።).
  8. ምፍታሽ IAM -> Users ከምኡ’ውን... IAM -> Roles ንሓደስቲ ዝተፈጥሩ ናይ ድሕሪት ማዕጾ ኣካውንታት:
  9. ኩሎም ተጠቀምቲ IAM ብ ናይ ምፍጣር ግዜ ስርዑ። ዝኾነ ዘይትፈልጦ ተጠቃሚ ምድምሳስ (admin-backup፣ sys-monitor፣ support-bot) ብምርግጋጽ ድማ ነቲ... Trust relationships tab on your IAM Roles ንምርግጋጽ እቲ መጥቃዕቲ ዝፈጸመ ሰብ ናይ ገዛእ ርእሱ ናይ ደገ AWS Account ID ከምዘይወሰኸ ንምርግጋጽ ("Principal": {"AWS": "arn:aws:iam::999999999999:root"}) ከም ዝእመን ርእሰ መምህር ኮይኑ።
  10. ጥቅሚ AWS Resource Explorer ወይ EC2 Global View ንኹለን 30+ AWS ዞባታት ንሕቡእ ክሪፕቶማይነር ንምፍታሽ:
  11. ኣጥቃዕቲ ሳሕቲ እዮም ኣብ... us-east-1 ኣብ ዳሽቦርድካ እትርእዮም ቦታ። የግዳስ ይጅምሩ p4d፣ g5፣ ወይ c6i.32xlarge ኣብ ** ዝርከቡ ኣጋጣሚታትap-southeast-3 (ጃካርታ)**፣ me-central-1 (ኢማራት ዓረብ)፣ il-central-1 (ተልኣቪቭ)፣ ወይ sa-east-1 (ሳኦ ፓውሎ)።
  12. ክፉት EC2 Console -> EC2 Global View (ንነፍሲ ወከፍ ዝተኸኣለ ዞባ ኣብ ሓደ ሰደቓ ስካን ዝገብር) ከምኡ’ውን Terminate ዝኾነ ዘይተፈቕደ ኣጋጣሚታት ብቕጽበት።
  13. ዕሱባት ኣጋጣሚታት ሕሳብ እንተድኣ ኣውሪዶም ብቕጽበት AWS Support Billing Case ክፈት:
  14. ሓደ ቦት እንተተፈንጢሩ $8,000 ናይ EC2 GPU instances ቅድሚ ምቁራጽካ፡ ኣይትስንብድ: ሓንሳብ ነቲ ኣካውንት ውሑስ ምስ ገበርካዮ፡ ነቲ መፍትሕ ምስ ሰረዝካዮ፡ root/IAM ኣኽኢልካዮ MFA፣ ከምኡውን ነቲ መፍትሕ ካብ GitHub ኣውጺኡ፣ AWS Account and Billing Support Case ከፊትካ ነቲ ብኣጋጣሚ ዝተፈጸመ ናይ GitHub ድፍኢትን ናይ ምእራም ስጉምትታትካን ዝገልጽ እዩ። AWS ብስሩዕ ናይ ሓደ ግዜ ናይ ሰናይ ድሌት ሕሳብ ሕሳብ ይቕሬታ ​​ልቓሕ ንኣጋጣሚ ምፍሳስ መፍትሕ GitHub ይህብ፣ ናይ ጸጥታ ጉጅለኦም እቲ መኽዘን ጽሩይ ምዃኑ ምስ ኣረጋገጸ።

ምዕራፍ 3፡ ንምንታይ ኣብ ሓድሽ ኮሚት ዘሎ ፋይል ምድምሳስ ይፈሽል - ከምኡ’ውን ብኸመይ ብግቡእ ታሪኽ ዳግማይ ንጽሕፍ git filter-repo

1. ስለምንታይ git rm .env && git commit -m "delete .env" ፍጹም ፋይዳ የብሉን

Git ንተወሰኽቲ ጥራይ ዝኸውን ትሕዝቶ-ኣድራሻ ዘለዎ ስርዓተ ፋይል እዩ (Directed Acyclic Graph / DAG ናይ ኮሚትስ፣ ኣግራብን ብሎብ ነገራትን)፤ - ምፍጻም ንበል A1B2C3 ተወሲኹ .env (Blob 998877). - ድሕሪ 2 ደቓይቕ ትጎዪ ንበል git rm .env፣ ምድማር .env ናብ .gitignore፣ ከምኡውን Commit ዝብል ደፍኣዮ D4E5F6. - ሓደ ሰብ ኣብ መበገሲ ገጽ GitHub ንዘሎ ናይ ሕጂ ዝርዝር ፋይላት እናደህሰሰ ከሎ .env፣ ተበገሰ A1B2C3 ከምኡ’ውን... Blob 998877 ሕጂ’ውን 100 ሚእታዊት ኣካል ናይቲ መኽዘን እዮም። ዝኾነ ዝጎዪ ሰብ git clone ዳውንሎድ ምግባር Blob 998877፣ ዝኾነ ሰብ ኣብ GitHub "Commits" ዝብል ትብ ዝጠወቐ ክጥውቕ ይኽእል። A1B2C3 ናትካ ከንብብ .env ፋይል ብግልጺ ጽሑፍ፣ ከምኡውን ኣውቶማቲክ መሳርሒታት (trufflehog git https://github.com/user/repo) ንነፍሲ ​​ወከፍ ንጽል ታሪኻዊ ምፍጻም ኣብ 2 ካልኢት ስካን ይገብር።

2. ደረጃ ብደረጃ፡ ፋይል ወይ ምስጢራዊ ሕብረ-ቁጽሪ ኣብ ልዕሊ ኩሉ ታሪኽ ምድምሳስ ብምጥቃም git filter-repo

ፕሮጀክት Gitን GitHubን ብወግዒ ይመኽሩ git-filter-repo (እዚ ድማ ነቲ ቀስ ዝበለን ንጌጋ ዝቃላዕን ዝትክእ እዩ። git filter-branch ከምኡ’ውን ካብ... BFG Repo-Cleaner).

  1. ምግጣም git-filter-repo (5 ካልኢት ይወስድ)፤
    # On macOS (Homebrew):
    brew install git-filter-repo
    
    # On Linux / Windows (via pip / apt):
    pip3 install git-filter-repo
    
  2. ቅድሚ ታሪኽ ዳግማይ ምጽሓፍካ ናይቲ ኣብ ከባቢኻ ዝርከብ መኽዘን ማህደር ናይ ድሕነት መኽዘን ቅዳሕ ግበር፤
    cp -r $HOME/projects/my-repo $HOME/projects/my-repo-backup
    cd $HOME/projects/my-repo
    
    (መተሓሳሰቢ፡ ድሮ ናትካ valid እንተ ኣግዒዝካዮ .env ፋይል ኣውጽእ፣ ጽሩይ ቅዳሕ ናይ... .env ኣብ ይቕመጥ /tmp/.env.safe ካብቲ ሪፖ ወጻኢ፡ ምኽንያቱ git filter-repo ክደርዝ እዩ። .env ካብ ናይ ስራሕ ማህደርካ እውን።)
  3. ኣማራጺ A (Erase an Entire File Path like) ምረጽ .env ወይ id_rsa) ወይ ኣማራጺ B (ኣብ ውሽጢ ኮድ ፋይላት ዝርከቡ ፍሉያት ምስጢራዊ ሕብረ-ቁጽሪታት ምእራም):
  4. ኣማራጺ ሀ፡ ምሉእ ብምሉእ ምእላይ .env (ወይ... config/secrets.json) ካብ ነፍሲ ወከፍ ኮሚት ኣብ ታሪኽ:
    git filter-repo --invert-paths --path .env --force
    
    (ንምንታይ --invert-paths? ብዘይካ --invert-paths፣ git filter-repo --path .env ONLY እዩ ዝሕሉ። .env ካልእ ኩሉ ድማ ይድምስሶ። ምውህሃድ --invert-paths --path .env ንጊት ኩሉ ብዘይካ ክሕዞ ይነግሮ .env ኣብ ልዕሊ ኩሎም ኮሚትስ፣ ጨናፍርን መለለዪታትን።)
  5. ኣማራፂ ለ: እቲ ኮድ ፋይል (app.py / config.js), ግን ነቲ ብሃርድኮድ ዝተሰርሐ ምስጢራዊ ሕብረ-ቁጽሪ ካብ ነፍሲ ወከፍ ታሪኻዊ ስሪት ኣውጽእዎ: ናይ ጽሑፍ ፋይል ምፍጣር /tmp/secrets-to-scrub.txt ኣብ ነፍሲ ወከፍ መስመር ሓደ ምስጢራዊ ሕብረ-ቁጽሪ (ወይ regex) ዝሓዘ፤
    AKIAIOSFODNN7EXAMPLE==>REDACTED_AWS_KEY
    sk_live_51NzExampleSecretKey999==>REDACTED_STRIPE_KEY
    regex:postgres:\/\/non_at_chars@==>postgres://REDACTED_DB_CREDENTIALS@
    
    ሕጂ ጐየዩ። 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. ምድማር .env ናብ .gitignore ስለዚ ድሕሪ 5 ደቓይቕ ዳግማይ ኣይትፍጽምዎ:
    echo ".env" >> .gitignore
    echo "*.pem" >> .gitignore
    git add .gitignore
    git commit -m "chore: update gitignore rules"
    
  7. ናይ GitHub ሪሞትካ ዳግማይ ወስኸሉ (git filter-repo ኮነ ኢሉ የወግድ origin ከም ድሕነት ምፍታሽ) ከምኡ’ውን ንኹሎም ጨናፍርን መለለዪታትን ብሓይሊ ምድፋእ:
    git remote add origin git@github.com:YOUR_USERNAME/YOUR_REPO.git
    git push origin --force --all
    git push origin --force --tags
    

ምዕራፍ 4፡ እቲ ሕቡእ መጻወድያ መኽዘን GitHub (Dangling Commits) ከምኡ’ውን ከመይ ጌርና ንጽርዮ

ኣብ GitHub's Official Docs (ምእላይ ስሱዕ ዳታ ካብ መኽዘን) ዝተሰነደ ወሳኒ ፎረንሲክ ክውንነት ኣብዚ ኣሎ፤ - ክትጎዪ ከለኻ git filter-repo ከምኡ’ውን... git push origin --force --all፣ ኣብ መኽዘንካ ዘሎ ነፍሲ ወከፍ commit ሓድሽ 40 ፊደላት ዘለዎ SHA-1 ሃሽ ይረክብ፣ ናትካ ድማ... main ጨንፈር ጠቋሚ ናብቲ ሓድሽ ጽሩይ ታሪኽ ይሰጋገር። - እንተኾነ ግን፡ ናይ GitHub ድሕረ ባይታ Git መኽዘን ኣገልጋሊ ብቕጽበት ጎሓፍ-ምእካብ ኣይገብርን (git gc --prune=now) እቲ ናይ ቀደም፡ ዘይተወከሰ commit SHA. - እዚ ማለት ናይ ሓደ መጥቃዕቲ ዝፈጸመ ሰብ ቦት ነቲ ናይ ቀደም commit hash እንተመዝጊቡ (ንኣብነት፡ a1b2c3d4...) ካብቲ ህዝባዊ GitHub Events API መጀመርታ ክትደፍእ ከለኻ፡ ክሳብ ሕጂ ክኽፈቱ ይኽእሉ እዮም። https://github.com/YOUR_USERNAME/YOUR_REPO/commit/a1b2c3d4... ኣብ ዝኾነ ዌብ ብራውዘርን ናትካ ርአን... .env ፋይል ዋላ ጽሩይ ታሪኽ ብሓይሊ ድሕሪ ምድፋእካ። ዝገደደ ድማ እቲ ምስጢር ኣብ ውሽጢ Pull Request እንተተራእዩ፡ refs/pull/12/head ነቲ commit ንሓዋሩ ክብጻሕ ይገብሮ።

ኣብዚ ሕጂ እዋን ኣብ ሰርቨርታት GitHub ከመይ ጌርና cached/dangling commits ነጥፍእ፤

  1. ሜላ 1 (ቅጽበታዊ፣ 100% ምሉእ ምድራዝ - እቲ ሪፖ ወሳኒ Issues/PRs/Stars እንተዘይብሉ ዝበለጸ):
  2. ናብ መኽዘንካ ኣብ GitHub ኪድ -> Settings -> ናብ ታሕቲ ስክሮል (Danger Zone) -> ጠውቕ Delete this repository.
  3. ኣብ GitHub ልክዕ ተመሳሳሊ ስም ዘለዎ ፍጹም ሓድሽ መኽዘን ፍጠር እሞ ንጽሬትካ ደፍኦ git filter-repo ናይ ከባቢ መኽዘን ናብኡ (git push -u origin main).
  4. ኣብ GitHub ዘሎ መኽዘን ምድምሳስ ብቕጽበት ንኹሉ ህዝባዊ መርበብ ሓበሬታ ርእይቶታት ናይ ኣረጊት cached commit SHAs ይሰብሮ (404 Not Found).
  5. ሜላ 2 (ምዕቃብ ኮኾባት፣ ጉዳያትን PRs - GitHub Support / Cache Purge ምጥቃም):
  6. መጀመርታ ነቲ ምስጢር ዝሓዘ ናይ ቀደም commit ልክዕ 40 ፊደላት ዘለዎ SHA hash ምሓዝ (check git reflog ኣብ ናትካ ናይ መጠባበቒ ማህደር ወይ ናይ GitHub መፍለጢ ኢመይላትካ)።
  7. ክፉት ደገፍ ጊትሃብ (support.github.com) ከምኡውን ነቲ ኣውቶማቲክ Remove sensitive data / Purge cached commit views ዋሕዚ ስራሕ ይጥቀም (ንመኽዘን URLን ልክዕ ተንጠልጢሉ ዘሎ commit SHA(s)ን ብምውካስ)። ናይ GitHub Support ኣውቶማቲክ መሳርሒ ቅጽበታዊ ሰርቨር-ሳይድ የካይድ git gc cache purge ዝበሃል ንመኽዘንካ ከይደምሰሰ ነቶም ዝተዓቀቡ ናይ መርበብ ሓበሬታ ርእይቶታትን ዘይተወከሱ ነገራትን ትኽክል ዝገብር።
  8. ንኹሎም ደቂ ጋንታ / ተሓባበርቲ ናብ... git clone ፍረሽ (ፈጺሙ git pull):
  9. ንነፍሲ ወከፍ ኣብ ጋንታኻ ዘሎ ዲቨሎፐር ንገሮ፡ "ኣይትጎዪ።" git pull and push." ኣቐዲሙ ነቲ ሕማቕ ኮሚት ዝሰሓበ መሳርሕቱ እንተጎይዩ። git pull (እቲ ናይ ቀደም ረሳሕ ታሪኽ ምስቲ ሓድሽ ዳግማይ ዝተጻሕፈ ታሪኽ ዘወሃህድ)ን ዝደፍእን፡ ነቲ ዝተደምሰሰ ክደፍእዎ እዮም። .env commit right back onto GitHub. ኩሉ ተሓባባሪ ወይ ናይ ከባቢኡ ኣቃፊሩ ክድምስሶን ፍረሽ ከካይድ ኣለዎ። git clone፣ ወይ ጉያ git fetch origin && git reset --hard origin/main.

ምዕራፍ 5፡ ንመጻኢ ምፍሳስ ንዘልኣለም ምክልኻል (Gitleaks ቅድመ-ኮሚት ሁክ & GitHub ፑሽ መከላኸሊ)

ብጌጋ ዳግማይ ምስጢር ክትፍጽም ብሕሳብ ዘይከኣል ንምግባር ኣብዚ ሕጂ እዋን 60 ካልኢት ውሰድ፤

  1. GitHub's ነጻ ኣኽእሎ "Push Protection for Yourself" ኣብ ምሉእ ናይ GitHub ኣካውንትካ:
  2. ናብ GitHub ኪድ Settings (ናይ ውልቃዊ ፕሮፋይልካ ቅጥዕታት፡ ኣብ ላዕሊ የማን) -> Code security and analysis (ወይ... Code security)።
  3. ናብ ** ስክሮል ግበሩ።Secret scanning -> ኣኽእሎ Push protection for yourself**.
  4. እዚ ምስ ወሊዕካ፡ ኣብ ዝጎየኻሉ እዋን git push ካብ ዝኾነት ኮምፒተር ናብ ዝኾነ ህዝባዊ ወይ ብሕታዊ መኽዘን፡ ኣገልጋሊ GitHub ነቲ ዝኣቱ ፓክፋይልካ ቅድሚ ነቲ ድፍኢት ምቕባሉ ይምርምሮ: AWS key, OpenAI key, Stripe key, Private SSH key, ወይ Slack token እንተረኺቡ፡ GitHub ነቲ... git push ልክዕ ኣብ ተርሚናልካ ቅድሚ እቲ commit live ምኻዱ።
  5. ምግጣም gitleaks ከም ሓደ ናይቲ ከባቢ pre-commit ኣብ ላፕቶፕካ መንጠልጠሊ ግበር:
    # 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

ጥቅሚ .env.example ምስ ድሚ ፕላስሆልደር ስትሪንግስን... 1Password CLI / AWS Vault / doppler ንናይ ከባቢ ምስጢራት: ናይ ብሓቂ መፍትሕ ምፍራይ ኣብ ንጹር ጽሑፍ ፈጺምካ ኣይትዕቅቦ .env ፋይል ኣብ ዲቨሎፐር ላፕቶፕ ክትከላኸለሉ እንተኺኢልካ። ኣብ ክንድኡስ፡ ውሑስ ምግባር .env.example (STRIPE_API_KEY=sk_test_placeholder_replace_me)፣ ምድማር .env* ናብ ዓለምለኻዊካ $HOME/.gitignore_global (git config --global core.excludesfile $HOME/.gitignore_global), ወይ ድማ ኣብ ግዜ ምዝዋር ምስጢራት ብቐጥታ ናብ መዘክር ምውጋእ ብምጥቃም op run --env-file=".env.tpl" -- npm start (1Password CLI) ወይ aws-vault exec.


ዞባዊ ቁጽሪ ህጹጽ እዋንን ፕሮቶኮላት ትካላትን።

ብኣጋጣሚ ዝመጽእ ናይ GitHub መረጋገጺ ድፍኢት ናብ ዘይተፈቕደ ምትእትታው ኣብ ዝምራሕ ውልቃዊ ዳታ እንተድኣ ኣምሪሑ (PII / PHI)፣ ስርዓታት ክንክን ጥዕና፣ ወይ መንግስታዊ ትሕተ ቅርጺ፣ ግዴታዊ ናይ ምጥሓስ መፍለጢ ፕሮቶኮላት ይኽተሉ፤

  • ኣሜሪካን ካናዳን:
  • ህጹጽ ህይወት-ድሕነት / ወሳኒ መሰረተ ልምዓት ምቁራጽ: ምድዋል 911 ምፍራስ ትሕተ ቅርጺ ንስራሕቲ ሆስፒታል ወይ ንኣካላዊ ቁጽጽር ኣካላዊ ድሕነት ዝጸሉ እንተኾይኑ።
  • ኤጀንሲ ድሕንነት ሳይበርን ድሕንነት መሰረተ ልምዓትን (CISA) & ኤፍ.ቢ.ኣይ (IC3): መጥቃዕቲ ዝፍጽሙ ሰባት ዳታ ንምውጻእ ወይ ናይ ምጭብርባር ማልዌር ንምዝርጋሕ ዝፈሰሰ ናይ ደበና መፍትሕ እንተተጠቒሞም፡ ናብ CISA (1-844-Say-CISA / cisa.gov/report) ከምኡ’ውን ማእከል ጥርዓን ገበን ኢንተርነት ኤፍ.ቢ.ኣይ (ic3.gov)።
  • SEC, FTC, & State Attorney General Data Breach Notification: ክላውድትሬል / ዳታቤዝ መእተዊ ምዝገባታት ዘይተፈቕደ IP ኣድራሻ ውልቃዊ መረዳእታ ዓሚል ከምዝበጽሐ ዘርኢ እንተኾይኑ (PII) ወይ መዛግብቲ ጥዕና (HIPAA ePHI) ቅድሚ እቲ ዝፈሰሰ መፍትሕ ምስራዙ፡ ብዛዕባ ናይ ግዝኣት ዳታ-ምጥሓስ መፍለጢ ናይ ግዜ ገደብን ፌደራላዊ HHS OCR / FTC Safeguards Rule ጸብጻብን ብቕልጡፍ ንሕጋዊ ኣማኻሪ ተወከስ።
  • ማእከል ድሕነት ሳይበር ካናዳ: ስልኪ 1-833-CYBER-88 (1-833-292-3788) ወይ ድማ ምጥሓስ ብሕታዊነት ኣብ ትሕቲ... PIPEDA ናብ ቤት ጽሕፈት ኮሚሽነር ብሕታዊነት ካናዳ (OPC)።
  • ዓባይ ብሪጣንያ:
  • ህጹጽ ኣገልግሎት: ምድዋል 999 (ወይ 101 / ተግባር ምትላል 0300 123 2040 ከምኡ'ውን ሃገራዊ ማእከል ድሕነት ሳይበር / NCSC ኣብ ncsc.gov.uk).
  • ቤት ፅሕፈት ኮሚሽነር ሓበሬታ (ICO - 72-Hour UK GDPR Window): ዝፈሰሰ መረጋገጺ ፍቓድ ብዘይፍቓድ ንውልቃዊ መረዳእታ ነበርቲ ዓባይ ብሪጣንያ ንምእታው ዝፈቐደ እንተኾይኑ፡ ዓንቀጽ 33 ናይ UK GDPR ምፍራስ ውልቃዊ መረዳእታ ናብ ICO (0303 123 1113) ኣብ ውሽጢ 72 ሰዓታት ብዛዕባ እቲ ጥሕሰት ካብ ዝፈልጥ።
  • ሕብረት ኤውሮጳ:
  • ህጹጽ ኣገልግሎት: ምድዋል 112 ኣብ መላእ ኩለን ኣባል ሃገራት ሕብረት ኤውሮጳ።
  • GDPR ዓንቀጽ 33 & NIS2 መምርሒ ጸብጻብ ፍጻመታት: ኣብ ትሕቲ EU GDPR ዝግዛእ ትካላት፡ እቲ ናይ መረጋገጺ ምቅላዕ ውጽኢቱ ምፍራስ ምስጢራዊነት ውልቃዊ መረዳእታ ምዃኑ ክግምግማ ኣለወን (ንሃገራዊ በዓል መዚ ሓለዋ መረዳእታ ናይ 72 ሰዓታት ምልክታ / DPA), ኣብ ትሕቲ ሕብረት ኤውሮጳ ኣገደስቲ/ኣገደስቲ ኣካላት ክኾኑ ከለዉ NIS2 መምርሒ ናይ 24 ሰዓታት ቅድመ መጠንቀቕታ ጸብጻብ ናይ መወዳእታ ግዜ ናብ ሃገራቶም የጋጥሞም CSIRT (BSI ኣብ ጀርመን፡ ANSSI ኣብ ፈረንሳ፡ ACN ኣብ ኢጣልያ) ንኣገደስቲ ፍጻመታት ሳይበር ዝምልከት ምዃኑ’ዩ።
  • ኣውስትራልያን ኒውዚላንድን፤
  • ህጹጽ ኣገልግሎት: ምድዋል 000 ኣብ ኣውስትራልያ ወይ 111 ኣብ ኒውዚላንድ።
  • ማእከል ጸጥታ ሳይበር ኣውስትራልያ (ACSC) & ዝፍለጥ ምፍራስ መረዳእታ (OAIC)፥ ደውል 1300 CYBER1 (1300 292 371) ንናይ ፍጻመ ምላሽ፣ ከምኡ’ውን ኣብ ትሕቲ ቤት ጽሕፈት ኮሚሽነር ሓበሬታ ኣውስትራልያ (OAIC) ዝፍለጥ ምጥሓስ መረዳእታ (NDB) ስኬም ወይ ድማ ሕጊ ብሕታዊነት ኒውዚላንድ 2020 (Privacy Commissioner)።
  • ህንዲን ኤስያ-ፓሲፊክን፤
  • ህጹጽ ኣገልግሎት: ምድዋል 112 ኣብ ህንዲ (ወይ 1930 ንገበን ሳይበር)።
  • CERT-In ግዴታዊ ናይ 6 ሰዓታት ጸብጻብ መምርሒ (ህንዲ): ኣብ ትሕቲ ናይ ህንዲ ናይ ኮምፒተር ህጹጽ ምላሽ ጉጅለ (CERT-In) ኣንፈታት (No. 20(3)/2022-CERT-In), ብዘይፍቓድ ናብ ስርዓታት ደበና/ኣይቲ ምእታው ወይ ኣብ ህንዲ ንዝርከባ ትካላት ዝጸሉ ምፍሳስ ዳታ ናብ ** ክሕበር ኣለዎ።incident@cert-in.org.in ኣብ ውሽጢ 6 ሰዓታት** ካብ ዝፍለጥ።

ብተደጋጋሚ ዝሕተቱ ሕቶታት

ኣነ ድማ ነቲ... .env ፋይል ብምግባር ድሕሪ ጌጋይ 30 ካልኢት ሓድሽ commit ደፊአ - ሕጂ ውን ናይ ኤፒኣይ መፍትሕታተይን ናይ ዳታቤዝ ፓስዎርድታተይን ምዝዋር የድልየኒ ድዩ?

እወ 100 ሚእታዊት - ንነፍሲ ​​ወከፍ ንጽል መፍትሕ ብዘይ ኣፈላላይ ብቕጽበት ኣዘዋውሮ። ኣካዳሚያዊ መጽናዕትታት ሳይበር ድሕነትን ቴለሜትሪን ካብ GitHub Secret Scanning ከም ዘረጋግጹ ኣውቶማቲክ መረጋገጺ-ምእካብ ቦት ንህዝባዊ GitHub Events stream (api.github.com/ፍጻመታት) ኣብ ሓቀኛ ግዜን ኣብ ውሽጢ ሓደስቲ ዝተደፍኡ commits ኣውርድን። ካብ 1.5 ክሳብ 5 ካልኢት. ዝገደደ ድማ ካልኣይ commit ምድፋእ ዝድምስስ እዩ። .env ንብምሉኡ እቲ ንጹር ጽሑፍ ይገድፎ .env ፋይል ብቐዋምነት ኣብ ውሽጢ ናይ ቀዳማይ commit ታሪኽ ፍልልይ ኮፍ ኢሉ - ብዙሓት ቦት ድማ ብፍሉይ ዝድምስሱ commits ይደልዩ .env ፋይላት። ሓደ ምስጢር ዋላ ን1 ካልኢት ናብ ህዝባዊ መኽዘን ምስ ተደፍአ ንዘልኣለም ኣብ ዋጋ ዕዳጋ ይኣቱ፤ ኣብቲ ናይ ኣቕራቢ ዳሽቦርድ ዘሎ መረጋገጺ ምእላይን ምዝዋርን እቲ እንኮ ዝከላኸለልካ ነገር እዩ።

እቲ መኽዘን PRIVATE GitHub repo እንተዝኸውንከ ኣነ ነቲ... .env ፋይል፡ ከምኡ ውን ቅድሚ ዝመጽእ ሰሙን ነቲ ሪፖ ንህዝቢ ምግላጸይ ከጽርዮ ጥራይ እየ ዝደሊ?

እቲ መኽዘን እንተዝኸውን 100 ሚእታዊት ናይ ብሕቲ እቲ ምሉእ ግዜ (እሞ ድማ ዝኾነ ዘይተኣማመን ሳልሳይ ወገን CI/CD መተግበሪታት መእተዊ ኣይነበሮምን)፣ ኣብ ህዝባዊ GitHub Events API ዝርከቡ ስክራፐር ቦት ኣለዎም። ዘይኮነ ምስጢርካ ገና ርእየዮ። ይኹን እምበር፡ ምድምሳስ ጥራይ ኣይትግበር `.env` ኣብ ሓድሽ commit ድሕሪኡ ነቲ repo ካብ Private ናብ Public ምግልባጥ። ንሓደ ናይ ብሕቲ መኽዘን ናብ Public ትገልብጦ ህሞት፡ ናቱ... ምሉእ ታሪኻዊ ኮሚት ግራፍ ህዝባዊ ይኸውን። ቅድሚ ናይ ብሕቲ ሪፖ ንህዝቢ ምግላጽካ ወይ፡ (1) Run git filter-repo --መንገድታት ምግልባጥ --መንገዲ .env ነቲ ፋይል ካብ ኩሉ ታሪኻዊ ምትእስሳር ንምቕንጣጥ (ብዝኾነ መንገዲ ድማ ንዝበለጸ ልምዲ መፍትሕታት ንምዝዋር)፣ ወይ (2) ነቶም ጽሩያት ናይ ሕጂ ፋይላት ናብ ፍጹም ሓድሽ ማህደር ምቕዳሕ፣ ምጉያይ git init ዝብል ጽሑፍ ኣሎ። ንጽሩይ 1-commit ናይ መጀመርታ ታሪኽ፡ ከምኡ’ውን ነቲ ሓድሽ መኽዘን ምሕታም።

ስለምንታይ እዩ AWS ብኣውቶማቲክ ዝጽዋዕ ፖሊሲ ኣተሓሒዙ AWSCompromisedKeyQuarantineV2 ናብ ተጠቃሚ IAM ናተይ፡ ስለምንታይከ ክሳብ ሕጂ ሕሳብ ይኽፈል ኣለኹ?

ምኽንያቱ AWS ብቐጥታ ምስ GitHub Secret Scanning ይሻረኽ፣ ኣብ ዝኾነ እዋን ሓደ... ኣኪያ... key ኣብ ህዝባዊ GitHub commit ይረአ፣ ናይ AWS ኣውቶማቲክ ስርዓተ ድሕነት ኣብ ውሽጢ ደቓይቕ ይፈልጦ፣ ናይ ደገፍ ትኬት ይኸፍት፣ ከምኡውን ነቲ ዝምራሕ ፖሊሲ የተሓሕዞ AWSCompromisedKeyምውሻብV2 (ወይ... V3) ናብቲ ተጠቃሚ IAM። እቲ ናይ ምውሻብ ፖሊሲ፡ ከም ሓድሽ ምጅማር ዝኣመሰሉ ርኡይ ሓደገኛ ተግባራት ይዓግቶም ec2:RunInstances ዝብል ጽሑፍ ኣሎ። ወይ ምድምሳስ S3 ባልጃታት - ግን ቅድሚ እቲ ፖሊሲ ምትእስሳሩ ኣብተን ቀዳሞት 60 ካልኢታት እቲ መጥቃዕቲ ዝፈጸመ ሰብ ድሮ ዝጀመሮ EC2 instances ኣየቋርጾን እዩ፣ ከምኡ’ውን ናይ ድሕሪት ማዕጾ IAM ተጠቀምቲ ወይ ግዝያዊ ኣይድምስሶምን እዩ። STS እቲ መጥቃዕቲ ዝፈጸመ ሰብ ድሮ ዝፈጠሮ ክፍለ ግዜታት። ሕጂ ውን ነቲ ዝፈሰሰ መፍትሕ ብኢድካ ክትድምስሶ ኣለካ፣ ኣረጋግጽ EC2 ዓለምለኻዊ ኣረኣእያ ኣብ መላእ ኩለን ዞባታት ንዝተዓሸጉ ኣጋጣሚታት ንምቁራጽ፣ ከምኡ’ውን ምፍታሽ ክላውድትሬል ንዘይፍቓድ ናይ IAM ለውጢ።

ኣብ መንጎ እንታይ እዩ ፍልልይ git filter-repo ከምኡ’ውን... BFG Repo-Cleaner፣ ስለምንታይከ ክጥቀም ዘይብለይ git filter-branch?

git ፍልተር-ጨንፈር ኣብ ቀዳሞት ስሪት ናይ Git ዝተሃንጸ ናይ ቀደም ውርሻ ሸል ስክሪፕት ኮይኑ ኣብ ዓበይቲ መኽዘናት ኣዝዩ ደንጉዩ፣ ብጌጋ ንምውቃር ቀሊል እዩ (ናይ መጠባበቒ መወከሲታት ኣብ ውሽጢ ምግዳፍ መወከሲታት/መበቆላዊ/ that still contain your secrets.), ሕጂ ድማ ካብ Git ወግዓዊ ናይ ምውጋድ መጠንቀቕታ ይሕትም ከይትጥቀመሉ ዝሕብር። ክልቲኡ git-ፍልተር-ሪፖ (ብፓይቶን ዝተጻሕፈን ብወግዒ ብቐንዲ Git maintainersን GitHubን ዝተደገፈን) ከምኡ’ውን... ቢኤፍጂ ሪፖ-ክሊነር (ብጃቫ/ስካላ ዝተጻሕፈ) ካብ 10x ክሳብ 100x ቅልጡፍ ምጉያይን ንኹሉ commits, trees, tags ብጽሬት ዳግማይ ምጽሓፍን። git-ፍልተር-ሪፖ ብሓፈሻ ሎሚ ዝምረጽ እዩ ምኽንያቱ ዋላ ነቲ ሕጂ ዘለካ ምፍታሽ ውዕል ስለ ዝቕይሮ (`HEAD`) መጀመርታ ፍሉይ መባእታዊ ውዕል ከየድለየ።

ከመይ ኢሉ እዩ ሓደ ሰብ ድሕሪ ምጉያየይ ገና ነቲ ዝተደምሰሰ ኮሚተይ ኣብ GitHub ክርእዮ ዝኽእል git filter-repo ከምኡ’ውን... git push --force?

ኣብ ጊት፡ `git push --force` ጥራይ እዩ updates the... ጨንፈር መወከሲ ጠቋሚ (`refs/heads/main`) . ናብቲ ሓድሽ ዳግማይ ዝተጻሕፈ ናይ ምፍጻም ሰንሰለትካ ንምምልካት፤ ይገብር እዩ። ዘይኮነ ብቕጽበት ነቶም ኣብ ድሕሪት ኣገልገልቲ GitHub ዝተዓቀቡ ናይ ቀደም ዘይተወከሱ ("dangling") ናይ ምፍጻም ነገራት ምድምሳስ። ሓደ ቦት ነቲ ህዝባዊ Events API ምስ ሃረመ ናይቲ መበቆላዊ commit ናትካ 40 ፊደላት ዘለዎ SHA hash እንተመዝጊቡ፣ ብቐጥታ ናብ... https://github.com/ዋና/ሪፖ/ምፍጻም/<40-char-SHA> ገና ነቲ ዘኽታም ኮሚት ካብ ናይ GitHub ናይ ነገራት መኽዘን ክሳብ ምእካብ ጎሓፍ ዝሰርሕ ክጽዕኖ እዩ። ነቲ cached view ብቕጽበት nuke ንምግባር፡ ወይ ነቲ ኣብ GitHub ዘሎ መኽዘን ደምስሶ እሞ ካብቲ ጽሩይ ሎካል ሪፖካ ዳግማይ ፍጠሮ፣ ወይ ድማ ነቲ ተንጠልጢሉ ዘሎ commit SHA ናብ ኣቕርቦ ደገፍ ጊትሃብ (`support.github.com`) . ንቕጽበታዊ ብወገን ኣገልጋሊ ካሸ ምጽራይ።

ቅድሚ ምጉያየይ ድሮ ሓደ ሰብ ኣብ ህዝባዊ መኽዘነይ "Fork" እንተዝጠወቐኸ git filter-repo?

ነዚ እዩ ምኽንያት ደረጃ 1 ኩሉ ግዜ ኣብቲ ናይ ኣቕራቢ ዳሽቦርድ ዝርከቡ መረጋገጺታት ምስራዝን ምዝዋርን እዩ።፥ ምጉያይ git ፍልተር-ሪፖ ከምኡ’ውን ብሓይሊ ናብ ናይ ገዛእ ርእስኻ መኽዘን ምድፋእ ኣብ ውሽጢ ናይ ካልእ ሰብ ናጻ ፎርክ ንዝግበር commits ዳግማይ ኣይጽሕፍን እዩ። ናይ መኽዘንካ (ምሉእ ወላዲ መኽዘንካ እንተዘይደሚስካዮን ኣብ ፎርክስ ንዘሎ ስሱዕ ዳታ ብዝምልከት ንደገፍ GitHub እንተዘይተራኺብካን)። ናይ AWS/API መፍትሕታት ምስ ሰረዝካን ናይ ዳታቤዝ ፓስዎርድታት ምስ ኣዘዋወርካን፡ ዝኾነ ቅዳሕ ናይቲ ናይ ቀደም .env ኣብ ውሽጢ ሳልሳይ ወገን ፎርክ ወይ ቦት ዳታቤዝ ኮፍ ኢሉ ዘሎ ፋይል፡ ድሕሪ ደጊም ትሕተ ቅርጽኻ ክበጽሕ ዘይክእል ምዉት፡ ዘይጠቅም መስርዕ ፊደላት ይኸውን።


ተዛመድቲ መምርሒታት


ምንጭታትን ወግዓዊ መምርሕታትን

  • ወግዓዊ ሰነዳት ጸጥታ ጊትሃብ (docs.github.com/en/authentication/keeping-your-account-and-data-secure/removing-sensitive-data-from-a-repository): ካብ መኽዘን ስሱዕ ዳታ ምእላይ (git filter-repo፣ BFG Repo-Cleaner፣ Dangling Commit Cache Purging፣ ከምኡውን ምስጢራዊ ስካኒንግ ፑሽ መከላኸሊ)።
  • ኣገልግሎት መርበብ ሓበሬታ ኣማዞን (AWS) መምርሒ ምላሽ ፍጻመታት ጸጥታ (docs.aws.amazon.com/security/): ንዝተቓልዑ AWS IAM Access Keys ምላሽ ምሃብ (AWSCompromisedKeyQuarantineV2፣ ምስራዝ ግዝያዊ STS ክፍለ ግዜታት ብመንገዲ... aws:TokenIssueTime፣ ከምኡ’ውን CloudTrail ፎረንሲክ ኦዲቲንግ).
  • ሃገራዊ ኢንስቲትዩት ደረጃታትን ቴክኖሎጅን (NIST) (ኣመሪካ): ፍሉይ ሕታም 800-61 2: መምርሒ ኣተሓሕዛ ፍጻመታት ድሕነት ኮምፒተር & SP 800-57: ንመፍትሕ ምሕደራ ዝምልከት ለበዋ (ኣብ ሓደጋ ዝወደቐ ምስራዝ መረጋገፂን ምዝውዋር ክሪፕቶግራፊን)።
  • ፕሮጀክት ድሕነት ክፉት ዌብ ኣፕሊኬሽን (OWASP): ምስጢራት ምሕደራ ምትላል ወረቐት (ምክልኻል ሃርድኮድ መረጋገጺታት, ቅድሚ ምፍጻም ምስጢራዊ ስካን ምስ... Gitleaks/TruffleHog፣ ከምኡ’ውን ግዝያዊ ናይ ምዝዋር ግዜ ምስጢራዊ መርፍእ)።
  • ኤጀንሲ ድሕንነት ሳይበርን ትሕተ ቅርጽን (CISA) (ኣመሪካ): ክላውድ ሴኩሪቲ ቴክኒካዊ መወከሲ ኣርኪቴክቸርን ኣብ ዋጋ ዕዳጋ ዝኣተወ መረጋገፂ ምእራም መፅሓፍ መፃወቲ።