Minkä osoitteen pilvipalomuuri näkee, kun VPN on päällä
Täystunneli muuttaa lähdeosoitetta, jonka tietokantasi näkee. Siirrä sallittujen luetteloa, yksityistä polkua tai jaettua tunnelia, älä tunnusta.
Tietokanta, joka toimii ennen VPN:n yhdistämistä ja epäonnistuu sen jälkeen, on harvoin tunnusongelma. Pilvipalomuurit täsmäävät lähdeosoitteita, ja täystunneli korvaa juuri sen, jota ne täsmäsivät. Ero sen välillä, mitä luulet kannettavasi lähettävän, ja sen välillä, mitä palvelin vastaanottaa, on koko vika, ja se on mitattavissa yhdellä askeleella.
Mikä lähdeosoitteesta tulee
Täystunnelissa jokainen paketti lähtee VPN-yhdyskäytävän kautta, joten palvelin näkee yhdyskäytävän lähtöosoitteen eikä kotiyhteyttäsi. Jos polulla on välityspalvelin, perille tulee sen osoite. Molemmat ovat laillisia lähteitä, eikä kumpikaan ole alkuperäisen sääntösi osoite.
Azure SQL:n palvelin- ja tietokantatason palomuurisäännöt täsmäävät sen asiakasosoitteen, joka saapuu loogiselle palvelimelle, ja täystunnelin jälkeen se on lähtöosoite. AWS:n suojausryhmä, joka sallii yhden osoitteen, käyttäytyy samalla tavalla. Paketti pudotetaan ennen todennusta, joten saamasi virhe näyttää verkkohäiriöltä eikä käyttöoikeusongelmalta. Juuri siksi ihmiset alkavat nollata salasanoja.
Missä sallittujen luettelo päätetään
Lue sääntö, joka vastaa epäonnistuvaa polkua, älä sääntöä, jonka muistat luoneesi. Pane merkille sen laajuus, portti, protokolla ja se, arvioidaanko se ennen mitään identiteettitarkistusta.
Päätä sitten, mikä kerros omistaa päätöksen laillisesti. Osoitesääntö vastaa siihen, mistä liikenne tulee. Yksityinen päätepiste vastaa siihen, onko palvelu ylipäätään tavoitettavissa yksityistä polkua pitkin. Jaetun tunnelin poikkeus vastaa siihen, mitkä kohteet ohittavat tunnelin. Ne eivät ole vaihdettavissa, ja kukin epäonnistuu eri tavalla, kun tunneli muuttuu.
Kolme korjausta, kolme kerrosta
Jokainen alla oleva vaihtoehto korjaa kulun eri syystä, ja väärän valinta tuottaa yhteyden, joka toimii seuraavaan yhdyskäytävän muutokseen asti.
| Repair | Layer it changes | What it does not fix |
|---|---|---|
| Add the egress address to the rule | Source address matching | Nothing about routing, and it breaks when the egress moves |
| Use a private endpoint | Whether the service is reached privately | A client that still resolves the public name |
| Add a split-tunnel exception | Which flows bypass the tunnel | An expired credential or a wrong password |
Lähtöosoitteen lisääminen on pienin muutos ja haurain, koska uusi yhdyskäytävä tai eri alue tekee siitä hiljaa kelvottoman. Dokumentoi osoite tunnelin määritelmän viereen, jotta ne liikkuvat yhdessä. Väliaikainen laaja alue on diagnoosi, ei korjaus; sen paikoilleen jättäminen on se tapa, jolla sisäiset palvelut päätyvät näkyviin.
Miksi hallinnoitu alusta ei voi liittyä tunneliin
Sovellusalustat kuten Heroku, AppHarbor tai CloudBees ajavat koodiasi ympäristössä, jossa ei ole tun- tai tap-laitetta eikä oikeuksia sellaista luoda. Niiden saapuvan liikenteen malli on HTTP, ei mielivaltainen kuunteleva pistoke. Buildpack, joka toimittaa VPN-binäärin, ei silti löydä paikkaa liitännälle. Toimivat mallit ovat staattinen lähtöosoite, jonka tietokanta voi sallia, alustan tarjoama yksityinen yhteystuote tai DMZ:ssä oleva välityspalvelin, johon pääsee HTTPS:n kautta.
Tuo välityspalvelin on käyttöpolku omalla todennuksellaan ja lokituksellaan. Se ei tee alustasta VPN:si jäsentä, ja sen kuvaaminen niin tuottaa sääntöjä, joita kukaan ei voi auditoida.
Tarkista siltä asiakkaalta, joka epäonnistui
Yhdistä uudelleen ja toista asiakkaan tarkka polku. Tarkista lähdeosoite, jonka palvelu kirjaa, reitti, jonka asiakas valitsee tietokannan nimelle, ja varsinaisen kyselyn tulos tässä järjestyksessä. Yhdyskäytävältä tehty testi todistaa, että yhdyskäytävä toimii, mitä ei koskaan epäilty. Jos yhteys nyt todennetaan ja kysely yhä epäonnistuu, jäljellä oleva ongelma on tietokannan käyttöoikeus.
Käy nämä säännöt läpi aina, kun tunneli muuttuu. Vaihdettu yhdyskäytävä tai uusi lähtöalue katkaisee polun ilman mitään muutosta sovelluksen kokoonpanossa.