| Termin | Definicja |
|---|---|
| Użytkownicy i role | Użytkownicy i role to podstawowy mechanizm kontroli dostępu w bazie danych. Konta, role i uprawnienia w silniku bazodanowymKontrola dostępu w bazie danych opiera się na rozdzieleniu dwóch pojęć. Użytkownik to tożsamość, która się loguje, rola to zbiór uprawnień, który można nadać wielu tożsamościom naraz. Uprawnienia przyznaje się poleceniem GRANT i odbiera przez REVOKE, a ich zakres schodzi od całego serwera przez bazę i schemat aż do pojedynczej tabeli, widoku, a nawet kolumny. Dzięki rolom nie trzeba pamiętać, co dokładnie wolno każdej osobie, bo wystarczy przypisać ją do właściwej grupy. Osobno istnieje pojęcie właściciela obiektu, który ma nad nim pełną władzę niezależnie od nadanych uprawnień, oraz ról wbudowanych o szerokich przywilejach administracyjnych. Rola aplikacyjna kontra rola człowiekaW praktyce firmowej najwięcej szkód robi jedno uproszczenie: program handlowy łączy się z bazą jednym kontem o pełnych uprawnieniach, a wszyscy pracownicy korzystają z tego samego połączenia. Baza widzi wtedy jednego użytkownika, więc nie da się ustalić, kto zmienił cenę albo skasował dokument, a uprawnienia stanowiskowe istnieją wyłącznie wewnątrz aplikacji i można je obejść, łącząc się z bazą dowolnym innym narzędziem. Poprawne podejście oddziela konto techniczne aplikacji, mające dostęp tylko do tego, czego naprawdę potrzebuje, od kont osobowych używanych do raportowania i pracy administracyjnej. Zasada minimalnych uprawnień oznacza, że konto do raportów powinno mieć wyłącznie prawo odczytu. Typowe błędy w konfiguracji dostępuPierwszy to hasło konta administracyjnego zapisane jawnie w pliku konfiguracyjnym aplikacji, dostępnym dla każdego na udziale sieciowym. Drugi to konta byłych pracowników, nigdy nieusunięte, bo nikt nie prowadzi ich rejestru. Trzeci to uprawnienia nadawane doraźnie pojedynczym osobom zamiast przez role, po latach nie do rozplątania. Czwarty to konto o pustym lub domyślnym haśle na serwerze wystawionym do internetu, co kończy się zaszyfrowaniem bazy przez napastnika. Zdarza się też odwrotny problem: uprawnienia odebrane zbyt szeroko, po których aplikacja przestaje działać z komunikatem o odmowie dostępu, choć użytkownik loguje się poprawnie. Bezpieczna konfiguracja baz programów handlowychWdrażamy i serwisujemy oprogramowanie handlowe, więc dostęp do baz porządkujemy przy okazji każdej instalacji: oddzielne konto dla aplikacji, imienne konta dla osób pracujących na raportach, hasła wyprowadzone z plików konfiguracyjnych i kopia zapasowa niezależna od serwera. Sprawdzamy również, czy port bazy nie jest wystawiony na zewnątrz, bo to najczęstsza droga ataków na małe firmy. |