Przede mną ciekawy projekt gdzie są zapisywane ważne dane osobowe i finansowe.
Moje pytania. Może ktoś mi pomoże.
jak uchronić się przed utratą danych. Może jakiś zapis do 2 baz danych (na różnych serwerach)
jak szyfrować dane w bazie czy w ogóle to robić.
czy logowania login/hasło jest bezpieczne czy w tym przypadku lepiej zrobić dodatkowo kod z SMS
czy dobrym rozwiązaniem na “przypadkowe” usuwanie rekordów z bazy jest zablokowanie (DELETE) dla danego użytkownika
system dość spory myślę ze ilość rekordów w 10 tys. (wszystkie bardzo rozproszone po wielu tabelach) czy mysql jest dobrym rozwiązaniem czy lepiej postawić na postgresql
Przede wszystkim zapoznaj się z ustawą o ochronie danych osobowych.
Guglnij też za „hosting danych osobowych” – podpisz umowę z hostingodawcą i nie martw się punktem pierwszym.
Ad 2. W teorii możesz – jeśli są to dane po których nie wyszukujesz. Zapoznaj się z crypt_keeper i strongbox, ale najpierw zastanów się, czy naprawdę tego potrzebujesz.
Ad 3. Logowanie przez login i hasło może być wystarczająco bezpieczne (pamiętaj, że ogólnie bezpieczeństwo systemu jest równe bezpieczeństwu najsłabszego ogniwa, także sprawy takie jak force ssl, odpowiednio długie hasło to zupełne podstawy)
Ad 4. Wtedy nie będziesz mógł w ogóle usuwać rekordów z bazy. Dobrym rozwiązaniem na „przypadkowe” usuwanie rekordów jest dobry zestaw testów.
Ad 5. 10k rekordów to nie jest specjalnie dużo dla bazy danych. A postgresa polecam nie ze względu na to, że jest szybszy, tylko dlatego, że jest lepszy
PS. Nie chciałbym, aby to co teraz napiszę zabrzmiało jak jakaś spina, ale jeśli robisz serwis z wrażliwymi danymi, to najpierw zastanów się, czy czujesz się na siłach robić taki serwis – przy ewentualnym fuckupie płacz będzie większy niż gdy ktoś wykasuje/zrobi dumpa z komentarzami z bloga, plus Polskie prawo nakłada sporo obowiązków w przypadku gdy hostujesz dane osobowe.
@krzyzak właśnie zdaję sobie z tego sprawę. Hostingiem zajmie się ktoś inny ja tylko mam dostarczyć rozwiązanie.
Wszystko będzie stało na jakiś VPN. Więc, że ktoś się włamie i przejmie jakieś dane jest mało prawdopodobne.
Najbardziej się martwię tego, że gdzieś coś się nie zapiszę więc tutaj chyba będzie trzeba porządnie testować testować itp.
to na hostingodawcy leży problem robienia backupów. Zwsze możesz jeszcze zrobić wspomnianą wyżej replikacje bazy danych (aczkolwiek pamiętaj wtedy, że w zgłoszeniu do GIODO musisz uwzględnić wszystkie serwery, gdzie te dane będą przechowywane), przy czym nie wiem, czy w tym konkretnym przypadku jest to niezbędne.
tym bardziej zatem uważam, że testy, a nie odbieranie prawa do usuwania/edycji są odpowiedzią na Twój problem.
Ciekawy zapis zatem… Ale nie zmienia to faktu, że nawet 90 tysięcy rekordów nie jest specjalnym wyzwaniem – ale i tak postgres > wszystko
mam napisać app dla biura pożyczkowego. Zapisujemy Klientów, pożyczkobiorców wszystkie dokumenty dot. zarobków hipoteki itp… i masa innych do tego masa powiadomień, wyliczanie odsetek karnych, generowanie umów, wniosków, powiadomienia różnego typu. itp itd. myślę, że testy dla tak dużej ilości rzeczy to sporo czasu (dla mnie)
osobiście myślę, że to ok 600 godzin roboczych =/- np 30% obsuwy…
Ale wracając do tematu.
bazę już wybrałem postgresql
zastosuję replikacje + kopie robione przez hosting chodź z tym replikowaniem jeszcze nie wiem czy na 100% jest potrzeba.
szyfrowana partycja odpada
rzecz jasna SSL i długie generowane hasła również będą (pomyślałem, że hasła mogą się zmieniać co kilka dni ale nie wiem czy już za bardzo nie kombinuję)