MariaDB kupitia VPN: seva inaona user@host gani?
Akaunti huchaguliwa kwa mtumiaji na mwenyeji kwa pamoja. Tafuta chanzo ambacho seva ilikiona, soma CURRENT_USER(), kisha rekebisha safu hiyo, si ruhusa.
Andika jina moja la mtumiaji kwa njia mbili tofauti na MariaDB inaweza kukuthibitisha kama akaunti mbili tofauti. Akaunti zimefungwa kwa mtumiaji na mwenyeji kwa pamoja, kwa hivyo 'reporter'@'localhost' na 'reporter'@'10.90.0.23' ni safu tofauti zenye nenosiri tofauti na ruhusa tofauti. Kupitia VPN, swali la kuvutia si jina ambalo mtumiaji aliandika, bali ni anwani gani ya chanzo seva iliona.
Bainisha chanzo ambacho seva inaona kweli
Fanya kazi kinyume kutoka kwa mwenyeji wa hifadhidata, si kutoka kwa kompyuta mpakato. Anwani ambayo mteja anadhani anayo ni moja tu ya uwezekano kadhaa:
| 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 |
Tumia ushahidi wa upande wa seva kuamua. Kumbukumbu ya muunganisho, orodha ya vikao vinavyotumika au ingizo la muda katika kumbukumbu ya jumla zinaonyesha anwani ambayo seva ilikubali. IP ya umma ya kompyuta mpakato kutoka kwa kivinjari ni ukweli mwingine na mara nyingi hupotosha.
Oanisha akaunti ambayo MariaDB ilichagua
Uteuzi wa akaunti hufuata mpangilio ulioandikwa na si muungano wa ruhusa. Ulinganifu kamili wa mwenyeji una kipaumbele juu ya alama ya kijoker, na safu za mtumiaji asiyejulikana hushiriki katika ulinganifu kwa njia zinazowashangaza wale wanaodhani jina pekee huamua. Seva huchagua safu moja; haiunganishi mapendeleo ya kila safu yenye jina sawa. Kusoma rejeleo mara moja kuna thamani zaidi kuliko mchana mzima wa kujaribu makisio.
Hiyo inamaanisha kuwa kuongeza ruhusa kwa 'reporter'@'%' kunaweza kutobadilisha chochote ikiwa kikao kilijithibitisha kama 'reporter'@'10.90.0.23'. Marekebisho lazima yaangukie safu ambayo ilichaguliwa, ndiyo sababu kutambua akaunti huja kabla ya kuhariri ruhusa.
Soma akaunti ambayo kikao kinatumia kweli
SELECT USER(), CURRENT_USER();
SHOW GRANTS;
CURRENT_USER() hutaja akaunti iliyothibitisha kikao; USER() huripoti kile mteja aliomba na kinaweza kutofautiana. Zitekeleze kama hoja za kawaida za ngazi ya juu, si kutoka ndani ya utaratibu uliohifadhiwa wenye muktadha wa kifafanuzi, vinginevyo majibu yanaelezea mmiliki wa utaratibu badala ya kikao chako.
Kuingia kumeshindwa hakuwezi kutekeleza lolote la haya, na hii ndiyo hali ambapo msimamizi lazima achunguze fasili za akaunti na ushahidi wa muunganisho wa seva. Panga kwa hilo: mtu anayetatua hitilafu ya kuingia lililokataliwa kwa kawaida hana kikao cha SQL cha kuuliza.
Tenganisha ufikivu na uthibitishaji
Maandishi ya hitilafu yanakuambia uko kwenye tabaka gani. Muunganisho uliokataliwa au muda kuisha inamaanisha mteja hakuwahi kufikia msikilizaji, kwa hivyo akaunti na nenosiri lake bado hayako kwenye swali. Jibu la ufikivu uliokataliwa linamaanisha seva ilijibu, ambayo inathibitisha ufikivu na kuelekeza kwenye akaunti, ulinganifu wa mwenyeji au kitambulisho.
Masharti ya mtandao ni orodha yao wenyewe: msikilizaji aliyefungwa kwa anwani inayokusudiwa na si kwa loopback pekee, trafiki inayoruhusiwa kwa bandari iliyowekwa na njia ya kurudi kwa jibu. Kila kimoja kinaweza kushindwa kwa kujitegemea, na handaki linalofanya kazi halimaanishi hata moja yao. Msikilizaji kwenye loopback hukubali miunganisho ya ndani na hukataa kila muunganisho wa mbali, ambayo huzalisha muunganisho uliokataliwa unaofanana na kuzuiwa na ngome.
Angalia anwani ya kufunga kabla ya kufungua tiketi na timu ya mtandao. ss -lntp kwenye mwenyeji wa hifadhidata inaonyesha anwani na bandari gani zinazosikiliza kweli, na mstari huo mmoja unaondoa kundi zima la makisio.
Rekebisha kwa uwazi, kisha jaribu pande zote mbili
Unda akaunti inayokusudiwa yenye sifa ya mwenyeji kupitia mchakato ulioidhinishwa wa shirika, na kitambulisho kutoka kwa hazina inayotumika badala ya kile kilichoshirikiwa kilichobandikwa kwenye tiketi. Toa tu shughuli za skimu ambazo kazi inahitaji. Kubadilisha kuingia kwa mbali kumeshindwa kuwa akaunti ya root, sera ya kutoa kila kitu au mwenyeji wa kijoker wa jumla hufanya jaribio lifaulu na kuondoa udhibiti uliokuwa ukijaribu. Ruhusa uliyoongeza kwa haraka ndiyo ambayo hakuna anayeiondoa baadaye.
Jaribu tena na kikao kipya kupitia njia inayokusudiwa, kisha angalia kesi hasi. Njia ambayo inapaswa kuzuiwa lazima ibaki imezuiwa, na operesheni ambayo haikutolewa lazima ibaki imekataliwa. Ukaguzi huo mbili ndio unaotenganisha akaunti iliyorekebishwa na iliyopanuliwa.
Mwishowe, rekodi anwani ya chanzo iliyozingatiwa na jina la akaunti pamoja. Handaki hutoa ufikivu; MariaDB bado huchagua na kuidhinisha akaunti yake, na mtu anayefuata anahitaji ukweli wote mbili ili kuzalisha tena matokeo yako.