Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5

Zdalne logowanie do bazy mysql - serwer nie chce mnie wpuścić z obcego ip

#1
Dzień dobry
To mój pierwszy wpis na forum, proszę o pomoc, ponieważ żaden ze mnie  ekspert windows...

Na  serwerze jest most - tak mi to wytłumaczyła osoba, która to zrobiła i  ruch wychodzi w świat powiedzmy przez router o adresie przyznanym z tp  111.1.1.1
Próbuje na xp/serwerze odpalić program, który będzie się łączył z mysql na odległym serwerze powiedzmy 222.2.2.2

I teraz z klienta mysql dostaje komunikat:
#Access denied user@111.1.1.1 - tak jakby szukał serwera mysql na routerze.
Sprawdzone na różnych klientach mysql.
Pingowanie pomiędzy maszynami w obydwu kierunkach jest ok.

Gdzie szukać błędu? Co i jak mogę przetestować?
Pozdrawiam
#2
hubertinio napisał(a):#Access denied [email="user@111.1.1.1"]user@111.1.1.1[/email] - tak jakby szukał serwera mysql na routerze.
Sprawdzone na różnych klientach mysql.
Pingowanie pomiędzy maszynami w obydwu kierunkach jest ok.

Gdzie szukać błędu? Co i jak mogę przetestować?
Pozdrawiam
Twój problem nie ma nic wspólnego z routerem ani łączem internetowym w ogóle. To jest komunikat mówiący o tym, że użytkownik user z hosta 111.1.1.1 nie ma uprawnień do logowania. Większość instalacji mysqla umożliwia logowanie tylko z localhosta, czyli bezpośrednio z konsoli serwera bazy danych (to jest domyślne ustawienie mysqla). Nierozważne ze strony administratora tego serwera byłoby umożliwienie logowania zdalnego z dowolnego ip, byłoby to wręcz zaproszenie do hackowania. Jedyne co możesz zrobić, to poprosić administratora serwera 222.2.2.2 aby umożliwił logowanie się na użytkownika user z ip Twojego hosta (111.1.1.1), przy czym na pewno na to nie pójdzie. Poza tym jeśli mowa o łączu o dynamicznym ip, działałoby to tylko do momentu kolejnego zestawienia połączenia adsl, po którym otrzymałbyś nowe IP i z połączenia znowu byłyby nici.
Generalnie jeżeli ktoś daje Ci dostęp do bazy danych, daje też dostęp do klienta zainstalowanego bezpośrednio na serwerze z bazą danych (który zatem łączy się z localhosta, który ma uprawnienia do łączenia się). Jeżeli masz dostęp do shella tego serwera, to z shella zapewne nie byłoby problemu.
#3
Dzięki za odpowiedź...
Jeszcze nie przetestowałem, ale pewnie tak jest Smile

Krizz napisał(a):Poza tym jeśli mowa o łączu o dynamicznym ip, działałoby to tylko do momentu kolejnego zestawienia połączenia adsl, po którym otrzymałbyś nowe IP i z połączenia znowu byłyby nici.

Czy dałoby się to ugryźć w połączeniu z dyndns.com?

Mogę napisać prosty skrypt, który doda ip do białej listy, ale trzeba by go uruchamiać przed każdorazowym odpaleniem aplikacji. Bardziej interesuje mnie czy orientujesz się czy są już podobne rozwiązania ..może w samym mysql, może w apache`u ?
#4
hubertinio napisał(a):Czy dałoby się to ugryźć w połączeniu z dyndns.com?
Chyba to mało prawdopodobne: dyndns nie oferuje reverse DNS, przynajmniej nie w wersji darmowej, a z kolei podczas rozwiązywania nazwy DNS zwróci hosta tymczasowego nadanego z automatu przez ISP, jeżeli mowa o ADSL. Ja mam np.
nslookup mojanazwahosta.dyndns.org -> 79.162.xxx.xx
nslookup 79.162.xxx.xx -> public778xx.xdsl.centertel.pl
I ten adres będzie widział serwer MySQLa, zatem - nic z tego.

hubertinio napisał(a):Mogę napisać prosty skrypt, który doda ip do białej listy, ale trzeba by go uruchamiać przed każdorazowym odpaleniem aplikacji.
Gdzie ta biała lista miałaby być?

hubertinio napisał(a):Bardziej interesuje mnie czy orientujesz się czy są już podobne rozwiązania ..może w samym mysql, może w apache`u ?
Rozwiązania czego konkretnie?

Lepiej się zastanowić, jeśli zależy Ci na połączeniu zdalnym z serwerem MySQLa z np. domowego serwera Apache'a, nad innymi opcjami, zdecydowanie lepszymi - VPN lub tunel przez SSH. Tylko w tym przypadku musisz mieć możliwość zastosowania którejś z tych dwóch technik.

Możesz zdradzić, do czego Ci to potrzebne? Dlaczego sobie nie postawisz bazy w domu?
#5
Cytat:Gdzie ta biała lista miałaby być?
Dostęp z hostów (%) jest przechowywany w mysql w information_schema w tabeli Element ukryty. Rejestracja zajmie tylko minutę!

Cytat:Możesz zdradzić, do czego Ci to potrzebne? Dlaczego sobie nie postawisz bazy w domu?
Sprawa wygląda tak: na serwerze jest sklep - oscommerce.
Na xp (który jest serwerem w sieci) jest WFMAG i tej bazy nie można ruszyć, korzysta z niej kilka komputerów - klientów WFMAG.
Aplikacja - integrator - eksportuje z bazy WFMAGAa produkty do sklepu.
Będzie to obsługiwała osoba średnio znająca się na informatycznych niuansach, ma zaznaczyć produkty, kliknąć export i to wszystko, a ja nie chciałbym mieć ciągle zawracanej głowy :|
Właśnie ten integrator nie może się połączyć z bazą.

Można na xp zrobić tunel? Jakim softem, putty?
#6
hubertinio napisał(a):Dostęp z hostów (%) jest przechowywany w mysql w information_schema w tabeli Element ukryty. Rejestracja zajmie tylko minutę!
Nie nazwałbym tego białą listą, bo obok WL jest też zawsze BL, której w MySQLu nie ma. Nikt tego tak nie nazywa, stąd pytanie.
Robienie skryptu, który będzie dodawał Twoje ciągle zmieniające się IP do bazy jest raczej skrajna metodą na obejście problemu, wyjątkowo nieelegancką, choć skuteczną. Ale teraz pytanie: czy połączenie jest szyfrowane? Jeśli nie ma wykorzystania SSL pomiędzy klientem (integratorem) a bazą, to nawet jeśli połączysz się bezpośredni z bazą, bezpieczeństwo danych będzie poważnie zagrożone.

hubertinio napisał(a):Sprawa wygląda tak: na serwerze jest sklep - oscommerce.
Na xp (który jest serwerem w sieci) jest WFMAG i tej bazy nie można ruszyć, korzysta z niej kilka komputerów - klientów WFMAG.
Aplikacja - integrator - eksportuje z bazy WFMAGAa produkty do sklepu.
Będzie to obsługiwała osoba średnio znająca się na informatycznych niuansach, ma zaznaczyć produkty, kliknąć export i to wszystko, a ja nie chciałbym mieć ciągle zawracanej głowy :|
Właśnie ten integrator nie może się połączyć z bazą.
Dzięki, i już wszystko wiadomo.

hubertinio napisał(a):Można na xp zrobić tunel? Jakim softem, putty?
Dokładnie puttym. Jeżeli masz możliwość połączenia się z serwerem bazy danych na shella, możesz ustawić autostart putty'ego (a w zasadzie plinka), który będzie nawiązywał szyfrowane połączenie z serwerem bazy i utworzy tunel do bazy, a z integratora będziesz się łączył na localhosta. Wtedy nie trzeba się bawić w jakieś dyndnsy, nie ma problemów z dynamicznym IP. Jeszcze lepszym rozwiązaniem byłby OpenVPN, ale serwer tegoż by musiał stać na serwerze bazy danych.
Pytanie, czy masz dostęp do shella na zdalnym serwerze MySQLa?
#7
Krizz napisał(a):Nie nazwałbym tego białą listą
Przyznaje, poniosło mnie Smile

Krizz napisał(a):Ale teraz pytanie: czy połączenie jest szyfrowane?
Jeżeli odpowiada za to konfiguracja bazy to wszystkie zmienne związane z SSL (SHOW VARIABLES LIKE "%ssl%) są ustawione na DISABLED lub puste...

Krizz napisał(a):Pytanie, czy masz dostęp do shella na zdalnym serwerze MySQLa?
Niestety...

Czyli pozostaje wykupienie serwera wirtualnego lub dedyka?
Instalacja/kompilacja mysql z ssl, ustawienie tunelu w puttym i heja?
Tak, to by było zgodne ze sztuką.. Big Grin
#8
hubertinio napisał(a):Instalacja/kompilacja mysql z ssl, ustawienie tunelu w puttym i heja?
Jeśli łączysz się przez tunel, to szyfrowanie po stronie klienta/serwera bazy nie jest już potrzebne. Poza tym integrator, o którym mowa, musiałby wspierać szyfrowanie.

Tylko nie rozumiem jednej rzeczy - masz prawo logowania się na zdalnym serwerze do bazy, ale nie masz możliwości łączenia się w żaden inny sposób? Może pogadaj z adminem tego serwera, by założył Ci zwykłe konto użytkownika na serwerze bazy, bo chyba jest świadom tego, że potrzebujesz połączenia z bazą, którą on zarządza, czyż nie? O ile trudno oczekiwać, by postawił na Twoje potrzeby VPNa, ktory jest dosyć skomplikowany w konfiguracji, to założenie użytkownika bez uprawnień (nawet w chroot jailu, jeżeli obawia się o bezpieczeństwo swojego drogocennego serwera) nie jest żadnym problemem, a jest to zdecydowanie lepszy pomysł, niż otwieranie dostępu do bazy dla użytkownika user@'%'.
Poza tym pisałeś o skrypcie, który by grantował uprawnienia dla Twojego użytkownika z bieżącego IP - jak planowałeś to zrobić bez dostępu do shella?
  


Podobne wątki
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  Kurs i materiały dotyczące bazy danych Microsoft Access prezesprezes 2 438 03.10.2022 20:02
Ostatni post: Spartan
  Synchronizacja bazy danych Access na kilka komputerów vacu 3 702 28.09.2022 17:46
Ostatni post: Spartan
  Połaczenie ze zdalnym serwerem mysql mummle 12 1,129 19.03.2009 14:42
Ostatni post: Krizz
  Windows XP Usunięcie usługi MySQL z Windows po usunięciu serwerera została mi usługa w rejestrze Spider 9 4,755 01.12.2005 16:45
Ostatni post: Spider

Skocz do:


Użytkownicy przeglądający ten wątek:
1 gości