Skocz do zawartości
Zaloguj się, aby obserwować  
Pawlo

Zabezpieczenie bazy danych przed dostępem.

Polecane posty

Witam. Posiadam na serwerze Counter Strike plik sql, który jest konieczny do połączenia serwera (ściślej mówiąc Amxbans) z bazą danych. W tym pliku znajdują się wszystkie dane do bazy. Do ftp serwera mają dostęp również inne osoby i chciałbym zabezpieczyć bazę danych przed niepowołanym dostępem tych osób. I stąd moje pytanie, czy w ogóle da się coś takiego zrobić, a jeśli tak to w jaki sposób? Myślałem, może nad jakimś zabezpieczeniem samego pliku sql przed otwarciem, albo blokadzie przed otwarciem phpmyadmina, ale nie wiem czy coś takiego da radę zrobić. Proszę o pomoc.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Nie da się, jak ktoś ma dostęp do ftp z tymi samymi prawami co konto główne to żadne zabezpieczenia się nie pomogą, plik będzie mógł odczytać

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Słowo klucz, z tymi samymi prawami. Wystarczy, że utworzysz usera specjalnie dla serwera CS'a, następnie zmienisz chmody wszystkich plików na 600 zamiast standardowego 644, a foldery na 700 zamiast standardowego 755. Albo możesz to zrobić dla samej bazy jak sobie życzysz.

 

A pewnie już tak masz (w kwestii userów), tyle że myli Cię fakt, iż każdy standardowo może przeglądać wszystkie pliki, jako że domyślnie jest chmod 644.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Ah, może się wyraziłem niejasno do końca - serwer cs stoi na pukawce, i tam mam tylko dostęp do konta ftp, więc nie mogę stworzyć osobnego usera.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

A nie da się jakoś dać zabezpieczenia na phpmyadmin, coś pokroju .htacces? Tak żeby trzeba było podać jeszcze jedno hasło.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Nie, bo nie jesteś w stanie jako user zabrać komuś dostęp tak, żeby nie mógł go sobie przywrócić z konta tego samego usera.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Ale plik sql jest na serwerze cs, do którego dostęp ma kilka osób, i tam własnie rozumiem, że nie da tego rady zrobić. Natomiast bazę danych, mam na swoim dedyku, także mam pełen dostęp do niej.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

No to jaki problem? Jeśli jest to baza MySQL i chodzi Ci o phpmyadmina to wystarczy zrobić kilka baz danych i kilku userów - każdy ma wtedy dostęp do swojej.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Jeżeli chodzi Ci o dostępy przez phpmyadmin itd. to nadaj w bazie użytkownikowi uprawnienia do łączenia się tylko z IP, na którym stoi serwer gry. Masz wtedy 95% niepowołanego dostępu usunięte.

 

Te 5% to ktoś kumaty, kto napisze plugin, który połączy się z bazą i wyciągnie/zmieni co trzeba. Jednak myślę, że zauważysz jakieś pluginy extra.

Edytowano przez Misiek08 (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

No to jaki problem? Jeśli jest to baza MySQL i chodzi Ci o phpmyadmina to wystarczy zrobić kilka baz danych i kilku userów - każdy ma wtedy dostęp do swojej.

Własnie o to chodzi, ze baza może być tylko jedna na tym serwerze, bo jeden plugin z niej korzysta. I reszta osób nie potrzebuje w ogóle dostępu do tej bazy.

 

Jeżeli chodzi Ci o dostępy przez phpmyadmin itd. to nadaj w bazie użytkownikowi uprawnienia do łączenia się tylko z IP, na którym stoi serwer gry. Masz wtedy 95% niepowołanego dostępu usunięte.

 

Te 5% to ktoś kumaty, kto napisze plugin, który połączy się z bazą i wyciągnie/zmieni co trzeba. Jednak myślę, że zauważysz jakieś pluginy extra.

 

No tą opcję już próbowałem, jednak cały czas mogę się połączyć z bazą w mojego komputera, mimo że w uprawnieniach mam tylko localhost i IP serwera. Nie wiem może czy mówimy o tym samym, bo ja to robię w Direct Adminie, i tam mi się wydaje, że chodzi tylko o połączenia z poziomu serwera w tych ograniczeniach.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

phpmyadmin to dla MySQL też localhost, więc nie wytniesz tego tak prosto. Ewentualnie osobny użytkownik do bazy danych, który nie ma nawet localhosta. Wtedy tym z localhostem łączysz się w pma i na stronie, a 2 bez localhost to serwerowy.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

phpmyadmin to dla MySQL też localhost, więc nie wytniesz tego tak prosto. Ewentualnie osobny użytkownik do bazy danych, który nie ma nawet localhosta. Wtedy tym z localhostem łączysz się w pma i na stronie, a 2 bez localhost to serwerowy.

Hmm, myślę, ze to jest dobry pomysł, tylko jak utworzyć użytkownika bez dostepu localhosta? W directadminie nie da się niestety tego usunąć.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Nadal nie rozumiem po co grzebiecie w userze pma i serwerze mysql zamiast zrobić najzwyczajniej w świecie userów.

 

Mamy bazę danych nie wiem gra i bazę danych forum.

 

Do gra ma dostęp user rootgry, który nie ma żadnych praw globalnych, a tylko full prawa do bazy gra

Do forum ma dostęp user forum, który nie ma żadnych praw globalnych, a tylko full prawa do bazy gra.

Dodatkowo masz usera mistrz, który nie ma żadnych praw globalnych, a lokalny full dostęp do bazy danych gra i forum

Finalnie masz użytkownika root, który ma full dostęp i jest tylko dla Ciebie.

 

Czemu taka koncepcja (lub podobna, ta jest przykładowa) nie jest do zrealizowania?

 

 

Tak długo póki plik bazy jest na serwerze i nikt do niego dostępu nie ma (a tak jest raczej zawsze) to można bez problemu utworzyć wiele baz dla każdego usera.

Edytowano przez Archi (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

@Archi - chodzi o możliwość zablokowania logowania do bazy danych z innego niż x adresu IP. Kolega ma serwer gry, który się loguje do bazy, ale do hasła bazy danych wgląd ma kilka osób. Kolega chce uniknąć logowania się do bazy tych właśnie kilku osób, ale chce pozostawić możliwość logowania się serwerowi.

 

Napisz na PW, możliwe, że w PMA będzie to trzeba zrobić.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Najprościej zatem będzie to zrobić via user rootgry do bazy danych gra z dostępem wyłącznie localhost, a całą resztę z innymi userami już jak komu się podoba.

 

Nadal nie widzę problemu. PMA przecież już od dawna respektuje pochodzenie usera, czyż nie?

 

Jednak racja. No to rzeczywiście trzeba by było wyrzucić usera z localhosta. W DA nie wiem czy jest to możliwe, ale w PMA na pewno. Wtedy wystarczy, że serwer gry nie będzie się logował po 127.0.0.1, a po IP. No i wtedy trzeba też dopuścić to IP do allow w serwerze mysqla. Robi się straszny problem, który można by było rozwiązać po prostu zmieniając chmoda plików konfiguracyjnych na 600 i zabierając innym dostęp do tego samego konta.

Edytowano przez Archi (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

No rozumiem, jednak te drugie rozwiązanie jest zależne od zgody hostingu serwera (pukawki), bo nie mam tam dostępu do roota, tylko ftp, więc blokada z ftp nic nie da, bo i tak można będzie ją łatwo zdjąć.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Pozostają dla mnie 2 pytania: czy na pewno potrzebujesz dawać tym ludziom dostęp do plików gry? Czy masz bazę w osobnym hostingu, gdzie możesz zarządzać uprawnieniami użytkowników do bazy w PMA (np. oparty na DA i bez większych limitów).

 

@Pawlo - napisz do mnie na PW to sprawdzę jak to u Ciebie wygląda jeśli będziesz chciał.

Edytowano przez Misiek08 (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Pozostają dla mnie 2 pytania: czy na pewno potrzebujesz dawać tym ludziom dostęp do plików gry? Czy masz bazę w osobnym hostingu, gdzie możesz zarządzać uprawnieniami użytkowników do bazy w PMA (np. oparty na DA i bez większych limitów).

 

@Pawlo - napisz do mnie na PW to sprawdzę jak to u Ciebie wygląda jeśli będziesz chciał.

 

Hosting zgodził się na zablokowanie tych plików, także problem został rozwiązany. Dzięki wszystkim za pomoc.

Co do postu Miśka:

Tak, osoby te potrzebują tego dostępu. Bazę trzymam na sharedzie na unixie, także musiałbym ją przenieść na swój serwer. Co do PMA to masz na myśli PhpMyAdmin?

 

 

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Tak, phpmyadmin. Skoro dostęp wymagany (chociaż tutaj nie wierzę, że tak do końca jest wymagany), to ważne, że hosting rozwiązał to właśnie tym sposobem uprawnień.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się

Zaloguj się, aby obserwować  

×