Typ deselde brûkersnamme fan twa ferskillende paden en MariaDB kin dy as twa ferskillende akkounts ferifiearje. Akkounts wurde kaaie op brûker en host tegearre, dus 'reporter'@'localhost' en 'reporter'@'10.90.0.23' binne aparte rigen mei aparte wachtwurden en aparte tastesettingen. Oer in VPN is de nijsgjirrige fraach net hokker namme de brûker typte, mar hokker boarneadres de tsjinner seach.

Bepaal de boarne dy't de tsjinner echt sjocht

Wurkje efterút fan 'e databasetjinner, net fan 'e laptop. It adres dat de kliïnt tinkt dat er hat is mar ien fan ferskate mooglikheden:

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

Brûk bewiis fan 'e tsjinnerkant om it te besljochtsjen. In ferbininglog, in list fan aktive sesjes of in tydlike ynfier yn it algemiene log lit it adres sjen dat de tsjinner akseptearre. It iepenbiere IP fan 'e laptop út in browser is in oar feit en faak in misliedend ien.

Koppel it akkount dat MariaDB keas

Akkountkar folget in dokumintearre folchoarder ynstee fan in feriening fan tastesettingen. In krekte host-oerienkomst hat foarrang boppe in wildcard, en rigen fan anonime brûkers dogge mei oan 'e oerienkomst op manieren dy't minsken ferrasse dy't oannimme dat de namme allinnich beslút. De tsjinner kiest ien rige; hy fusearret net de privileezjes fan elke gelyknamige rige. De referinsje ien kear lêze is mear wurdich as in middei rieden.

Dat betsjut dat it tafoegjen fan in tastesetting oan 'reporter'@'%' neat feroarje kin as de sesje ferifiearre is as 'reporter'@'10.90.0.23'. De reparaasje moat op 'e rige lânje dy't keazen is, dêrom komt it identifisearjen fan it akkount foar it bewurkjen fan tastesettingen.

Lês it akkount dat de sesje echt brûkt

SELECT USER(), CURRENT_USER();
SHOW GRANTS;

CURRENT_USER() neamt it akkount dat de sesje ferifiearre hat; USER() rapportearret wat de kliïnt frege en kin ferskille. Rin se as gewoane queries op it heechste nivo, net fan binnen in bewarre routine mei in definiearjende kontekst, oars beskriuwe de antwurden de eigner fan 'e routine ynstee fan dyn sesje.

In mislearre oanmelding kin hjir neat fan útfiere, en dat is it gefal wêryn in behearder de akkountdefinysjes en it ferbiningbewiis fan 'e tsjinner besjen moat. Plan dêrfoar: de persoan dy't in wegere oanmelding debugt hat normaal gjin SQL-sesje om te freegjen.

Skied berikberens fan ferifikaasje

De flouttekst fertelt dy yn hokker laach do bist. In wegere ferbining of in time-out betsjut dat de kliïnt nea in lústerder berikt hat, dus it akkount en syn wachtwurd binne noch net yn 'e fraach. In antwurd fan wegere tagong betsjut dat de tsjinner antwurde, wat berikberens bewist en nei it akkount, de host-oerienkomst of it bewiismiddel wiist.

Netwurkfoarwearden binne har eigen list: in lústerder bûn oan it bedoelde adres en net allinnich oan loopback, tastien ferkear nei de konfigurearre poarte en in weromrûte foar it antwurd. Elk kin ûnôfhinklik mislearje, en in wurkjende tunnel betsjut net ien fan har. In lústerder op loopback akseptearret lokale ferbiningen en wegeret elke ôfstâne, wat in wegere ferbining opsmyt dy't op in firewallblokkade liket.

Kontrolearje it bind-adres foardat do in kaartje by it netwurkteam iepenest. ss -lntp op 'e databasetjinner lit sjen hokker adres en poarte echt lústerje, en dy iene rigel slút in hiele kategory riedens út.

Reparearje smel, test dan beide rjochtingen

Meitsje it bedoelde host-kwalifisearre akkount fia it goedkarde proses fan 'e organisaasje, mei in bewiismiddel út 'e stipe opslach ynstee fan in dield ien dat yn in kaartje plakt is. Jou allinnich de skema-operaasjes dy't de taak nedich hat. In mislearre ôfstâne oanmelding feroarje yn in root-akkount, in jou-alles-belied of in algemien wildcard-host lit de test slagje en hellet de kontrôle fuort dy't do testest. De tastesetting dy't do hastich tafoege is dejinge dy't nimmen letter fuorthellet.

Test opnij mei in farske sesje fia it bedoelde paad, kontrolearje dan de negative gefallen. In paad dat blokkearre wurde moat moat noch blokkearre bliuwe, en in operaasje dy't net jûn is moat noch wegere bliuwe. Dy twa kontrôles binne wat in reparearre akkount fan in ferbrede skiedt.

Ta beslút, registrearje it waarnommen boarneadres en de akkountnamme tegearre. De tunnel leveret berikberens; MariaDB kiest en autorisearret noch hieltyd syn eigen akkount, en de folgjende persoan hat beide feiten nedich om dyn resultaat te reprodusearjen.

Relatearre artikelen