Poglavje 12 · 12.6
Povezava z zbirko podatkov od zunaj (tunel SSH)
Običajno z zbirko podatkov komunicira samo Vaše spletno mesto. Ta je na istem strežniku in se poveže prek localhost. Bi radi do zbirke podatkov dostopali s svojega računalnika, na primer s programom HeidiSQL, DBeaver, MySQL Workbench ali TablePlus? Pri WebOké to storite prek tunela SSH. Za to potrebujete paket s SSH: Power Webhost Three, Power Webhost Four, AI Wordpress Three ali Power Reseller.
Zakaj ne neposredno prek vrat 3306?
Vrata zbirke podatkov 3306 so na naših strežnikih za internet zaprta. To počnemo namenoma:
- Odprta vrata zbirke podatkov so nenehno tarča napadov. Roboti ves dan preizkušajo uporabniška imena in gesla. Na enem samem strežniku naštejemo na tisoče neuspelih poskusov na dan. Eno šibko ali razkrito geslo je tedaj dovolj, da lahko nekdo prebere ali izbriše celotno zbirko podatkov.
- Običajna povezava z zbirko podatkov pogosto ni šifrirana. Gesla in podatke je tako mogoče prestreči med prenosom, na primer v javnem omrežju Wi-Fi.
- Dostop glede na naslov IP je šibak. Doma in v pisarni se Vaš naslov IP občasno spremeni, vsi, ki si delijo isti naslov (podjetniško omrežje, dostopna točka), pa vstopajo skozi ista vrata. V praksi se pogosto konča z % (vsi), in tedaj je Vaša zbirka podatkov odprta za ves svet.
- Varnostna luknja v sami programski opremi zbirke podatkov prizadene le strežnike, pri katerih so vrata dosegljiva. Ko so vrata zaprta, do nje od zunaj ne more nihče.
Tunel SSH vse to reši. Prijavite se s svojim ključem SSH (brez gesla, ki bi ga bilo mogoče uganiti), vse poteka šifrirano, zbirka podatkov pa povezavo vidi, kot da prihaja s samega strežnika. Naslova IP Vam ni treba dodajati, deluje pa od koder koli.
Kaj potrebujete?
- Paket s SSH (glejte Ključi SSH in prijava s SSH). Če v DirectAdminu ne vidite možnosti Ključi SSH, Vaš paket ne vključuje SSH. Paket lahko zamenjate v portalu Moj WebOké pri svojem paketu, na kartici Spremeni paket gostovanja.
- Ključ SSH, ki je v DirectAdminu dodan pod Ključi SSH (1. in 2. korak v Ključi SSH in prijava s SSH).
- Uporabnika zbirke podatkov z geslom. Za svoj program po možnosti ustvarite ločenega uporabnika, ne uporabljajte uporabnika svojega spletnega mesta.
Povezava s programom za zbirke podatkov
Večina programov ima tunel že vgrajen. Vnesete dva sklopa podatkov: podatke za SSH in podatke za zbirko podatkov.
| Nastavitev | Kaj vnesete? |
|---|---|
| Vrsta povezave | HeidiSQL: MariaDB or MySQL (SSH tunnel). DBeaver: zavihek SSH, označite Use SSH Tunnel. MySQL Workbench: Standard TCP/IP over SSH. TablePlus in Navicat: Over SSH. |
| Gostitelj SSH | Ime strežnika Vašega paketa, na primer linux2023.webawere.nl (glejte Kako najdete ime strežnika in uporabniško ime DA) |
| Vrata SSH | 1967 |
| Uporabnik SSH | Vaše uporabniško ime za DA, na primer wtsilefl |
| Ključ SSH | Vaš zasebni ključ (datoteka id_ed25519, brez .pub). HeidiSQL uporablja PuTTY in zahteva datoteko .ppk: ključ pretvorite s programom PuTTYgen. |
| Gostitelj zbirke podatkov | 127.0.0.1 (gledano s strežnika) |
| Vrata zbirke podatkov | 3306 |
| Uporabnik | Polno ime uporabnika zbirke podatkov, na primer wtsilefl_extern |
| Geslo | Geslo tega uporabnika zbirke podatkov |
| Zbirka podatkov | Polno ime zbirke podatkov, na primer wtsilefl_shop |
Tunel iz ukazne vrstice
Vaš program ne zna sam vzpostaviti tunela SSH ali pa raje delate v ukazni vrstici (Mac, Linux ali Windows Terminal)? V tem primeru tunel zaženite sami:
ssh -p 1967 -N -L 3307:127.0.0.1:3306 wtsilefl@linux2023.webawere.nl
To okno pustite odprto, dokler delate z zbirko podatkov. V svojem programu se povežite z gostiteljem 127.0.0.1, vrati 3307 ter svojim uporabnikom in geslom zbirke podatkov. Tunel ustavite s kombinacijo Ctrl+C.
Povezava ne uspe
- "Permission denied (publickey)": težava je v koraku SSH. Preverite vrata 1967, ali je Vaš javni ključ dodan pod Pooblaščeni ključi in ali Vaš program uporablja pripadajoči zasebni ključ (glejte Ključi SSH in prijava s SSH).
- "Access denied": korak SSH je uspel, vendar uporabniško ime ali geslo zbirke podatkov ni pravilno. Uporabite polno ime, pred katerim sta Vaše uporabniško ime za DA in podčrtaj.
- "Access denied for user ...@127.0.0.1", čeprav je geslo pravilno: v DirectAdminu pri tem uporabniku zbirke podatkov pod Access Hosts dodajte 127.0.0.1. Ta naslov je samo strežnik sam, zato navzven ničesar ne odpre.
- Časovna omejitev pri SSH: po nekaj neuspelih poskusih je Vaš naslov IP morda blokiran. Preverite v portalu Moj WebOké pod Ali je moj naslov IP blokiran? (glejte Problemen met vpisom odpravljanje).
Nasvet: Pri tunelu SSH Vam pod Access Hosts uporabnika zbirke podatkov običajno ni treba dodajati ničesar: localhost zadostuje. Če so tam še stari naslovi IP ali %, jih lahko odstranite. Dostopa ne omogočajo več, saj so vrata 3306 od zunaj zaprta.
