SSL/TLS in SSH-tunel
Dve različni težavi, dva različna zavihka v pogovornem oknu povezave. SSL/TLS šifrira samo povezavo z bazo. SSH-tunel pa nešifrirano povezavo prenese prek strežnika, ki mu že zaupate.
Uporabite lahko oboje hkrati.
SSL/TLS
Baze v oblaku — AWS RDS, Supabase, PlanetScale, Azure SQL — ga praviloma zahtevajo.
Označite Omogoči SSL/TLS in izberite način:
| Način | Kaj naredi |
|---|---|
| Onemogoči | Brez šifriranja. Ni priporočljivo |
| Prednostno | Uporabi SSL, če ga strežnik podpira, sicer nešifrirano |
| Zahtevaj | Vedno uporabi SSL, vendar ne preverja certifikata |
| Preveri CA | SSL in preverjanje certifikata glede na CA |
| Polno preverjanje | SSL, preverjanje CA in imena gostitelja |
Pri SQL Serverju se ista nastavitev imenuje Raven šifriranja.
Certifikati
Tri neobvezne poti do datotek omogočajo, da podate lastno gradivo:
- CA certifikat — potreben za Preveri CA in Polno preverjanje, kadar strežnik uporablja zasebno CA.
- Certifikat odjemalca in zasebni ključ — za strežnike, ki zahtevajo vzajemni TLS.
Sprejmi samopodpisane certifikate povsem preskoči preverjanje certifikata. Razvojni strežnik tako deluje v nekaj sekundah, a s tem odstrani zaščito, ki jo TLS sploh daje — za produkcijsko povezavo tega ne puščajte vklopljenega.
SSH-tunel
S tunelom se NabuSQL najprej poveže s strežnikom SSH in prek njega usmeri povezavo z bazo. Tako dosežete bazo, ki na oddaljenem računalniku posluša samo na localhost.
Gostitelj in vrata se razrešijo na strežniku SSH
Gostitelj in vrata na zavihku Osnovno se razlagajo z vidika strežnika SSH. Za bazo, ki teče na istem računalniku kot strežnik SSH, to pomeni localhost in običajna vrata baze — ne javnega naslova strežnika.
Označite Omogoči SSH-tunel in izpolnite:
- Gostitelj, vrata in uporabniško ime strežnika SSH.
- Preverjanje pristnosti: geslo ali ključ.
- Pri preverjanju s ključem: pot do datoteke zasebnega ključa in geslo ključa, če je ključ šifriran.
Praktični primer
Strežnik PostgreSQL na db.example.com sprejema SSH, sama baza pa posluša samo na 127.0.0.1:5432:
| Zavihek | Polje | Vrednost |
|---|---|---|
| Osnovno | Gostitelj | 127.0.0.1 |
| Osnovno | Vrata | 5432 |
| SSH Tunel | Gostitelj | db.example.com |
| SSH Tunel | Vrata | 22 |
| SSH Tunel | Uporabniško ime | vaš uporabnik SSH |
Odpravljanje težav
Povezava zavrnjena prek tunela — gostitelj baze se razreši na strežniku SSH. Preverite, ali vrednost deluje, ko na tem strežniku zaženete psql -h <gostitelj>.
Certificate verify failed — strežnik predloži certifikat, ki ga je podpisala CA, ki je vaš sistem ne pozna. Namesto preklopa na Zahtevaj podajte CA certifikat.
Ključ SSH zavrnjen — preverite, ali se datoteka zasebnega ključa ujema z javnim ključem v authorized_keys in ali ste vnesli geslo, če ga ključ ima.
Ni SSH-ja, vrata baze pa so zaprta? Značilno za deljeno gostovanje — glejte HTTP-tunel.
