UDP VPN પોર્ટ સ્કેન પર શાંત? આવું કેમ થાય છે
WireGuard અને કઠોર OpenVPN પ્રમાણીકરણમાં નિષ્ફળ જતા ડેટાગ્રામને જવાબ આપ્યા વિના કાઢી નાખે છે. સ્કેનર તરફથી શાંતિ અપેક્ષિત વર્તન છે, બંધ પોર્ટ નહીં.
તમે VPN પોર્ટ સ્કેન કરો છો, કોઈ જવાબ મળતો નથી અને તારણ કાઢો છો કે સેવા બંધ છે અથવા ફાયરવોલ બંધ છે. WireGuard સાથે અને પોતાનું પ્રમાણીકરણ ધરાવતા OpenVPN નિયંત્રણ ચેનલો સાથે તે તારણ લાગુ પડતું નથી. માન્ય પ્રમાણીકરણ સામગ્રી વિનાના ડેટાગ્રામને કોઈ જવાબ આપ્યા વિના કાઢી નાખવામાં આવે છે, તેથી બહારથી સ્વસ્થ સેવા આવી જ શાંત દેખાય છે. ટનલ ખોટી થાય તે પહેલાં જ પ્રોબ ખોટો છે.
શાંતિ એ પ્રોટોકોલ છે, ખામી નહીં
UDP માં કનેક્શન સ્થાપન નથી, તેથી કોઈ SYN નથી અને કોઈ સ્વીકૃતિ નથી જે સ્કેનરને ખુલ્લા પોર્ટને ફિલ્ટર થયેલા પોર્ટથી અલગ પાડવા દે. પ્રોબ એક અલગ ડેટાગ્રામ તરીકે આવે છે અને સેવા ચકાસે છે કે તે અપેક્ષિત પ્રોટોકોલ સાથે મેળ ખાય છે કે નહીં. જ્યારે મેળ ખાતું નથી, પેકેટ કાઢી નાખવામાં આવે છે, અને કાઢી નાખવું એ દસ્તાવેજીકૃત વર્તન છે, ખામી નહીં.
WireGuard પોતાના હેન્ડશેક સંદેશાઓને ક્રિપ્ટોગ્રાફિક રીતે માન્ય કરે છે અને નિષ્ફળ જતું બધું અવગણે છે. OpenVPN tls-auth અથવા tls-crypt સાથે પોતાની નિયંત્રણ ચેનલ માટે એ જ કરે છે. બંને કિસ્સામાં મનસ્વી પેલોડ ક્યારેય વપરાશકર્તા તરફના તબક્કે પહોંચતું નથી, તેથી જવાબ આપવા માટે કંઈ નથી અને પરત કરવા માટે કોઈ ભૂલ નથી.
TCP હોત તો બંધ પોર્ટથી તમને રીસેટ મળ્યો હોત. UDP તમને અસ્પષ્ટતામાં છોડે છે, જે સ્કેનર અનુમાન કરવાને બદલે ખુલ્લું અથવા ફિલ્ટર થયેલું છાપીને ઉકેલે છે.
સ્કેનર શું તારણ કાઢી શકે છે અને શું નહીં
સ્કેન પરિણામ એટલું જ માહિતીપ્રદ છે જેટલો તે મોકલેલો પેલોડ છે. સંભવિત અવલોકનોને દરેક ખરેખર શું સમર્થન આપે છે તે પ્રમાણે ગોઠવો:
| Probe | Observed result | What it supports |
|---|---|---|
| Empty datagram | No reply | Nothing beyond the fact that UDP was used |
| Random payload | No reply | Consistent with an authenticated service |
| Valid handshake from a real client | A protocol reply | The service is alive and reachable |
| ICMP port unreachable | Unreachable message | The host answered, usually because nothing listens |
યાદીમાં એકમાત્ર હકારાત્મક કસોટી તરીકે ત્રીજી પંક્તિ વાંચો. તેને સાચી પ્રોફાઇલ, સાચી કી અને યોગ્ય એન્ડપોઇન્ટની જરૂર છે, અને સામાન્ય સ્કેનર પાસે એ જ નથી.
માર્ગના બંને છેડા જુઓ
તમે સંચાલિત કરો છો તે સર્વર માટે, કોઈ તારણ કાઢતા પહેલાં ઇન્ટરફેસ પર કેપ્ચર કરો, પછી સેવાને પૂછો કે તેણે શું જોયું. બંને આદેશોને ગેટવે પર root ની જરૂર છે:
tcpdump -ni any udp port 51820
tcpdump -ni any udp port 1194
wg show
જો ઇન્ટરફેસ પર કોઈ પેકેટ દેખાતું નથી, તો સેવાએ કંઈ જોતા પહેલાં માર્ગે તેને કાઢી નાખ્યું છે, અને આગળનું સ્ટોપ રાઉટિંગ અને ફિલ્ટરિંગ છે. જો પેકેટ આવે પણ કોઈ હેન્ડશેક પૂર્ણ ન થાય, તો સેવા પહોંચી શકાય તેવી છે અને અસંગતતા કી, એન્ડપોઇન્ટ રૂપરેખાંકન અથવા પ્રોટોકોલ આવૃત્તિમાં છે. તે સરખામણી તે પ્રશ્નનો જવાબ આપે છે જે સ્કેનર આપી શક્યું ન હતું. તેને ત્યારે ચલાવો જ્યારે સાચો ક્લાયન્ટ જોડાવાનો પ્રયાસ કરી રહ્યો હોય, જ્યારે સ્કેનર પોતાને પુનરાવર્તિત કરી રહ્યું હોય ત્યારે નહીં.
કસોટી બદલો, રક્ષણ નહીં
લલચાવતો ટૂંકો રસ્તો એ છે કે નિયંત્રણ ચેનલનું રક્ષણ બંધ કરો જેથી નિદાનને જવાબ મળે. તે વાસ્તવિક સુરક્ષા ગુણધર્મને વધુ સુંદર સ્કેન પરિણામ સાથે બદલે છે, અને તે ખોટી દિશા છે. તેના બદલે મંજૂર નેટવર્કમાંથી માન્ય પ્રોફાઇલ વાપરો અને એન્ડપોઇન્ટ અને સમય નોંધો જેથી સરખામણી પુનરાવર્તિત થઈ શકે.
સૌથી ઉપયોગી કસોટી વિભેદક છે: એ જ પ્રોફાઇલ કામ કરતા માર્ગ પર અને જે માર્ગ કામ કરતો નથી તેના પર. જો કામ કરતો માર્ગ હેન્ડશેક ઉત્પન્ન કરે અને નિષ્ફળ માર્ગ ઇન્ટરફેસ પર કંઈ જ ઉત્પન્ન ન કરે, તો તમે કંઈપણ નબળું કર્યા વિના ભંગાણનું સ્થાન શોધી લીધું છે.
તેથી જવાબ વગરના UDP પેકેટ સાબિત કરતું નથી કે સર્વર ઑફલાઇન છે કે તે સુરક્ષિત છે. તે સાબિત કરે છે કે આ પ્રોબ, આ માર્ગ પર, આ ક્ષણે, સ્વીકારવામાં આવ્યો ન હતો.