Biała lista IP dla kluczy API
Ptak
19 sie 2015
1 min read

Kluczowe Wnioski
Klucze API to potężne dane uwierzytelniające — jeśli zostaną skompromitowane, atakujący mogą wysyłać e-maile, kraść dane lub podszywać się pod Twoją markę.
Siłowe łamanie klucza szesnastkowego o długości 40 znaków jest praktycznie niemożliwe; prawdziwe zagrożenia wynikają z jego ujawnienia (ataki MITM, niepewne repozytoria kodu, ujawnione dane uwierzytelniające).
Zawsze używaj HTTPS i weryfikuj certyfikaty SSL, aby zapobiec przechwyceniu swoich kluczy API.
Biała lista adresów IP dodaje krytyczną warstwę ochrony, ograniczając użycie klucza do określonych adresów IP lub zakresów adresów IP.
Nawet jeśli atakujący ukradnie Twój klucz API, nie mogą go użyć, chyba że łączą się z zatwierdzonego IP.
Obsługa CIDR ułatwia autoryzację całych sieci bez wyliczania każdego serwera.
Unikaj osadzania kluczy API w kodzie — zamiast tego używaj zmiennych środowiskowych lub bezpiecznych rozwiązań do zarządzania tajemnicami.
Twórz wiele kluczy API o wąskim zakresie zamiast jednego klucza „zrób wszystko” — każdy z ograniczonymi uprawnieniami i własną białą listą.
Dla integracji zewnętrznych twórz dedykowane klucze z ograniczonymi uprawnieniami i ograniczonymi IP.
Włącz 2FA na swoim koncie, ponieważ klucze API mogą być tworzone tylko przez interfejs użytkownika.
Regularnie przeglądaj, rotuj i wycofuj klucze, aby utrzymać silne bezpieczeństwo operacyjne.
Q&A Highlights
Co to jest IP whitelisting?
To funkcja zabezpieczająca, która ogranicza użycie klucza API do określonych adresów IP lub zakresów adresów IP.
Dlaczego SparkPost/Bird używa kluczy API do uwierzytelniania?
Klucze API są proste, powszechnie stosowane i dobrze współpracują z REST APIs i SMTP.
Co się stanie, jeśli ktoś ukradnie mój klucz API?
Mogą wysyłać pocztę w Twoim imieniu, pobierać listy odbiorców, modyfikować szablony lub wysyłać phishing/spam, który szkodzi Twojej marce.
Czy klucze API mogą być brute-forced?
Praktycznie niemożliwe. 40-znakowy ciąg szesnastkowy ma ~1.46e48 kombinacji — brutalne wymuszanie trwałoby dłużej niż wiek wszechświata.
Więc jak zwykle atakujący uzyskują klucze API?
Ataki typu man-in-the-middle (jeśli SSL nie jest zweryfikowany), ujawnione klucze w publicznych repozytoriach GitHub lub logi przypadkowo ujawniające klucze.
Jak pomaga IP whitelisting?
Nawet jeśli atakujący ukradnie twój klucz, nie zadziała, chyba że łączą się z zatwierdzonego IP.
Czy mogę umieścić na białej liście całe sieci?
Tak, poprzez notację CIDR — idealną dla serwerów z równoważeniem obciążenia, VPN-ów lub statycznych zakresów biurowych.
Czy whitelisting dotyczy zarówno REST, jak i SMTP?
Tak, adres IP przychodzącego żądania musi pasować do Twojej białej listy.
Ile adresów IP lub zakresów mogę dodać do whitelisty?
Tyle, ile potrzebujesz — wiele pojedynczych IP lub bloków.
Czy powinienem używać jednego klucza API do wszystkiego?
Nie. Utwórz oddzielne klucze dla różnych systemów, zespołów lub dostawców. Poprawia to bezpieczeństwo i ułatwia rotację lub unieważnienie kluczy.
Gdzie powinienem przechowywać klucze API?
Używaj zmiennych środowiskowych — nigdy nie koduj kluczy na stałe w plikach źródłowych ani publicznych repozytoriach.
Jakieś dodatkowe praktyki zabezpieczeń?
Zawsze włącz 2FA na swoim koncie SparkPost/Bird i twórz dedykowane klucze dla stron trzecich z minimalnymi uprawnieniami i ich własnymi listami dozwolonych.



