UDP-VPN vaikenee porttiskannauksessa? Miksi näin käy
WireGuard ja kovennettu OpenVPN hylkäävät datagrammit, jotka eivät läpäise todennusta, vastaamatta. Skannerin kohtaama hiljaisuus on odotettua käytöstä, ei suljettu portti.
Skannaat VPN-portin, et saa vastausta ja päättelet, että palvelu on alhaalla tai palomuuri on suljettu. WireGuardin ja oman todennuksensa mukanaan kantavien OpenVPN:n ohjauskanavien kohdalla tuo päätelmä ei pidä. Datagrammi ilman kelvollista todennusmateriaalia hylätään vastaamatta, joten hiljaisuus on se, miltä terve palvelu näyttää ulkopuolelta. Luotain on väärässä ennen kuin tunneli on.
Hiljaisuus on protokolla, ei vika
UDP:ssä ei ole yhteyden muodostusta, joten ei ole SYN:iä eikä kuittausta, joka antaisi skannerin erottaa avoimen portin suodatetusta. Luotain saapuu erillisenä datagrammina ja palvelu tarkistaa, vastaako se protokollaa, jota se odottaa. Kun ei vastaa, paketti hylätään, ja hylkääminen on dokumentoitu käyttäytyminen eikä toimintahäiriö.
WireGuard validoi kättelemisensä viestit kryptografisesti ja jättää huomiotta kaiken, mikä epäonnistuu. OpenVPN tls-authilla tai tls-cryptilla tekee saman ohjauskanavalleen. Molemmissa tapauksissa mielivaltainen hyötykuorma ei koskaan saavuta käyttäjälle näkyvää vaihetta, joten vastattavaa ei ole eikä palautettavaa virhettä.
TCP olisi antanut sinulle resetin suljetusta portista. UDP jättää sinut epäselvyyteen, jonka skannerit ratkaisevat tulostamalla avoin tai suodatettu sen sijaan, että arvaisivat.
Mitä skanneri voi ja mitä ei voi päätellä
Skannaustulos on vain niin informatiivinen kuin sen lähettämä hyötykuorma. Järjestä mahdolliset havainnot sen mukaan, mitä kukin niistä todella tukee:
| 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 |
Lue kolmas rivi luettelon ainoana positiivisena testinä. Se vaatii oikean profiilin, oikean avaimen ja oikean päätepisteen, ja juuri sitä yleisskannerilla ei ole.
Katso polun molempia päitä
Hallinnoimasi palvelimen kohdalla kaappaa liitännällä ennen minkään johtopäätöksen tekemistä ja kysy sitten palvelulta, mitä se näki. Molemmat komennot vaativat rootin yhdyskäytävällä:
tcpdump -ni any udp port 51820
tcpdump -ni any udp port 1194
wg show
Jos liitännällä ei näy yhtään pakettia, polku hylkäsi sen ennen kuin palvelu näki mitään, ja seuraava pysähdys on reititys ja suodatus. Jos paketteja saapuu mutta kättely ei valmistu, palvelu on tavoitettavissa ja ero on avaimissa, päätepisteen kokoonpanossa tai protokollan versiossa. Tämä vertailu vastaa kysymykseen, johon skanneri ei pystynyt. Aja se, kun oikea asiakas yrittää yhdistää, älä kun skanneri toistaa itseään.
Muuta testiä, älä suojausta
Houkutteleva oikotie on kytkeä ohjauskanavan suojaus pois, jotta diagnostiikka saisi vastauksen. Se vaihtaa todellisen turvaominaisuuden kauniimpaan skannaustulokseen, ja se on väärä suunta. Käytä sen sijaan kelvollista profiilia hyväksytystä verkosta ja merkitse päätepiste ja aika, jotta vertailu on toistettavissa.
Hyödyllisin testi on differentiaalinen: sama profiili polulla, joka toimii, ja polulla, joka ei toimi. Jos toimiva polku tuottaa kättelyn ja epäonnistuva polku ei tuota liitännällä mitään, olet paikantanut katkoksen heikentämättä mitään.
Vastaamatta jäänyt UDP-paketti ei siis todista, että palvelin olisi offline, eikä sitä, että se olisi turvallinen. Se todistaa, että tätä luotainta, tällä polulla, tällä hetkellä ei hyväksytty.