Zabezpieczenie API i pytania dotyczące bezpieczeństwa

0

Cześć, jak należy zabezpieczyć API wykonane w Lara tak aby było ... bezpieczne. Do autoryzacji użytkowników używam jwt ale czy to wystarczy?
Jak zabezpieczyć się przed rejestracją kilku kont z tego samego adresu IP (typowy spam). Przykład: podałem link na forum do oceny projektu a ktoś z jednego adresu IP w ciągu kilku minut dodał ponad 2k rekordów.

1

Ja osobiście tworzę swoje własne mechanizmy ochrony, począwszy od niskopoziomowych rzeczy jak limit ilości jednoczesnych połączeń do serwera z jednego IP (np. mechanizm wbudowany w serwer nginx, dyrektywa limit_conn_zone i inne), po wbudowanie w aplikację algorytmów statystycznych, lub prosty limit np. nie można założyć więcej niż 5 kont z jednego IP w ciągu miesiąca, etc.

0

Genialne, czyli ludzie za jednym routerem, walcie się, bo ja sprawdzam IP.

1
michalos25 napisał(a):

Cześć, jak należy zabezpieczyć API wykonane w Lara tak aby było ... bezpieczne. Do autoryzacji użytkowników używam jwt ale czy to wystarczy?
Jak zabezpieczyć się przed rejestracją kilku kont z tego samego adresu IP (typowy spam). Przykład: podałem link na forum do oceny projektu a ktoś z jednego adresu IP w ciągu kilku minut dodał ponad 2k rekordów.

Ograniczaj aktywność kont, a nie ich tworzenie. Chodźby nie wiem jaki super klientów napiszesz, i tak ziomek z 2000cami proxy zrobi Ci 2000 request'ów, so what's the point? Pozwól im zakładać konta, ewentualnie usuwaj po jakimś tam czasie braku aktywności, weryfikuj e-mail, + dodać ograniczenia na pojedyncze konta.

Ewentualnie wydawaj klucze api z ograniczeniami

2

Nie blokuj po IP. Ten co będzie chciał zrobić krzywdę to zmieni IP, wykona atak. Możesz natomiast komuś postronnemu blokować dostęp.
Do blokowania masz w Laravel midleware funkcje throtle()
https://www.google.com/amp/s/www.cloudways.com/blog/laravel-and-api-rate-limiting/amp/

1

Możesz dodać recaptche, albo jakieś sprawdzanie robotów przy rejestracji i logowaniu.

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