VPN Compose ફાઇલ શેર કરો છો? રેન્ડર થયેલી કૉપીમાંથી ગુપ્ત માહિતી દૂર કરો
ખાનગી કી YAML માં, env મૂલ્યમાં, અથવા કોઈએ ન જોયેલા ઉકેલાયેલા આઉટપુટમાં હોઈ શકે છે. તમે ખરેખર જે કૉપી જોડો છો તે ચકાસો.
Compose ફાઇલ શેર કરો ત્યારે બે આર્ટિફેક્ટ હોય છે: તમે લખેલી એક, અને ટૂલ ચલ બદલ્યા પછી જે રેન્ડર કરે છે તે બીજી. બીજી ઘણી વાર પહેલી કરતાં વધુ સંવેદનશીલ હોય છે, અને લોકો વાંચ્યા વિના સમસ્યાના રિપોર્ટમાં જે પેસ્ટ કરે છે તે એ જ છે. જો તમે ફક્ત સ્રોત ફાઇલ જ તપાસો, તો તમે ખોટું દસ્તાવેજ તપાસો છો.
શું દૂર કરવું તે નક્કી કરતાં પહેલાં દરેક કૉપીમાં શું હોઈ શકે તેની સરખામણી કરો.
રેન્ડર થયેલું મોડેલ બીજું દસ્તાવેજ છે
Compose પર્યાવરણ ચલો ઉકેલે છે, ઓવરરાઇડ ફાઇલો ભેગી કરે છે અને એવું અસરકારક રૂપરેખાંકન બનાવે છે જેને વાચક હાથે લખેલા મૂલ્યોથી અલગ ઓળખી શકતો નથી. સ્રોતમાં ચલના નામ જેવું સંદર્ભ આઉટપુટમાં ખાતાનું ટોકન જ બની જાય છે. ફાઇલને નિદાન માટે ઉપયોગી બનાવતું માળખું એ રૂપાંતરણમાંથી ટકી રહે છે; જે ક્યારેય તેમાં ન હોવું જોઈએ તે પણ ટકી રહે છે.
જોડતાં પહેલાં ફાઇલ જાતે રેન્ડર કરો અને તે આઉટપુટને તમે જે આર્ટિફેક્ટ તપાસો છો તે ગણો. જો તમે તેને રેન્ડર કરી શકતા નથી, તો તમે જાણી શકતા નથી કે તમે શું પ્રકાશિત કરવા જઈ રહ્યા છો.
ગુપ્ત માહિતી કી ક્ષેત્ર કરતાં વધુ જગ્યાઓમાં બેસે છે
સ્પષ્ટ વસ્તુથી શરૂ કરો: ખાનગી કીઓ, પહેલેથી શેર કરેલી કીઓ, ટોકન, પાસવર્ડ અને ક્રેડેન્શિયલ ધરાવતા કનેક્શન URL. પછી ફાઇલ જે તરફ ઇશારો કરે છે તે બધું જુઓ, કારણ કે સંદર્ભ એ રીડેક્શન નથી. સેવામાં માઉન્ટ થયેલી env ફાઇલ, હોસ્ટથી બંધાયેલી રૂપરેખાંકન ફાઇલ, ટોકન ધરાવતું લેબલ અને પાસવર્ડ ધરાવતું કમાન્ડ આર્ગ્યુમેન્ટ, YAML સ્વચ્છ દેખાય તો પણ ડિપ્લોયમેન્ટ સાથે જાય છે. આશ્વાસનજનક નામવાળા ચલમાં પેસ્ટ કરેલી કી પણ કી જ છે.
હોસ્ટ પાથ અને સેવાના નામ બીજા પ્રકારની માહિતી લીક કરે છે. ઘરની ડિરેક્ટરીનું નામ, આંતરિક હોસ્ટનામ કે નેટવર્ક રેન્જ એક પણ ક્રેડેન્શિયલ વિના વ્યક્તિ કે સંસ્થાને ઓળખી શકે છે, અને એ સંદર્ભ પણ એ જ કારણસર દૂર કરવા લાયક છે.
ગુપ્ત માહિતીની ઘોષણા એ ગુપ્ત માહિતી નથી
Compose ના ગુપ્ત ઑબ્જેક્ટ ઘોષણાને સામગ્રીથી અલગ કરે છે: સેવાને પાથ કે લક્ષ્ય મળે છે, અને સામગ્રી બીજે રહે છે. સામગ્રી બદલતી વખતે ઘોષણા રાખવી સામાન્ય રીતે સાચી આપ-લે છે, કારણ કે સમીક્ષકને જોવું જોઈએ કે ગુપ્ત માહિતી અસ્તિત્વમાં છે અને કેવી રીતે માઉન્ટ થઈ છે. જે ટકવું ન જોઈએ તે સામગ્રી પોતે છે.
લેબલ અને ટિપ્પણીઓ પણ એ જ વર્તનને લાયક છે. કયો વૉલ્ટ પાથ પ્રોડક્શન કી રાખે છે તે કહેતી ટિપ્પણી હુમલાખોરને ક્યાં જોવું તે કહે છે, ભલે તેમાં કોઈ કી ન હોય.
આકાર રાખો જેથી ફાઇલ હજી નિદાન કરી શકે
નેટવર્ક મોડ, ઇમેજ સંસ્કરણ કે ક્ષમતા સેટિંગ્સ દૂર કરતું રીડેક્શન એવી ફાઇલ બનાવે છે જેનાથી કોઈ ડિબગ કરી શકતું નથી. સંવેદનશીલ મૂલ્યો બદલો અને સંબંધો રાખો: કઈ સેવા શું માઉન્ટ કરે છે, કયા નેટવર્કમાં જોડાય છે, કઈ ઉપકરણની જરૂર છે. આ એ જ ભાગ છે જે વાચક વાપરે છે ખોવાયેલો રૂટ કે અનુપલબ્ધ ઉપકરણ સમજાવવા માટે. આ એ જ આવૃત્તિ છે જે સહકર્મી પોતાના કાર્યરત ડિપ્લોયમેન્ટ સાથે સરખાવી શકે છે.
docker compose -f compose.yaml config > rendered.yaml
grep -nE 'PRIVATE_KEY|PASSWORD|TOKEN|PSK|PrivateKey|passphrase' rendered.yaml
wc -l rendered.yaml
રીડેક્ટ કરેલી કૉપીને કાર્યરત મૂળ જેવી ગણીને ડિપ્લોય કરશો નહીં. તે એક વર્ણન છે, અને સુરક્ષિત દેખાવા માટે સંપાદિત કરેલું વર્ણન રૂપરેખાંકનની ભૂલો જેવા રીતે નિષ્ફળ જશે.
જો સામગ્રી ખુલ્લી પડી હોય, તો તેને બદલો
જોડાણ દૂર કરવાથી બીજાઓએ પહેલેથી બનાવેલી કૉપી દૂર થતી નથી, અને મિરર તથા કેશ પોતાની કૉપી રાખે છે. જે લીક થયું તે બધા માટે ઇશ્યુઅરની રદ અને બદલી પ્રક્રિયા વાપરો, પછી ડિપ્લોયમેન્ટ અપડેટ કરો. ક્રમ મહત્વનો છે, કારણ કે પહેલાં બદલી અને પછી રદ કરવાથી બે માન્ય ક્રેડેન્શિયલવાળી વિન્ડો રહે છે.
સપોર્ટ થ્રેડમાં ચોક્કસ ભૂલ, ઇમેજ સંસ્કરણ, નેટવર્ક મોડ અને મહત્વની એક બિન-ગુપ્ત સેટિંગથી શરૂ કરો. એ સંયોજન ખોવાયેલું ઉપકરણ કે તૂટેલો રૂટ કી કરતાં ઘણી વાર વધુ સમજાવે છે.