Blog

Bezpieczeństwo danych aplikacji webowej

W obecnych czasach informacja jest kluczowa. Dzięki jej posiadaniu możemy zarobić pieniądze, na przykład inwestując kapitał w odpowiednim momencie. Możemy pomóc drugiej osobie wiedząc, że tego potrzebuje. Niestety – są tacy ludzie, którzy informacje chcą wykorzystać w złym celu – przeciwko komuś, wykradając je, np. szantażując firmy upublicznieniem danych osobowych ich klientów. Jak prowadzić projekty, aby unikać takich sytuacji, jak chronić przed tym swoje biznesy?

Podstawowym aspektem, o którym chciałoby się powiedzieć, jest to, że w XXI wieku wszystkie firmy wiedzą, są świadome i stosują to rozwiązanie jest hashowanie haseł. Główną zaletą takiej praktyki, która przy pomocy algorytmu hashującego, przekształca hasło w jednoznaczną postać, jest nieodwracalność. Część osób nieobcująca z tymi zagadnieniami może zastanawiać się, w jaki sposób w trakcie próby logowania można sprawdzić czy hasło jest prawidłowe? Odpowiedź jest prosta. Utworzyć hash z podanego przy próbie logowania hasła, a następnie porównać hashe. Dzięki temu nie przetrzymujemy prawdziwego hasła w bazie danych i w przypadku ataku hakerskiego i wykradnięcia bazy danych, atakujący nie będą w stanie przeczytać hasła użytkownika i próbować się zalogować tym samym hasłem do innych systemów

No dobrze, a co w przypadku, gdy chcemy uniknąć również sytuacji, w której haker jest w stanie wykraść dane o użytkownikach, takie jak imię, nazwisko, adres email? Czy wobec takiego zagrożenia jesteśmy bezsilni? Otóż nie. Poza wprowadzaniem hashowania haseł naszych użytkowników możemy również w systemach pokusić się o szyfrowanie wrażliwych danych. Co oznacza to w praktyce? Zamiast przechowywać w bazie danych wrażliwe dane, możemy skorzystać z algorytmu szyfrowania, który przekształca dane w postać odwracalną, przy użyciu sekretu, jako klucza. Narzuca to na nas pewne ograniczenia, ponieważ nie jesteśmy w stanie w łatwy sposób filtrować danych zaszyfrowanych, lecz można wczytywać je do pamięci aplikacji i z jej poziomu wykonywać różnego rodzaju filtrowanie projekcję lub paginację naszych danych. Utrudni to pracę z danymi, jednak dzięki temu będą bezpieczne, co jest bardzo ważne.

Szyfrowanie i hashowanie danych to oczywiście nie jedyne formy zabezpieczania danych, ponieważ w systemach produkcyjnych powinno się stosować zabezpieczenia na poziomie sieci komputerowych, np. poprzez dopuszczanie do bazy danych ruch tylko z konkretnego adresu IP. Warto stosować więcej niż jedno zabezpieczenie, aby w sytuacji zagrożenia gdy jeden mechanizm zawiedzie, inny będziew dalszym ciągu strzegł dane.

Maciej Cebula

W celu świadczenia usług na najwyższym poziomie stosujemy pliki cookies, które będą zamieszczane w Państwa urządzeniu (komputerze, laptopie, smartfonie). W każdym momencie mogą Państwo dokonać zmiany ustawień Państwa przeglądarki internetowej i wyłączyć opcję zapisu plików cookies. Ze szczegółowymi informacjami dotyczącymi cookies na tej stronie można się zapoznać tutaj: polityka prywatności.