MariaDB përmes VPN: cilin user@host sheh serveri?
Llogaria zgjidhet nga përdoruesi dhe hosti së bashku. Gjeni burimin që pa serveri, lexoni CURRENT_USER() dhe pastaj rregulloni atë rresht, jo lejen.
Shkruani të njëjtin emër përdoruesi në dy rrugë të ndryshme dhe MariaDB mund t'ju vërtetojë si dy llogari të ndryshme. Llogaritë janë të lidhura me përdoruesin dhe hostin së bashku, kështu që 'reporter'@'localhost' dhe 'reporter'@'10.90.0.23' janë rreshta të veçantë me fjalëkalime të veçanta dhe leje të veçanta. Përmes një VPN, pyetja interesante nuk është çfarë emri shkruajti përdoruesi, por çfarë adrese burimore pa serveri.
Përcaktoni burimin që serveri sheh vërtet
Punoni mbrapsht nga hosti i bazës së të dhënave, jo nga laptopi. Adresa që klienti mendon se ka është vetëm një nga disa mundësi:
| Path | Source MariaDB sees |
|---|---|
| Routed tunnel, no translation | The client's inner VPN address |
| Gateway source translation | The gateway's translated address |
| SSH local forward | The SSH server's address |
| Public exit, no tunnel | Whatever the ISP handed out |
Përdorni prova nga ana e serverit për ta vendosur. Një regjistër lidhjesh, një listë e sesioneve aktive ose një zë i përkohshëm në regjistrin e përgjithshëm tregojnë adresën që serveri pranoi. IP-ja publike e laptopit nga një shfletues është një fakt tjetër dhe shpesh mashtrues.
Përputhni llogarinë që zgjodhi MariaDB
Zgjedhja e llogarisë ndjek një rend të dokumentuar dhe jo një bashkim lejesh. Një përputhje e saktë e hostit ka përparësi ndaj një karakteri zëvendësues, dhe rreshtat e përdoruesit anonim marrin pjesë në përputhje në mënyra që i befasojnë ata që supozojnë se vendos vetëm emri. Serveri zgjedh një rresht; nuk bashkon privilegjet e çdo rreshti me të njëjtin emër. Leximi i referencës një herë vlen më shumë se një pasdite me hamendje.
Kjo do të thotë që shtimi i një lejeje në 'reporter'@'%' mund të mos ndryshojë asgjë nëse sesioni u vërtetua si 'reporter'@'10.90.0.23'. Rregullimi duhet të bjerë mbi rreshtin që u zgjodh, prandaj identifikimi i llogarisë vjen përpara redaktimit të lejeve.
Lexoni llogarinë që sesioni përdor vërtet
SELECT USER(), CURRENT_USER();
SHOW GRANTS;
CURRENT_USER() emërton llogarinë që vërtetoi sesionin; USER() raporton çfarë kërkoi klienti dhe mund të ndryshojë. Ekzekutojini si pyetje të zakonshme të nivelit të sipërm, jo nga brenda një rutine të ruajtur me kontekst përcaktuesi, përndryshe përgjigjet përshkruajnë pronarin e rutinës në vend të sesionit tuaj.
Një hyrje e dështuar nuk mund të ekzekutojë asgjë nga këto, dhe ky është rasti kur një administrator duhet të inspektojë përkufizimet e llogarive dhe provat e lidhjes së serverit. Planifikojeni: personi që korrigjon një hyrje të refuzuar zakonisht nuk ka sesion SQL për të pyetur.
Ndani arritshmërinë nga vërtetimi
Teksti i gabimit ju tregon në cilën shtresë jeni. Një lidhje e refuzuar ose një skadim kohe do të thotë që klienti nuk arriti kurrë një dëgjues, kështu që llogaria dhe fjalëkalimi i saj nuk janë ende në diskutim. Një përgjigje për akses të refuzuar do të thotë që serveri u përgjigj, çka provon arritshmërinë dhe tregon llogarinë, përputhjen e hostit ose kredencialin.
Parakushtet e rrjetit janë listë më vete: një dëgjues i lidhur me adresën e synuar dhe jo vetëm me loopback, trafik i lejuar drejt portës së konfiguruar dhe një rrugë kthimi për përgjigjen. Secili mund të dështojë në mënyrë të pavarur, dhe një tunel që funksionon nuk nënkupton asnjë prej tyre. Një dëgjues në loopback pranon lidhje lokale dhe refuzon çdo lidhje të largët, çka prodhon një lidhje të refuzuar që duket si bllokim i murit të zjarrit.
Kontrolloni adresën e lidhjes përpara se të hapni një tiketë me ekipin e rrjetit. ss -lntp në hostin e bazës së të dhënave tregon cila adresë dhe portë po dëgjojnë vërtet, dhe ai rresht i vetëm përjashton një kategori të tërë hamendjesh.
Rregulloni ngushtë, pastaj ritestoni të dy drejtimet
Krijoni llogarinë e synuar të kualifikuar nga hosti përmes procesit të miratuar të organizatës, me një kredencial nga depoja e mbështetur dhe jo një të përbashkët të ngjitur në një tiketë. Jepni vetëm operacionet e skemës që i nevojiten detyrës. Shndërrimi i një hyrjeje të largët të dështuar në llogari root, politikë jep-gjithçka ose host zëvendësues i përgjithshëm e bën testin të kalojë dhe heq kontrollin që po testonit. Leja e shtuar me nxitim është ajo që askush nuk e heq më vonë.
Ritestoni me një sesion të ri përmes rrugës së synuar, pastaj kontrolloni rastet negative. Një rrugë që duhet të bllokohet duhet të mbetet e bllokuar, dhe një operacion që nuk u dha duhet të mbetet i refuzuar. Këto dy kontrolle ndajnë një llogari të rregulluar nga një e zgjeruar.
Së fundi, regjistroni adresën burimore të vëzhguar dhe emrin e llogarisë së bashku. Tuneli siguron arritshmërinë; MariaDB ende zgjedh dhe autorizon llogarinë e vet, dhe personi tjetër ka nevojë për të dy faktet për të riprodhuar rezultatin tuaj.