Aynı kullanıcı adını iki farklı yoldan yazın; MariaDB sizi iki farklı hesap olarak doğrulayabilir. Hesaplar kullanıcı ve ana bilgisayar birlikte üzerinden anahtarlanır, bu yüzden 'reporter'@'localhost' ve 'reporter'@'10.90.0.23' ayrı parolalara ve ayrı yetkilere sahip ayrı satırlardır. VPN üzerinden ilginç soru kullanıcının hangi adı yazdığı değil, sunucunun hangi kaynak adresi gördüğüdür.

Sunucunun gerçekten gördüğü kaynağı belirleyin

Dizüstü bilgisayardan değil, veritabanı ana bilgisayarından geriye doğru çalışın. İstemcinin sahip olduğunu düşündüğü adres, birkaç olasılıktan yalnızca 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

Karar vermek için sunucu tarafındaki kanıtları kullanın. Bağlantı günlüğü, etkin oturum listesi veya genel günlükteki geçici bir kayıt, sunucunun kabul ettiği adresi gösterir. Dizüstü bilgisayarın tarayıcıdan görünen genel IP'si başka bir gerçektir ve çoğu zaman yanıltıcıdır.

MariaDB'nin seçtiği hesapla eşleştirin

Hesap seçimi yetkilerin birleşimini değil, belgelenmiş bir sırayı izler. Tam ana bilgisayar eşleşmesi joker karakterden önce gelir ve anonim kullanıcı satırları, yalnızca adın belirlediğini varsayanları şaşırtan biçimlerde eşleşmeye katılır. Sunucu bir satır seçer; aynı adlı her satırın ayrıcalıklarını birleştirmez. Başvuruyu bir kez okumak, bir öğleden sonra tahmin denemekten daha değerlidir.

Bu, oturum 'reporter'@'10.90.0.23' olarak doğrulandıysa 'reporter'@'%' hesabına yetki eklemenin hiçbir şeyi değiştirmeyebileceği anlamına gelir. Düzeltme seçilen satıra inmelidir; bu yüzden hesabı belirlemek yetkileri düzenlemeden önce gelir.

Oturumun gerçekten kullandığı hesabı okuyun

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

CURRENT_USER() oturumu doğrulayan hesabı adlandırır; USER() istemcinin ne istediğini bildirir ve farklı olabilir. Bunları olağan üst düzey sorgular olarak çalıştırın, tanımlayıcı bağlamı olan saklı bir yordamın içinden değil, yoksa yanıtlar sizin oturumunuz yerine yordamın sahibini tanımlar.

Başarısız bir oturum açma bunların hiçbirini çalıştıramaz ve yöneticinin hesap tanımlarını ve sunucunun bağlantı kanıtlarını incelemesi gereken durum budur. Bunu planlayın: reddedilen bir oturum açmayı hata ayıklayan kişinin genellikle sorgulayacağı bir SQL oturumu yoktur.

Erişilebilirliği kimlik doğrulamadan ayırın

Hata metni hangi katmanda olduğunuzu söyler. Reddedilen bir bağlantı veya zaman aşımı, istemcinin hiçbir zaman bir dinleyiciye ulaşmadığı anlamına gelir; bu yüzden hesap ve parolası henüz söz konusu değildir. Erişim reddedildi yanıtı, sunucunun yanıt verdiği anlamına gelir; bu erişilebilirliği kanıtlar ve hesaba, ana bilgisayar eşleşmesine veya kimlik bilgisine işaret eder.

Ağ önkoşulları kendi listesidir: yalnızca loopback'e değil, amaçlanan adrese bağlı bir dinleyici, yapılandırılmış bağlantı noktasına izin verilen trafik ve yanıt için bir dönüş yolu. Her biri bağımsız olarak başarısız olabilir ve çalışan bir tünel bunların hiçbirini gerektirmez. Loopback üzerindeki bir dinleyici yerel bağlantıları kabul eder ve her uzak bağlantıyı reddeder; bu da güvenlik duvarı engeline benzeyen reddedilmiş bir bağlantı üretir.

Ağ ekibiyle bir talep açmadan önce bağlama adresini denetleyin. Veritabanı ana bilgisayarındaki ss -lntp hangi adres ve bağlantı noktasının gerçekten dinlediğini gösterir ve o tek satır bir tahmin kategorisinin tamamını eler.

Dar biçimde onarın, sonra iki yönü de yeniden test edin

Amaçlanan ana bilgisayar nitelikli hesabı kuruluşun onaylı süreciyle oluşturun; kimlik bilgisini bir talebe yapıştırılmış paylaşılan bir bilgi yerine desteklenen depodan alın. Yalnızca görevin ihtiyaç duyduğu şema işlemlerini verin. Başarısız bir uzak oturum açmayı root hesabına, her şeyi ver politikasına veya genel bir joker ana bilgisayara dönüştürmek testi geçirir ve test ettiğiniz denetimi ortadan kaldırır. Aceleyle eklediğiniz yetki, sonradan kimsenin kaldırmadığı yetkidir.

Amaçlanan yoldan yeni bir oturumla yeniden test edin, sonra olumsuz durumları denetleyin. Engellenmesi gereken yol engellenmiş kalmalı ve verilmeyen bir işlem reddedilmiş kalmalıdır. Bu iki denetim, onarılmış bir hesabı genişletilmiş olandan ayırır.

Son olarak, gözlenen kaynak adresi ve hesap adını birlikte kaydedin. Tünel erişilebilirliği sağlar; MariaDB kendi hesabını seçmeye ve yetkilendirmeye devam eder ve bir sonraki kişi sonucunuzu yeniden üretmek için iki gerçeğe de ihtiyaç duyar.

İlgili makaleler