OpenVPN મેનેજમેન્ટ સોકેટ: નિયંત્રણ ચેનલ, મેટ્રિક્સ નહીં
સ્વીકૃત મેનેજમેન્ટ ક્લાયન્ટ પાસે નિયંત્રણ આદેશો હોય છે, ફક્ત-વાંચન દૃશ્ય નહીં. Unix સોકેટની માલિકી રાખો, સ્નેપશોટ માટે સત્ર છોડો અને TCP બહાર રાખો.
મેનેજમેન્ટ ઇન્ટરફેસને એક વાર સ્થિતિ પૂછો અને તે સ્થિતિ પોર્ટ જેવું લાગવા લાગે છે. પણ તે નથી. એક ક્લાયન્ટ સ્વીકારાયા પછી તે પ્રોટોકોલના નિયંત્રણ આદેશો આપી શકે છે, અને તે ક્લાયન્ટ ચલાવતું ખાતું એ આદેશો ડિમન સાથે જે કંઈ કરી શકે તે બધું વારસામાં મેળવે છે. તેને ફક્ત-વાંચન ફીડ તરીકે ગણવો એ જ ભૂલ છે જે મોનિટરિંગ ઇન્ટિગ્રેશનને પ્રમાણીકરણ વગરના કન્સોલમાં ફેરવે છે.
માન્યતા, અને તેની કિંમત
માન્યતા એ છે કે મેનેજમેન્ટ શ્રોતા મેટ્રિક્સ એન્ડપોઇન્ટ સમાન છે: કલેક્ટર જોડો, કાઉન્ટર વાંચો, આગળ વધો. વાસ્તવમાં શું થાય છે તે એ છે કે કલેક્ટર નિયંત્રણ ક્ષમતાઓવાળું સત્ર ખોલે છે, અને ડિપ્લોયમેન્ટ વિશે તમે કરેલી અન્ય દરેક ધારણા હવે તે કલેક્ટર સારી રીતે વર્તે તેના પર આધાર રાખે છે.
ઇન્ટરફેસમાં કંઈપણ ફક્ત-વાંચન મોડની જાહેરાત કરતું નથી. પસંદ કરવા માટે કોઈ નિરીક્ષક ભૂમિકા નથી, અને કન્ફિગરેશનમાંનું વપરાશકર્તા નામ એક પણ બનાવતું નથી.
સ્વીકૃત ક્લાયન્ટ ખરેખર શું રાખે છે
સમુદાય ડિમન એક સમયે ફક્ત એક સક્રિય મેનેજમેન્ટ ક્લાયન્ટ સ્વીકારે છે. તે એક જ સ્લોટનો અર્થ એ છે કે GUI, સ્ક્રિપ્ટ અને મોનિટરિંગ એજન્ટ બધા જોડાઈ શકતા નથી; પહેલું સત્ર રાખે છે ત્યારે બીજું રાહ જુએ છે અથવા નિષ્ફળ જાય છે. જો તમારી ડિઝાઇન સાથોસાથ વાંચનારાઓને ધારે છે, તો તે પહેલેથી જ ખોટી છે.
જ્યાં સામયિક સ્નેપશોટ પૂરતો છે, ત્યાં સ્થિતિ-ફાઇલનું આઉટપુટ લાઇવ સત્ર વગર તમને એ જ આંકડા આપે છે. તે ફાઇલને અંતરાલ પર લખવી અને સામાન્ય ફાઇલ પરવાનગીઓથી વાંચવી કલેક્ટરને સંપૂર્ણપણે નિયંત્રણ સપાટીની બહાર રાખે છે, અને મોટાભાગના મોનિટરિંગને ખરેખર આ જ ગોઠવણ જોઈએ છે.
પોતાનું સોકેટ, ખુલ્લું નહીં
Unix-ડોમેન સોકેટ નિયંત્રણ માર્ગને નેટવર્કની બહાર રાખે છે, જે સમસ્યામાંથી બદલાતું ટનલ સરનામું દૂર કરે છે. તે પરવાનગીનો પ્રશ્ન દૂર કરતું નથી. મૂળ ડિરેક્ટરી સેવા ખાતા માટે લખી શકાય તેવી અને નિયંત્રકના ખાતા માટે પહોંચી શકાય તેવી હોવી જોઈએ, અને આ બે અલગ પરવાનગીઓ છે:
management /run/openvpn/office-management.sock unix /etc/openvpn/management.password
management-client-user vpn-observer
management-client-group vpn-observerપાસવર્ડ ફાઇલ તેની પ્રથમ લાઇનમાં મેનેજમેન્ટ રહસ્ય રાખે છે. તે ફાઇલને અન્ય કોઈપણ ક્રેડેન્શિયલની જેમ સુરક્ષિત કરો, અને તેની સામગ્રી લોગ અને સપોર્ટ ટિકિટની બહાર રાખો. વપરાશકર્તા અને જૂથ નિયંત્રણો Unix સોકેટ પરના પીઅર ચેક છે, ફાઇલસિસ્ટમ પરવાનગીઓ નહીં, તેથી ઇચ્છિત પ્રક્રિયાને ફાઇલ ઍક્સેસ અને મેળ ખાતી ઓળખ બંનેની જરૂર છે.
પરવાનગીની ભૂલ દૂર કરવા સોકેટને સૌ માટે ખુલ્લું કરવું એ એક જ સુધારો છે જેને ટાળવો જોઈએ. તે સ્થાનિક નિયંત્રણ ચેનલને એવી વસ્તુમાં ફેરવે છે જે હોસ્ટ પરની કોઈપણ પ્રક્રિયા ચલાવી શકે.
TCP પર તેને પ્રકાશિત કરવું એ જ ડિઝાઇન નથી
શ્રોતાને TCP પોર્ટ પર ખસેડવાથી તે વધુ સુરક્ષિત કે વધુ અનુકૂળ થતું નથી. મેનેજમેન્ટ પાસવર્ડ સ્પષ્ટ ટેક્સ્ટમાં મોકલાય છે, તેથી TCP શ્રોતા ક્રેડેન્શિયલ અને સત્ર બંનેને એવા કોઈપણ વ્યક્તિ સામે ખુલ્લા મૂકે છે જે માર્ગ નિહાળી શકે. બીજા હોસ્ટથી તેના સુધી પહોંચવા માટે અધિકૃત વ્યવસ્થાપન ચેનલ, અથવા નાનો સ્થાનિક એજન્ટ જોઈએ જે ફક્ત તમને જરૂરી નિરીક્ષણો આપે.
સ્પષ્ટ ટેક્સ્ટ પરિવહન પરનો પાસવર્ડ ગોપનીયતા વગરનું પ્રમાણીકરણ છે, અને તે સંયોજન દેખાય તેના કરતાં ખરાબ છે કારણ કે તે સુરક્ષિત લાગે છે.
તમે ન માંગેલી સ્ટાર્ટઅપ નિર્ભરતાઓ
ઘણા મેનેજમેન્ટ વિકલ્પો ડિમનનું જીવનચક્ર બદલે છે. નિયંત્રક જોડાય ત્યાં સુધી સ્ટાર્ટઅપ રોકવું, અથવા નિયંત્રક અદૃશ્ય થાય ત્યારે સમાપ્ત કરવું, વૈકલ્પિક નિરીક્ષકને કઠોર નિર્ભરતામાં ફેરવે છે. ત્યારે ક્રેશ થતો મોનિટરિંગ એજન્ટ ટનલને પણ સાથે નીચે લાવશે.
સોકેટ સિવાયનું કંઈપણ સક્ષમ કરતા પહેલા તે વિકલ્પોની સમીક્ષા કરો. વૈકલ્પિક નિરીક્ષણ વૈકલ્પિક જ રહેવું જોઈએ, અને રીસ્ટાર્ટ નીતિને ગ્રાફ માટે ઉમેરાયેલા કલેક્ટર સાથે જોડવી ન જોઈએ.
નિષ્ફળ પ્રક્રિયા પછી બચેલી સોકેટ ફાઇલ એ શ્રોતા હોવાનો પુરાવો નથી. તેને દૂર કરતા પહેલા નક્કી કરો કે કઈ ઇન્સ્ટન્સ માર્ગની માલિક છે, અને ચાલતા ડિમન હેઠળ ફાઇલો ડિલીટ કરવાને બદલે સેવાની પોતાની પુનઃપ્રાપ્તિ કાર્યપ્રવાહ વાપરો.
સ્વીકૃતિ કેવી દેખાય છે
ચાર ચેક ડિઝાઇનને આવરી લે છે: ઇચ્છિત નિયંત્રક ઓળખ જોડાય છે, તે ઓળખ વગરની પ્રક્રિયા નકારવામાં આવે છે, ચેતવણી વગર ડિસ્કનેક્ટ થતા નિયંત્રકમાંથી ડિમન ટકી રહે છે, અને નિયંત્રિત રીસ્ટાર્ટ દરમિયાન ટનલ હજી ટ્રાફિક લઈ જાય છે. સફળ મેનેજમેન્ટ કનેક્શન ફક્ત નિયંત્રણ સપાટી સાબિત કરે છે. ખાનગી એપ્લિકેશન ટ્રાફિક કામ કરે છે કે નહીં તે વિશે તે કંઈ કહેતું નથી, તેથી તે અલગથી ચકાસો. ચાર પરિણામો એવી જગ્યાએ લખો જ્યાં આગલો ઓપરેટર તે શોધી શકે.
મેનેજમેન્ટ ઇન્ટરફેસ દસ્તાવેજીકરણ એક-ક્લાયન્ટ મોડેલ અને પ્રોટોકોલની વિશેષાધિકાર સ્વભાવનું વર્ણન કરે છે, અને ડેશબોર્ડ તેના પર નિર્દેશ કરતા પહેલા વાંચવા લાયક ભાગ તે જ છે.