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:

PathSource MariaDB sees
Routed tunnel, no translationThe client's inner VPN address
Gateway source translationThe gateway's translated address
SSH local forwardThe SSH server's address
Public exit, no tunnelWhatever 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.

Saistītie raksti