Gdzie bezpiecznie przechowywać klucze API i hasła w WordPress?

11

Chcę użyć kilku interfejsów API, a wiele z nich zawiera klucze, tajne klucze i hasła wymagane do działania. Gdzie w WordPress można przechowywać te informacje? Zakładając, że każdy może zhakować twoją bazę danych, czy mimo to WordPress może zabezpieczyć zapisywanie tych informacji? Zastanów się także nad możliwością częstej zmiany tych kluczy, dlatego musiałbym zaktualizować klucze na stronie opcji.

AKTUALIZACJA

jgraup
źródło

Odpowiedzi:

9

Nie ma absolutnie bezpiecznego sposobu na trwałe przechowywanie takich informacji.
Masz dwie opcje, aby nieco zwiększyć bezpieczeństwo:

  1. Skorzystaj z tabeli opcji i zaszyfruj dane

    Użyj silnej metody szyfrowania i powiąż ją z:

    • twoje hasło, gdy chcesz korzystać z wywołania API tylko wtedy, gdy jesteś zalogowany, lub
    • tajny klucz przechowywany w twoim wp-config.php- wtedy atakujący potrzebuje zarówno kodu PHP, jak i bazy danych
  2. Przechowuj informacje dostępowe poza WordPress

    Jeśli używasz systemu do automatycznego wdrażania, na przykład opartego na Composer i wpstarter , prawdopodobnie masz jakiś serwer wdrażania, taki jak Envoyer, który tworzy plik z ważnymi zmiennymi konfiguracyjnymi, który jest przechowywany poza katalogiem głównym serwera lokacji .
    Następnie możesz użyć backendu serwera wdrażania zamiast backendu WordPress, aby zmienić te dane.

Obie opcje nie są całkowicie bezpieczne. Nadal musisz monitorować faktyczne użycie interfejsu API, aby wykryć niezamierzone działania. Upewnij się, że istnieje dziennik, który nie może zostać naruszony przez osobę z pełnym dostępem do Twojej witryny.

fuxia
źródło
Czy istnieje sposób zintegrowania czegoś takiego jak Azure Key Vault z WP?
PoorInRichfield
4

Odpowiedź brzmi nie. Jeśli twoja baza danych może być szpiegowana, prawdopodobnie twój kod również może być dobry, więc nawet jeśli szyfrujesz dane, można je odszyfrować.

Jeśli zamierzasz przechowywać poufne dane, nie ma rozwiązania niskiego poziomu, które by ci w tym pomogło, a po prostu musisz zabezpieczyć całą aplikację, aby kwestia przechowywania była nieistotna.

W rzeczywistości natknąłem się na wymóg szyfrowania danych, więc jeśli zabezpieczenia aplikacji zostaną naruszone, a ty uzyskasz dostęp tylko do bazy danych, nie możesz z nich korzystać, ale w rzeczywistości istnieje większe prawdopodobieństwo, że zostaniesz zhakowany na poziomie wordpress niż na poziomie bazy danych .

Mark Kaplun
źródło