VPN аркылуу MariaDB: сервер кайсы user@host-ту көрөт?
Аккаунт колдонуучу жана хост менен бирге тандалат. Сервер көргөн булакты табыңыз, CURRENT_USER() окуңуз, анан ошол сапты оңдоңуз, уруксатты эмес.
Бир эле колдонуучу атын эки башка жол менен киргизиңиз, жана MariaDB сизди эки башка аккаунт катары аутентификациялашы мүмкүн. Аккаунттар колдонуучу жана хост менен бирге негизделет, ошондуктан 'reporter'@'localhost' жана 'reporter'@'10.90.0.23' өзүнчө сырсөздөрү жана өзүнчө уруксаттары бар өзүнчө саптар. VPN аркылуу кызыктуу суроо колдонуучу кайсы атты киргизгени эмес, сервер кайсы булак дарегин көргөнү.
Сервер чындыгында көргөн булакты аныктаңыз
Маалымат базасынын хостдон артка карай иштеңиз, ноутбуктан эмес. Кардар өзүндө бар деп ойлогон дарек бир нече мүмкүнчүлүктүн бири гана:
| 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 |
Чечүү үчүн сервер тараптагы далилдерди колдонуңуз. Туташуу журналы, активдүү сессиялардын тизмеси же жалпы журналдагы убактылуу жазуу сервер кабыл алган даректи көрсөтөт. Ноутбуктун браузерден көрүнгөн жарыя IP дареги башка факт жана көп учурда адаштырат.
MariaDB тандаган аккаунтту дал келтириңиз
Аккаунт тандоо уруксаттардын биригишине эмес, документтелген тартипке багынат. Хосттун так дал келиши атайын белгиден артык, жана анонимдүү колдонуучунун саптары дал келтирүүгө ат гана чечет деп ойлогондорду таң калтырган жолдор менен катышат. Сервер бир сапты тандайт; ал атташ ар бир саптын артыкчылыктарын бириктирбейт. Шилтемени бир жолу окуу жарым күн божомолдорду сыноодон кымбат.
Бул 'reporter'@'%'-кө уруксат кошуу сессия 'reporter'@'10.90.0.23' катары аутентификацияланса, эч нерсени өзгөртпөшү мүмкүн дегенди билдирет. Оңдоо тандалган сапка түшүшү керек, ошондуктан аккаунтту аныктоо уруксаттарды оңдоодон мурун келет.
Сессия чындыгында колдонгон аккаунтту окуңуз
SELECT USER(), CURRENT_USER();
SHOW GRANTS;
CURRENT_USER() сессияны аутентификациялаган аккаунтту атайт; USER() кардар эмнени сураганын билдирет жана башкача болушу мүмкүн. Аларды кадимки жогорку деңгээлдеги суроо катары аткарыңыз, аныктоочу контексти бар сакталган процедуранын ичинен эмес, болбосо жооптор сессияңыздын ордуна процедуранын ээсин сүрөттөйт.
Ийгиликсиз кирүү булардын эч бирин аткара албайт, жана бул администратор аккаунт аныктамаларын жана сервердин туташуу далилдерин текшерүүгө туура келген учур. Ошого даярданыңыз: четке кагылган кирүүнү оңдоп жаткан адамда адатта суроо үчүн SQL сессиясы болбойт.
Жеткиликтүүлүктү аутентификациядан бөлүңүз
Ката тексти кайсы катмарда экениңизди айтат. Четке кагылган туташуу же убакыт бүтүү кардар угуучуга эч качан жетпегенин билдирет, ошондуктан аккаунт жана анын сырсөзү азырынча суроо алдында эмес. Жеткиликтүүлүк четке кагылды деген жооп сервер жооп бергенин билдирет, бул жеткиликтүүлүктү далилдейт жана аккаунтка, хост дал келишине же ырастоо каражатына көрсөтөт.
Тармак шарттары өз тизмеси: loopback-ке гана эмес, көздөлгөн дарекке байланган угуучу, конфигурацияланган портко уруксат берилген трафик жана жооп үчүн кайтуу жолу. Ар бири өз алдынча ийгиликсиз болушу мүмкүн, ал эми иштеген туннель алардын эч бирин билдирбейт. loopback-теги угуучу жергиликтүү туташууларды кабыл алып, ар бир алыскы туташууну четке кагат, бул өрт дубалынын бөгөтүнө окшош четке кагылган туташууну жаратат.
Тармак тобуна билет ачпас бурун байлоо дарегин текшериңиз. Маалымат базасынын хостдогул ss -lntp кайсы дарек жана порт чындыгында угуп жатканын көрсөтөт, жана ошол бир сап божомолдордун бүткүл категориясын жокко чыгарат.
Кенен эмес оңдоңуз, анан эки багытты тең кайра сынаңыз
Көздөлгөн хост-квалификациялуу аккаунтту уюмдун бекитилген процесси аркылуу түзүңүз, колдоого алынган кампадан ырастоо каражаты менен, билетке жабыштырылган жалпы менен эмес. Тапшырмага керектүү схема операцияларын гана бериңиз. Ийгиликсиз алыскы кирүүнү root аккаунтка, баарын-бер саясатына же жалпы атайын хостко айландыруу тесттен өткөрөт жана сиз сынап жаткан көзөмөлдү жок кылат. Шашылыш кошулган уруксат кийин эч ким албаган уруксат.
Көздөлгөн жол менен жаңы сессияда кайра сынаңыз, анан терс учурларды текшериңиз. Бөгөттөлүшү керек жол дагы деле бөгөттөлүшү керек, ал эми берилбеген операция дагы деле четке кагылышы керек. Ушул эки текшерүү оңдолгон аккаунтту кеңейтилгенден ажыратат.
Акырында, байкалган булак дарегин жана аккаунттун атын бирге жазып алыңыз. Туннель жеткиликтүүлүктү камсыздайт; MariaDB дагы деле өз аккаунтун тандап, уруксат берет, ал эми кийинки адамга сиздин жыйынтыгыңызды кайталоо үчүн эки факт те керек.