Wpis z mikrobloga

Serwis innego zespołu wystawia rest api które jest totalnie otwarte. Każdy postem może sobie strzelić. Niestety to api jest dość ciężkie bo generuje pdfa i request jest synchroniczny więc trwa to około 4 sek.
Chciałem żeby tamten zespół zrobił jakieś security ale pytają mnie że w sumie czemu. Wszystkie dane i pdf nie jest tajny.
Nie wiem czy maja zaimplementowane jakieś circuit breakery żeby ktoś nie ubił im aplikacji.
Jak ich przekonać, a może nie trzeba?

Jeśli przekonać to ma ktoś jakiś fajny artykuł po angielsku który by mówił że to jest źle?
#programowanie
  • 10
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@hipodrom: Ale jakiego security? Throttling, rate limiting oraz ddos protection to jest security, więc jak to mają to mają jakieś aspekty bezpieczeństwa wdrożone. Czy chodzi ci o uwierzytelnianie, autoryzację?
  • Odpowiedz
  • 0
@markaron: nigdy nie spotkałem się żeby tak ciężkiie api było otwarte na świat. Wydaje mi się że łatwiej by było trackowac kogoś kto musiałby mieć sso albo cokolwiek. Tak jakiś cross atak jest zrobić chyba dużo prościej
  • Odpowiedz
Najprościej to jakaś forma uwierzytelniania, najprościej to API key per klient i ustawienie limitu per klucz. Jak klient przekroczy limit transferu requestów na 1/5/10 minut na swoim kluczu to odrzucasz jego requesty. Poczytaj o implementacji Rate Limiting oraz Throttlingu to ci się rozjaśni.
  • Odpowiedz
@hipodrom: Nie wiem co jest a czego nie ma. Pytałeś jakie rozwiązania się stosuje to ci napisałem.
Zwykle rate limiting implementuje się per aplikacja czyli potrzebny jest jakiś klucz czy inne kredki do uwierzytelnienia i identyfikacji aplikacji. Mogą mieć taki limit włączony globalnie, co jest słabe bo wtedy jak się wykorzysta limit to nie działa nikomu ale będzie to jakąś formą zabezpieczenia.
  • Odpowiedz