Bezpieczeństwo Aplikacji Webowych

Odpowiedz Nowy wątek
2020-03-20 08:05

Rejestracja: 1 rok temu

Ostatnio: 3 miesiące temu

0

Witam, z racji nadmiaru czasu wolnego podczas kwarantanny postanowiłem pogmerać trochę w temacie bezpieczeństwa aplikacji webowych. Na codzień pracuję jako Java + angular developer. Moje pytanie odnosi się do wskazówek jakie technologie, książki, szkolenia są warte uwagi w tym temacie. Lub nawet jakiś przykładowy projekt na repo. Znalazłem całkiem interesujący film na yt bazujący na Spring Security + JWT:
https://www.youtube.com/watch[...]55WmlKAXgdBFHFog5Jt-6NaEm9bRo
Chciałbym sobie napisać sam jakiś mikroservis do autentykacji użytkowników. W firmie działa to tak że z klienta (angular) podczas wejścia na apke pierwszy request jest wysyłany do dedykowanego firmowego serwisu (nie mam do niego dostępu, ani do kodu) gdzie po id użytkownika (załączane w headerze/cookie, zczytywane z maszyny, cała aplikacja jest dla pracowników banku) jest generowany token i zapisywany w przeglądarce. Każdy następny request przechodzi znowu przez ten serwis autentyfikacyjny, waliduje token, jeśli jest ok to (mogę się domyślać) puszcza request dalej, gdzie następnie (lub inny serwis - nazwijmy go API_Gateway) działa jak typowy filtr, obsługuje każdy request, dalej "wycina" część URL, dodaje firmowy prefix, dzięki czemu następuje przekierowanie do rzeczywistego backendu mojej apki (niemożna bezpośrednio odwołać się do backendu). Dalej to już autoryzacja do zasobów na poziomie backendu. Nie wiem czy takie podejście jest dobre (tj wspominałem kompletnie się na tym nie znam). Chciałbym napisać coś podobnego, lub po prostu coś poprawnego co jest przyjęte za wzór w ramach dzisiejszych standardów.

edytowany 1x, ostatnio: cerrato, 2020-03-20 08:46

Pozostało 580 znaków

2020-03-20 08:16

Rejestracja: 3 lata temu

Ostatnio: 1 godzina temu

Lokalizacja: U krasnoludów - pod górą

Dokształcenie:
Zacznij chybba od hasła OWASP.
https://owasp.org/

Pooglądaj kilka prezentacji od nich lub innych - tu kolega Marek opowiada :

)

materiałów jest dużo (to dobrze i źle -dużo dostępnych dużo do nauczenia).

Co do rozwiązania - to to co macie w firmach brzmi jak typowe rozwiązanie oparte o token (czasowy pewnie) - jest powszechnie używane.
Jest dość bezpieczne, o ile pozostałe elementy aplikacji są bezpieczne.

Wyszukaj OWASP Top ten i spróboj zrozumieć każdy z tych problemów (pamiętając, że poza tym są inne sposoby ataków (nie tylko dziesięć)). XSS, Injection to podstawa.
Ciekawe hasła: CSP.


jeden i pół terabajta powinno wystarczyć każdemu
edytowany 5x, ostatnio: jarekr000000, 2020-03-20 08:23
Wołam @Shalom, na wszelki wypadek. - jarekr000000 2020-03-20 08:25

Pozostało 580 znaków

2020-03-20 08:48
Moderator

Rejestracja: 16 lat temu

Ostatnio: 9 minut temu

1

Dobra ale jakie jest pytanie? :)

  1. Takie rozwiazanie oparte o JWT token jest dość popularne, szczególnie w dobie SPA, ale ma swoje minusy. Główny minus jest taki, ze wszystko musi lecieć przez JS. To znaczy że nie możesz zrobić jakiegoś bezpośredniego linka do zabezpieczonego zasobu, który użytkownik mógłby po prostu "kliknąć". Do takiego zastosowania lepiej sprawdza się klasyczne session cookie, bo w przeciwieństwie do tokenu, cookies są automatycznie wysyłane przez przeglądarkę. Możesz też mieć jakieś narzędzia które wspierają np. tylko basic-auth.
  2. Zrobienie czegoś takiego ze Spring Security jest w praktyce wyjątkowo proste, raptem kilka linijek.
  3. Jeśli chodzi o taki API-Gateway to też jest to raczej popularne rozwiązanie, raz bo działa jako reverse proxy a dwa jako load balancer. No i sprawia że frontend nie musi się martwić konfigurowaniem adresów wszystkich mikroserwisów, tylko zna ten jeden URL do ktorego zawsze uderza.
  4. Generalnie mały ma to związek z bezpieczeństwem, to jest raczej kontrola dostępu a nie bezpieczeństwo.

Masz problem? Pisz na forum, nie do mnie. Nie masz problemów? Kup komputer...
Generalnie materiały do nauki które są przydatne w tym temacie (aplikacje webowe, zarówno dla klientów wewnętrznych jak i zewnętrznych), na jakie aspekty zwracać uwagę, dobre praktyki, może jakieś szkolenia na które warto się udać no i technologie, które są na topie. Czy Spring Security + JWT to dobry trop. Czy warto przyjrzeć się czemuś jeszcze. - Mateusz Korga 2020-03-20 08:51

Pozostało 580 znaków

2020-03-20 16:33

Rejestracja: 2 lata temu

Ostatnio: 4 dni temu

Lokalizacja: Wrocław

1

Obowiązkowa książka od Sekuraka : "Bezpieczeństwo aplikacji webowych".
Co do API GateWay poczytać można dokumentację i bloga np. https://konghq.com/kong/
JWT? :) http://cryto.net/~joepie91/bl[...]/stop-using-jwt-for-sessions/
https://developer.okta.com/bl[...]y-jwts-suck-as-session-tokens

Pozostało 580 znaków

Odpowiedz

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0