MariaDB caur VPN: kuru user@host redz serveris?
Konts tiek izvēlēts pēc lietotāja un resursdatora kopā. Atrodiet avotu, ko serveris redzēja, izlasiet CURRENT_USER() un pēc tam labojiet to rindu, nevis atļauju.
Ievadiet to pašu lietotājvārdu pa diviem dažādiem ceļiem, un MariaDB var jūs autentificēt kā divus dažādus kontus. Konti tiek piesaistīti lietotājam un resursdatoram kopā, tāpēc 'reporter'@'localhost' un 'reporter'@'10.90.0.23' ir atsevišķas rindas ar atsevišķām parolēm un atsevišķām atļaujām. Caur VPN interesantais jautājums nav tas, kādu vārdu lietotājs ievadīja, bet gan to, kuru avota adresi serveris redzēja.
Nosakiet avotu, ko serveris patiešām redz
Strādājiet atpakaļ no datubāzes resursdatora, nevis no klēpjdatora. Adrese, kas klientam, viņaprāt, ir, ir tikai viena no vairākām iespējām:
| 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 |
Izmantojiet servera puses pierādījumus, lai to izlemtu. Savienojumu žurnāls, aktīvo sesiju saraksts vai pagaidu ieraksts vispārējā žurnālā parāda adresi, ko serveris pieņēma. Klēpjdatora publiskā IP no pārlūka ir cits fakts un bieži vien maldinošs.
Saskaņojiet kontu, kuru izvēlējās MariaDB
Konta izvēle seko dokumentētai secībai, nevis atļauju apvienojumam. Precīza resursdatora atbilstība ir svarīgāka par aizstājējzīmi, un anonīmā lietotāja rindas piedalās saskaņošanā tā, kas pārsteidz tos, kuri pieņem, ka izšķir tikai vārds. Serveris izvēlas vienu rindu; tas neapvieno katras vienāda nosaukuma rindas privilēģijas. Vienreiz izlasīt atsauci ir vērtīgāk nekā pusi dienas izmēģināt minējumus.
Tas nozīmē, ka atļaujas pievienošana 'reporter'@'%' var neko nemainīt, ja sesija autentificējās kā 'reporter'@'10.90.0.23'. Labojumam jānonāk tajā rindā, kura tika izvēlēta, tāpēc konta identificēšana notiek pirms atļauju rediģēšanas.
Izlasiet kontu, kuru sesija patiešām izmanto
SELECT USER(), CURRENT_USER();
SHOW GRANTS;
CURRENT_USER() nosauc kontu, kas autentificēja sesiju; USER() ziņo, ko pieprasīja klients, un var atšķirties. Izpildiet tos kā parastus augšējā līmeņa vaicājumus, nevis no saglabātas rutīnas ar definētāja kontekstu, citādi atbildes apraksta rutīnas īpašnieku, nevis jūsu sesiju.
Neizdevusies pieteikšanās nevar izpildīt neko no tā, un tas ir gadījums, kad administratoram jāpārbauda kontu definīcijas un servera savienojuma pierādījumi. Plānojiet to: personai, kas atkļūdo noraidītu pieteikšanos, parasti nav SQL sesijas, kurā vaicāt.
Atdaliet sasniedzamību no autentifikācijas
Kļūdas teksts pasaka, kurā slānī jūs esat. Noraidīts savienojums vai taimauts nozīmē, ka klients nekad nesasniedza klausītāju, tāpēc konts un tā parole vēl nav jautājuma zīmē. Atbilde par liegto piekļuvi nozīmē, ka serveris atbildēja, kas pierāda sasniedzamību un norāda uz kontu, resursdatora atbilstību vai akreditācijas datiem.
Tīkla priekšnosacījumi ir atsevišķs saraksts: klausītājs, kas saistīts ar paredzēto adresi, nevis tikai ar loopback, atļauta satiksme uz konfigurēto portu un atgriešanās maršruts atbildei. Katrs var neizdoties neatkarīgi, un strādājošs tunelis nenozīmē nevienu no tiem. Klausītājs uz loopback pieņem vietējos savienojumus un noraida katru attālo, kas rada noraidītu savienojumu, kas izskatās kā ugunsmūra bloķēšana.
Pārbaudiet saistīšanas adresi pirms biļetes atvēršanas tīkla komandai. ss -lntp datubāzes resursdatorā parāda, kura adrese un ports patiešām klausās, un šī vienīgā rinda izslēdz veselu minējumu kategoriju.
Labojiet šauri, pēc tam pārbaudiet abos virzienos
Izveidojiet paredzēto resursdatora kvalificēto kontu organizācijas apstiprinātajā procesā, ar akreditācijas datiem no atbalstītās krātuves, nevis kopīgiem, kas ielīmēti biļetē. Piešķiriet tikai tās shēmas darbības, kas nepieciešamas uzdevumam. Neizdevušās attālās pieteikšanās pārvēršana par root kontu, visu-atļaut politiku vai vispārīgu aizstājējresursdatoru ļauj testam iziet un noņem kontroli, ko jūs testējāt. Atļauja, kas pievienota steigā, ir tā, ko vēlāk neviens nenoņem.
Pārbaudiet vēlreiz ar svaigu sesiju paredzētajā ceļā, pēc tam pārbaudiet negatīvos gadījumus. Ceļam, kam jābūt bloķētam, jāpaliek bloķētam, un darbībai, kas netika piešķirta, jāpaliek liegtai. Šīs divas pārbaudes atšķir salabotu kontu no paplašināta.
Visbeidzot, pierakstiet novēroto avota adresi un konta nosaukumu kopā. Tunelis nodrošina sasniedzamību; MariaDB joprojām izvēlas un autorizē savu kontu, un nākamajai personai ir vajadzīgi abi fakti, lai atkārtotu jūsu rezultātu.