ሃርድኮዲንግ, ድሃ የሚስጥር አስተዳደርእና እንደዚህ ያሉ መሳሪያዎች እጥረት ሃሺኮርፕ ቮልት መተግበሪያዎችን ለከባድ አደጋ ማጋለጥዎን ይቀጥሉ። አንድ ገንቢ የኤፒአይ ቁልፍ ወይም የይለፍ ቃል ወደ GitHub በገፋ ቁጥር፣ ጥሰት የመፍጠር አደጋ ያጋጥማቸዋል። እንደ እውነቱ ከሆነ፣ አጥቂዎች በኮድ፣ በውቅረት ፋይሎች ወይም በዶከር ምስሎች ውስጥ ቢሆኑም፣ ይፋዊ እና የግል ማከማቻዎችን በንቃት ይቃኛሉ።
እውነተኛው ዓለም የሚያስከትላቸው ውጤቶች አደጋ ላይ ያለውን ያሳያሉ። እ.ኤ.አ. በ2022 አጥቂዎች የኡበርን የAWS ቁልፎች በጂትሃብ ማከማቻ ውስጥ በጥብቅ ኮድ ተደርገዋል እና ወሳኝ ስርዓቶችን ለመጣስ ተጠቅመውባቸዋል። ቶዮታ ገንቢዎች ምስጢሮችን ወደ ይፋዊ የጂትሃብ ማከማቻ ከገፉ በኋላ የግል ደንበኞችን መሠረተ ልማት አጋልጧል። በሁለቱም ሁኔታዎች ቡድኖች ምስጢሮችን በኮድ ትተው አጥቂዎች ሙሉ በሙሉ ተጠቃሚ ሆነዋል። ሁሉም መከላከል የሚቻል ነበር።
በዚህ መመሪያ ውስጥ፣ መተግበሪያዎን እንዴት ደህንነቱ የተጠበቀ ማድረግ እንደሚችሉ ይማራሉ ሃሺኮርፕ ቮልት ለማዕከላዊ ሚስጥራዊ አስተዳደር፣ ከ ጋር ተጣምሮ የXygeni ራስ-ሰር ማወቂያ እና ማረም ባህሪያት። እነዚህ መሳሪያዎች አንድ ላይ ሆነው ይረዱዎታል፦
- ከኮድ ቤዝዎ ውስጥ ጠንካራ ኮድ ያላቸውን ምስጢሮች ያስወግዱ
- ምስጢሮች ወደ Git ታሪክ እንዳይገቡ ይከላከሉ
- ፍሳሾቹ ጥቅም ላይ ከመዋላቸው በፊት በራስ-ሰር ፈልጎ ያግኙ እና ያስተካክሏቸው
እንዴት ማዋቀር እንደሚቻል ደረጃ በደረጃ እንመልከት።
2. እንደ ምስጢር የሚቆጠረው (እና እንዴት እንደሚፈሱ)
በመጀመሪያ ፣ ሀ ምሥጢራዊ የይለፍ ቃል ብቻ አይደለም። የኤፒአይ ቶከኖችን፣ የOAuth ምስክርነቶችን፣ የውሂብ ጎታ ግንኙነት ሕብረቁምፊዎችን፣ የSSH ቁልፎችን፣ የኢንክሪፕሽን ቁልፎችን እና JWTዎችን እንኳን ያካትታል። ለስርዓት፣ ለሀብት ወይም ለማንነት መዳረሻ የሚሰጥ ማንኛውም ነገር እንደ ሚስጥር ይቆጠራል።
ስለ ሃርድኮዲንግ እነዚህ ወደ ምንጭ ኮድ የሚገቡ ምስክርነቶች አሁንም የተለመዱ ናቸው፣ ብዙ ቡድኖች ሳያውቁት ተጋላጭነቶችን ያስተዋውቃሉ። በአካባቢያዊ ልማት ወቅት ፈጣን የኤፒአይ ቁልፍ ወደ አንድ መጣል ቀላል ነው። .env ፋይል - ወይም የከፋው፣ በቀጥታ ወደ ኮዱ። ከዚያ በኋላ፣ አንድ ነጠላ git commit ያንን ምስጢር ለበጎ ሊያጋልጥ ይችላል።
ምስጢሮች በኋላ ላይ ቢወገዱም እንኳ commitዎች፣ ብዙውን ጊዜ በ ውስጥ ይቆያሉ የጂት ታሪክ፣ የዶከር ንብርብሮች ወይም የተጠናቀሩ ቅርሶች። ለምሳሌ፣ ብዙ ፍሳሾች አንድ ሰው እስኪሮጥ ድረስ ሳይስተዋል ይቀራሉ። git log ወይም ሜታዳታ ከኮንቴይነር ምስል ያወጣል።
ይህ ለምን ነው የሚስጥር አስተዳደር ቅድመ ጥንቃቄ የተሞላበት፣ ቀጣይ እና አውቶማቲክ መሆን አለበት። ባህላዊ ስካነሮች በቅርንጫፎች፣ በምስሎች ወይም በተጨመቁ ፋይሎች ውስጥ የተቀበሩ ምስጢሮችን ሊያመልጡ ይችላሉ። እንደዚህ ያሉ መሳሪያዎች ያሉበት ቦታ ሃሺኮርፕ ቮልት ና ዚጌኒ ግባ.
በተጨማሪም፣ ምስጢሮች ከገንቢዎች የሚወጡት ብቻ እንዳልሆነ ያስታውሱ። CI/CD pipelines፣ የሙከራ ስክሪፕቶች እና በምርት አካባቢዎች ውስጥ ያሉ የውቅር ፋይሎች እንኳን ሁሉም የተጋላጭነት ምንጮች ሊሆኑ ይችላሉ።
ስለዚህ፣ ሚስጥሮችን መጠበቅ ማለት ስለ መሳሪያዎች ብቻ ሳይሆን ስለ ልማዶች፣ ስለ ታይነት እና ስለ አውቶሜሽን ነው።
ሚስጥራዊ መፍሰስን በጥልቀት ማለፍ ይፈልጋሉ?
ምስጢሮች ለምን እንደሚፈሱ እና አጥቂዎች እንዴት እንደሚጠቀሙባቸው ለመረዳት ከፈለጉ፣ ይህንን ጥልቅ ዝርዝር መግለጫ እንዳያመልጥዎት፡
3. የግል ማከማቻዎች ውስጥም ቢሆን የሃርድኮዲንግ ሚስጥሮች ለምን አደጋ ናቸው?
እንደ የኤፒአይ ቁልፎች፣ ምስክርነቶች እና ቶከኖች ያሉ ጠንካራ ኮድ መስጫ ምስጢሮች በልማት ወቅት ምቹ ሊመስሉ ይችላሉ። ሆኖም ግን፣ ይህ አሰራር ከባድ አደጋዎችን ያስከትላል፣ በተለይም ምስጢሮች ሲከሰቱ commitወደ ስሪት ቁጥጥር ተወስዷል።
ለምሳሌ፣ በ2022 የኡበር ወረራ ወቅት፣ አጥቂዎች በኡበር በኩል መግባት ችለዋል ጠንካራ ኮድ የተሰጣቸው የAWS ቁልፎች በሕዝብ የጂትሆብ ማከማቻ ውስጥ ተገኝቷል። በተመሳሳይ፣ ቶዮታ በጂትሆብ ፕሮጀክት ውስጥ ወሳኝ የሆኑ ማስረጃዎችን አጋልጧል፣ ይህም የደንበኞቻቸውን መረጃ ይነካል
ምክንያቱም ጠንካራ ኮድ የተሰጣቸው ምስጢሮች ብዙውን ጊዜ የሚኖሩት በ .env ፋይሎች፣ ስክሪፕቶች ወይም የምንጭ ኮድ አስተያየቶች፣ ችላ ለማለት ቀላል ናቸው። በግል ማከማቻዎች ውስጥ እንኳን፣ ቦቶች እና የውስጥ ሰዎች ሊያገኙዋቸው ይችላሉ። የከፋው ደግሞ የጂት ታሪክ እያንዳንዱን መፍሰስ ይጠብቃል፣ እርስዎ "ከሰረዙት" በኋላም ቢሆን።
በተጨማሪም፣ ዘመናዊ አጥቂዎች የፈሰሱ ቶከኖችን ለማግኘት የጂትሆብ እና የኮንቴይነር መዝገቦችን ያለማቋረጥ ይቃኛሉ። ጠንካራ ኮድ ያለው ሚስጥር ያለው አንድ ጊዜ ብቻ የሚከተለውን በር ሊከፍት ይችላል፦
- የመሠረተ ልማት ስምምነት (የደመና መዳረሻ)
- የምንጭ ኮድ ማበላሸት (የአቅርቦት ሰንሰለት ጥቃቶች)
- በስርዓቶች ውስጥ ሚስጥራዊ መልሶ መጠቀም (የመብት ጭማሪ)
ስለዚህ፣ ሃርድኮዲንግን በተገቢው መተካት የሚስጥር አስተዳደር አማራጭ አይደለም፤ ልማትን ለማረጋገጥ መሰረት ነው።
4. የሃሺኮርፕ ቮልት ምስጢሮችን እንዴት እንደሚያስጠብቅ (እና ከሃርድኮዲንግ የተሻለ የሆነው ለምንድን ነው)
እንደ ኤፒአይ ቁልፎች ወይም የውሂብ ጎታ ማረጋገጫዎች ያሉ ጠንካራ ኮድ ምስጢሮችን በቀጥታ ወደ ምንጭ ኮድ ማስገባት ከባድ የደህንነት አደጋዎችን ይፈጥራል። HashiCorp Vault ማዕከላዊ፣ የተመሰጠረ እና የመዳረሻ ቁጥጥር የሚደረግበት ሚስጥራዊ ማከማቻ በማቅረብ ይህንን አደጋ ያስወግዳል።
ምስጢሮችን በአካባቢ ተለዋዋጮች ውስጥ ከማካተት ይልቅ ወይም .env ፋይሎችአፕሊኬሽኖች በቮልትስ ኤፒአይ በኩል በፍላጎት መሰረት ደህንነቱ በተጠበቀ ሁኔታ ማግኘት ይችላሉ። ይህ አካሄድ የማይንቀሳቀስ ሚስጥራዊ አያያዝን በተለዋዋጭ፣ በፖሊሲ ላይ የተመሠረተ መዳረሻ ይተካል።
ከሃሺኮርፕ ቮልት ጋር የሚስጥር አስተዳደር ከሃርድኮዲንግ በላይ በርካታ ቁልፍ ጥቅሞችን ይሰጣል፡
- ምስጢሮች የተመሰጠሩ ሆነው ይቆያሉ በእረፍት ጊዜም ሆነ በመጓጓዣ ጊዜ።
- መዳረሻው በጥብቅ ተፈጻሚ ሆኗል ማንነትን መሰረት ያደረጉ ፖሊሲዎችን በመጠቀም።
- ቮልት ምስጢሮችን በተለዋዋጭ ሁኔታ ያመነጫልበራስ-ሰር እንዲያልቁ ያደርጋቸዋል።
- እያንዳንዱ ጥያቄ በመዝገብ ላይ ነውሙሉ ክትትል እና ኦዲት ማድረግን ያቀርባል።
ቮልት እንዲሁ ያለምንም እንከን ከሚከተሉት ጋር ይዋሃዳል CI/CD pipelineዎች፣ ኮንቴይነር የተገጠመላቸው አካባቢዎች፣ የደመና መሠረተ ልማት እና የአገልግሎት መረቦች፣ ይህም ለዘመናዊ የDevSecOps ቡድኖች ሊሰፋ የሚችል እና ለምርት ዝግጁ የሆነ መፍትሄ ያደርገዋል።
የእውነተኛ ዓለም ምሳሌ፡-
በ 2022, a የቶዮታ GitHub ማከማቻ በአጋጣሚ የወጡ ማስረጃዎችን በይፋ አፈትልኮ፣ የውስጥ አገልግሎቶችን በማጋለጥ። እንደ ቮልት ያለ መሳሪያ፣ ከጥብቅ ጋር ተጣምሮ commit ፖሊሲዎች ይህንን ሊያስወግዱ ይችሉ ነበር።
ለጊዜው፣ ግልጽ መሆን አለበት፡ ከሃርድኮዲንግ ወጥቶ ደህንነቱ የተጠበቀ አጠቃቀም የሚስጥር አስተዳደር መሳሪያዎች ሃሺኮርፕ ቮልት ምርጥ ልምምድ ብቻ ሳይሆን አስፈላጊም ነው።
5. ለደህንነት ሚስጥራዊ አስተዳደር Git፣ HashiCorp Vault እና Xygeni እንዴት ማዋሃድ እንደሚቻል
ሙሉ በሙሉ ለማስወገድ ሃርድኮዲንግ ሚስጥሮች፣ ገንቢዎች በአካባቢው ልማት ወቅት እና በ ውስጥ ቅድመ-እርምጃዎችን መውሰድ አለባቸው CI/CD. መልካም ዜናው ነው። ሃሺኮርፕ ቮልት ና ዚጌኒ ደህንነትን ለማስጠበቅ በጋራ መስራት የሚስጥር አስተዳደር የስራ ፍሰቶች.
ደረጃ 1፡ ምስጢሮችን ደህንነቱ በተጠበቀ ሁኔታ ለማግኘት ቮልትን ይጠቀሙ
በመጀመሪያ፣ መተግበሪያዎን ከሚከተሉት ሚስጥሮችን እንዲጭን ያዋቅሩት ሃሺኮርፕ ቮልት በማስኬድ ጊዜ። ለምሳሌ፣ በNode.js ውስጥ፡
const vault = require("node-vault")({
endpoint: process.env.VAULT_URL,
token: process.env.VAULT_TOKEN,
});
const secret = await vault.read("secret/production/db-password");
console.log("DB password:", secret.data.data.value);
ይህ ምስጢሮች በኮድ ወይም በማዋቀሪያ ፋይሎች ውስጥ ፈጽሞ እንደማይከማቹ ያረጋግጣል።
ደረጃ 2፡ በጂት መንጠቆ እና በኤክሲጂኒ ሃርድኮዲንግን ይከላከሉ
ድንገተኛ ፍሳሾችን ለማገድ፣ የሚከተለውን ማከል ይችላሉ pre-commit ሜንጦ የXygeni's CLI በመጠቀም፡
#!/bin/sh
# .git/hooks/pre-commit
xygeni secrets --staged-files --no-upload
if [ $? -ne 0 ]; then
echo "❌ Commit blocked due to hardcoded secret. Fix and try again."
exit 1
fi
ይህ መንጠቆ የሚቃኘው ለሚከተሉት የተዘጋጁ የተሻሻሉ ፋይሎችን ብቻ ነው commitካገኘ ጠንካራ ኮድ የተደረገበት እንደ ቶከን ወይም የይለፍ ቃል ያሉ ምስጢሮችን ያግዳል፣ commit, ማንኛውም ነገር ወደ ማከማቻው ከመድረሱ በፊት።
ደረጃ 3፡ ቮልት እና ዢጄኒን በ ውስጥ ማዋሃድ CI/CD
በሲአይ ውስጥ pipelineኤስ፣ የሚከተሉትን ማድረግ ይችላሉ፦
- የሩጫ ጊዜ ምስጢሮችን ከ ያግኙ Vault
- ሩጫ
xygeni scan --run="secrets"ለማረጋገጥ ምንም ምስጢሮች አልተገለጡም - የሆነ ነገር ከፈሰሰ በXygeni በራስ-ሰር ያስተካክሉ
ገንቢዎች ከአካባቢው ጀምሮ በእያንዳንዱ ደረጃ ምስጢሮችን ያስፈጽማሉ commits ወደ ማሰማራት፣ ምስጋናዎች ወደዚህ ጠባብ የግብረመልስ ዑደት።
6. ከሃርድኮዲንግ እስከ በቮልት + ዢጄኒ አማካኝነት ደህንነቱ የተጠበቀ ሚስጥራዊ አስተዳደር
የሃርድኮዲንግ ሚስጥሮች ገንቢዎች ሚስጥራዊነት ያላቸውን ምስክርነቶችን በድንገት የሚያጋልጡባቸው በጣም የተለመዱ መንገዶች አንዱ አሁንም ነው። ለዚህም ነው ማጣመር ሃሺኮርፕ ቮልት ከ Xygeni በእውነተኛ ጊዜ ቅኝት አማካኝነት የተሟላ ይፈጥራል የሚስጥር አስተዳደር አርክቴክቸር፡- በቀጥታ በስራ ፍሰትዎ ውስጥ የተገነባ መለየት፣ መከላከል እና ራስ-ሰር ማስተካከያ።
| ደረጃ | የምስጢር አስተዳደር ከሃሺኮርፕ ቮልት እና ከኤጂኒ ጋር እንዴት እንደሚሰራ |
|---|---|
| ደረጃ 1፡ በማከማቻ ውስጥ ያሉትን ምስጢሮች ይግለጹ | እንደ ኤፒአይ ቁልፎች፣ ምስክርነቶች ወይም ቶከኖች ያሉ ምስጢሮችን በ HashiCorp Vault ውስጥ በጥብቅ የመዳረሻ ቁጥጥሮች እና በእረፍት ጊዜ ምስጠራን ደህንነቱ በተጠበቀ ሁኔታ ያስቀምጡ። |
| ደረጃ 2፡ ምስጢሮችን በመርፌ ያስገቡ CI/CD | ለግንባታዎ ምስጢሮችን ለማቅረብ የአካባቢ ተለዋዋጮችን ወይም ተለዋዋጭ መርፌን ይጠቀሙ pipelineበምንጭ ኮድ ውስጥ ጠንካራ ኮድ ከማድረግ በመቆጠብ s ወይም መተግበሪያዎች። |
| ደረጃ 3፡ ጠንካራ ኮድ ያላቸውን ምስጢሮች ይቃኙ | Xygeni በየእያንዳንዱ ይቃኛል pull requestየዶከር ምስል እና የጂት ታሪክን በመጠቀም የተለቀቁ ምስጢሮችን በእውነተኛ ጊዜ ለማግኘት እና ለማረጋገጥ። |
| ደረጃ 4፡ ምስጢሮችን ያረጋግጡ | Xygeni ምስጢሩ ንቁ እና ጥቅም ላይ የሚውል መሆኑን ያረጋግጣል። የተረጋገጡ ምስጢሮች በአረጋጋጭ ሞተሩ አማካኝነት ወዲያውኑ እርምጃ እንዲወስዱ ምልክት ይደረግባቸዋል። |
| ደረጃ 5፡ ራስ-ሰር ማስተካከያን ያስጀምሩ | የተረጋገጠ ሚስጥር ከተገኘ፣ Xygeni ሊሽረው ወይም ሊያሽከረክረው፣ ከአውድ ጋር ወደ PR/MR ሊለጥፍ እና የማስተካከያ የስራ ፍሰቶችን ሊመራ ይችላል። |
7. በራስ-ሰር ማስተካከያ እና ሚስጥራዊ አስተዳደር አማካኝነት ለዘላለም ጠንካራ ኮድ መስጫ ሚስጥሮችን አቁም
የሃሺኮርፕ ቮልት በቦታው ቢኖርም እንኳ ስህተቶች አሁንም ይከሰታሉ። ገንቢዎች በአካባቢያዊ ሙከራ ወቅት ቶከንን በጠንካራ ኮድ ሊጽፉ ወይም ማዋቀርን ሊረሱ ይችላሉ .gitignore በትክክል። ለዚህም ነው የሚስጥር አስተዳደርን ከቀጣይ ቅኝት እና አውቶማቲክ ማስተካከያ ጋር ማዋሃድ አስፈላጊ የሆነው።
ጋር የዚጌኒ ሚስጥሮች አስተዳደር, ጠንካራ ኮድ የተሰጣቸውን ምስክርነቶች ብቻ ሳይሆን፣ ክስተቶች ከመሆናቸው በፊት በራስ-ሰር ያስተካክላቸዋል።
Xygeni AutoFix ለምስጢሮች እንዴት እንደሚሰራ እነሆ:
- Xygeni በየእያንዳንዱ ይቃኛል pull request ልክ እንደተከፈተ፣ በኮድ፣ ውቅሮች፣ የጂት ታሪክ እና የዶከር ንብርብሮች ውስጥ ጠንካራ ኮድ የተሰጣቸውን ምስጢሮች ይፈልጋል።
- የተገኘን ማንኛውንም ሚስጥር ያረጋግጣል በዒላማ አገልግሎቱ ላይ ተጽዕኖ ያሳድራል እና በሎጎች ውስጥ ያለውን እሴት ይደብቃል።
- Xygeni ምስጢሩን በቀጥታ በPR ውስጥ ያመላክታል, በከባድነት እና በአይነት የተጻፉ አውዳዊ አስተያየቶችን ማከል።
- AutoFix ደህንነቱ የተጠበቀ ጥገና ይፈጥራል፣ ይህም የሚከተሉትን ሊያደርግ ይችላል፦
- የተጋለጠውን ምስጢር አስተያየት ይስጡበት
- በቮልት ወይም በአካባቢ ተለዋዋጭ ማጣቀሻ ይተኩት
- ደረጃ በደረጃ የማስተካከያ መመሪያዎችን ያቅርቡ
- የጥበቃ ሬይል ንቁ ከሆነ, Xygeni ችግሩ እስኪፈታ ድረስ የህዝብ ግንኙነት ግንኙነትን በራስ-ሰር ያግዳል።
በተጨማሪም, ዚጌኒ በጂትሃብ አክሽንስ፣ ጊትላብ፣ ጄንኪንስ እና ቢትቡኬት በኩል ተፈጻሚነትን ይደግፋል። ስለዚህ፣ ምስጢሮች በግምገማ ወቅት ቢያመልጧቸውም እንኳ ወደ ምርት አይገቡም።
ይህ የሚስጥር ማወቂያ ብቻ አይደለም። የሚስጥር ጥበቃ የሚለካው ነው።







