SHIFT >_CODE
← Magazyn

Podstawy bezpieczeństwa aplikacji webowych, które powinien znać każdy właściciel

Nie trzeba być specjalistą od bezpieczeństwa, by zadawać właściwe pytania. Najważniejsze zasady, które chronią stronę lub aplikację webową i dane jej użytkowników.

Większość incydentów bezpieczeństwa w małych i średnich projektach nie wynika z wyrafinowanych ataków, lecz z prostych luk: zapomnianego konta administratora, nieaktualnej wtyczki, przypadkowo opublikowanego klucza. Znajomość podstaw pomaga właścicielowi zadawać właściwe pytania i sprawdzać, czy padły na nie odpowiedzi.

Dostęp sprawdzany jest na serwerze

Ukrycie przycisku w interfejsie niczego nie chroni. Każda akcja - przeglądanie, zmiana, usuwanie danych - musi być sprawdzana na serwerze: kim jest użytkownik i czy ma do tego prawo? W systemach z bazą danych reguły dostępu na poziomie danych dodają kolejną warstwę ochrony, tak by nawet błąd w kodzie nie ujawnił cudzych danych.

Z hasłami i sekretami obchodzi się ostrożnie

Hasła użytkowników nigdy nie są przechowywane w czytelnej postaci; sprawdzone usługi i biblioteki uwierzytelniania robią to prawidłowo. Klucze API, hasła do bazy danych i tokeny znajdują się w chronionej konfiguracji na serwerze - nigdy w kodzie trafiającym do przeglądarki ani we wspólnych dokumentach czy czatach. Administratorzy używają silnych, unikalnych haseł i, gdzie to możliwe, uwierzytelniania dwuskładnikowego.

Wszystko jest aktualizowane

Frameworki, biblioteki, wtyczki i system operacyjny serwera regularnie otrzymują poprawki bezpieczeństwa. Projekt, który nie był aktualizowany od roku, najpewniej zawiera znane podatności. Planuj regularne aktualizacje w ramach utrzymania, a nie jako działanie awaryjne.

Dane są szyfrowane w transmisji

Cała strona działa przez HTTPS, więc danych między użytkownikiem a serwerem nie da się po drodze odczytać ani podmienić. Ciasteczka sesyjne są oznaczone jako bezpieczne i niedostępne dla skryptów. Poufne pliki nie leżą w publicznie dostępnych katalogach.

Danym wejściowym się nie ufa

Wszystko, co przychodzi z zewnątrz - formularze, przesyłane pliki, parametry w linkach, wiadomości z systemów partnerów - jest weryfikowane na serwerze. Limity rozmiaru i typu przesyłanych plików oraz ochrona formularzy przed automatycznym spamem zapobiegają wielu typowym problemom.

Problemy są widoczne

Logi ważnych działań, alerty o powtarzających się nieudanych logowaniach i regularne sprawdzanie, kto ma uprawnienia administratora, pozwalają wcześnie zauważyć problem. Razem z przetestowanymi kopiami zapasowymi zamieniają potencjalną katastrofę w opanowany incydent.

W skrócie

Sprawdzaj dostęp na serwerze, chroń hasła i sekrety, aktualizuj oprogramowanie, używaj HTTPS wszędzie, weryfikuj wszystkie dane wejściowe i obserwuj logi. Te podstawy zapobiegają większości rzeczywistych incydentów.