Eyni istifadəçi adını iki fərqli yoldan yazın və MariaDB sizi iki fərqli hesab kimi doğrulaya bilər. Hesablar istifadəçi və host birlikdə əsasında qurulur, ona görə də 'reporter'@'localhost' və 'reporter'@'10.90.0.23' ayrı parollar və ayrı qrantlarla ayrı sətirlərdir. VPN üzərindən maraqlı sual istifadəçinin hansı adı yazdığı deyil, serverin hansı mənbə ünvanını gördüyüdür.

Serverin həqiqətən gördüyü mənbəni müəyyənləşdirin

Laptopdan deyil, verilənlər bazası hostundan geriyə doğru işləyin. Müştərinin sahib olduğunu düşündüyü ünvan bir neçə ehtimaldan yalnız biridir:

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

Bunu həll etmək üçün server tərəfindən sübutlardan istifadə edin. Bağlantı jurnalı, aktiv sessiya siyahısı və ya müvəqqəti ümumi jurnal qeydi serverin qəbul etdiyi ünvanı göstərir. Brauzerdən görünən laptopun ümumi IP-si başqa faktdır və çox vaxt yanıldıcıdır.

MariaDB-nin seçdiyi hesabı uyğunlaşdırın

Hesab seçimi qrantların birliyinə deyil, sənədləşdirilmiş sıralamaya uyğundur. Dəqiq host uyğunluğu wildcarddan üstündür və anonim istifadəçi sətirləri uyğunlaşmada elə iştirak edir ki, adın təkbaşına qərar verdiyini düşünənləri təəccübləndirir. Server bir sətir seçir; oxşar adlı hər sətrin imtiyazlarını birləşdirmir. İstinadı bir dəfə oxumaq, bir günü təxminlərlə sınamaqdan dəyərlidir.

Bu o deməkdir ki, 'reporter'@'%'-ə qrant əlavə etmək, sessiya 'reporter'@'10.90.0.23' kimi doğrulanıbsa, heç nəyi dəyişməyə bilər. Düzəliş seçilmiş sətirə düşməlidir, buna görə hesabın müəyyən edilməsi qrantların redaktəsindən əvvəl gəlir.

Sessiyanın həqiqətən istifadə etdiyi hesabı oxuyun

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

CURRENT_USER() sessiyanı doğrulayan hesabı adlandırır; USER() isə müştərinin nə istədiyini bildirir və fərqli ola bilər. Bunları adi yuxarı səviyyəli sorğular kimi işlədin, təyinedici konteksti olan saxlanmış prosedurun içindən deyil, əks halda cavablar sessiyanızı deyil, prosedurun sahibini təsvir edər.

Uğursuz giriş bunların heç birini işlədə bilməz və bu, administratorun hesab təriflərini və serverin bağlantı sübutlarını yoxlamalı olduğu haldır. Buna hazır olun: rədd edilmiş girişi ayıqlayan şəxsin adətən sorğu verəcək SQL sessiyası olmur.

Əlçatanlığı autentifikasiyadan ayırın

Xəta mətni hansı qatda olduğunuzu deyir. Rədd edilmiş bağlantı və ya fasilə müştərinin dinləyiciyə heç çatmadığını bildirir, yəni hesab və parol hələ sual altında deyil. Giriş rədd edildi cavabı serverin cavab verdiyini bildirir, bu da əlçatanlığı sübut edir və hesaba, host uyğunluğuna və ya etimad məlumatına işarə edir.

Şəbəkə ilkin şərtləri ayrı siyahıdır: yalnız loopback-ə deyil, nəzərdə tutulan ünvana bağlanmış dinləyici, konfiqurasiya edilmiş porta icazə verilmiş trafik və cavab üçün geri marşrut. Hər biri müstəqil şəkildə uğursuz ola bilər və işləyən tunel onların heç birini nəzərdə tutmur. Loopback-dəki dinləyici yerli bağlantıları qəbul edir və hər uzaq bağlantını rədd edir, bu da firewall blokuna bənzəyən rədd edilmiş bağlantı yaradır.

Şəbəkə komandasına bilet açmazdan əvvəl bind ünvanını yoxlayın. Verilənlər bazası hostunda ss -lntp hansı ünvan və portun həqiqətən dinlədiyini göstərir və bu tək sətir bütöv bir təxmin kateqoriyasını istisna edir.

Dar şəkildə düzəldin, sonra hər iki istiqamətdə yenidən sınayın

Nəzərdə tutulan hostla ixtisaslaşmış hesabı təşkilatın təsdiqlənmiş prosesi ilə yaradın, dəstəklənən anbardan götürülmüş etimad məlumatı ilə, biletdə yapışdırılmış ortaq biri ilə deyil. Yalnız tapşırığın tələb etdiyi sxem əməliyyatlarını qrant edin. Uğursuz uzaq girişi root hesabına, hamıya-qrant siyasətinə və ya ümumi wildcard hosta çevirmək testi keçirir və sınadığınız nəzarəti aradan qaldırır. Tələsik əlavə etdiyiniz qrant sonradan heç kimin silmədiyi qrantdır.

Nəzərdə tutulan yoldan təzə sessiya ilə yenidən sınayın, sonra mənfi halları yoxlayın. Bloklanmalı olan yol yenə də bloklanmalıdır və qrant verilməmiş əməliyyat yenə də rədd edilməlidir. Bu iki yoxlama təmir edilmiş hesabı genişləndirilmiş hesabdan ayıran şeydir.

Nəhayət, müşahidə edilən mənbə ünvanını və hesab adını birlikdə qeyd edin. Tunel əlçatanlığı təmin edir; MariaDB hələ də öz hesabını seçir və avtorizasiya edir, növbəti şəxs isə nəticənizi təkrarlamaq üçün hər iki fakta ehtiyac duyur.

Əlaqəli məqalələr