Ogólne wskazówki dotyczące bezpieczeństwa w różnych środowiskach programistycznych

Na tej stronie opisujemy najważniejsze sprawdzone metody dotyczące bezpieczeństwa w różnych środowiskach, ale bardziej szczegółowe i wyczerpujące wskazówki dotyczące bezpieczeństwa i Firebase znajdziesz na liście kontrolnej zabezpieczeń.

Zabezpieczenia środowisk przedprodukcyjnych

Jedną z korzyści oddzielenia środowisk w różnych projektach w Firebase jest to, że nieuczciwy podmiot, który uzyska dostęp do środowisk przedprodukcyjnych, nie będzie mieć dostępu do danych użytkownika. Oto najważniejsze środki ostrożności, które należy podjąć w środowiskach przedprodukcyjnych:

  • Ogranicz dostęp do środowisk przedprodukcyjnych. W przypadku aplikacji mobilnych użyj App Distribution (lub podobnego tagu), aby rozpowszechnić aplikację wśród określonej grupy osób. Aplikacje internetowe trudniej jest ograniczyć. Rozważ skonfigurowanie funkcji blokującej w środowiskach przedprodukcyjnych, która ogranicza dostęp do użytkowników z adresami e-mail w Twojej domenie. Jeśli używasz Firebase Hosting, skonfiguruj przepływy pracy przedprodukcyjnej tak, aby korzystały z tymczasowych adresów URL podglądu.

  • Jeśli środowisko nie musi być trwałe i jest używane tylko przez jedną osobę (lub w przypadku testów przez 1 maszynę), użyj Firebase Local Emulator Suite. Te emulatory są bezpieczniejsze i szybsze, ponieważ mogą działać w całości na hoście lokalnym, zamiast korzystać z zasobów w chmurze.

  • Upewnij się, że masz skonfigurowany parametr Firebase Security Rules w środowiskach przedprodukcyjnych, tak jak w środowisku produkcyjnym. Ogólnie rzecz biorąc, parametr Security Rules powinien być taki sam we wszystkich środowiskach, z tym zastrzeżeniem, że ponieważ reguły zmieniają się wraz z kodem, w przypadku wcześniejszych etapów procesu mogą występować reguły, które nie istnieją jeszcze w środowisku produkcyjnym.

Bezpieczeństwo w środowiskach produkcyjnych

Dane produkcyjne są zawsze celem ataku, nawet jeśli aplikacja jest mało znana. Postępowanie zgodnie z tymi wytycznymi nie uniemożliwia nieuczciwym podmiotom uzyskania dostępu do Twoich danych, ale utrudnia im to:

  • Włącz i wymuś App Check we wszystkich używanych usługach, które ją obsługują. App Check zapewnia, że żądania do usług backendu pochodzą z autentycznych aplikacji. Aby z niej korzystać, musisz zarejestrować każdą wersję aplikacji w App Check. Łatwiej jest skonfigurować tę funkcję, zanim pojawią się użytkownicy, więc zrób to jak najszybciej.

  • Napisz solidny Firebase Security Rules. Realtime Database, Cloud FirestoreCloud Storage korzystają z Security Rules skonfigurowanych przez dewelopera, aby określać, kto powinien mieć dostęp do danych, a kto nie. Dobre Security Rules są niezbędne dla Twojego bezpieczeństwa. Jeśli nie wiesz, jak to zrobić, zacznij od tego codelabu.

  • Więcej rekomendacji dotyczących bezpieczeństwa w środowiskach produkcyjnych znajdziesz na liście kontrolnej zabezpieczeń.

Dalsze kroki