Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Bezpieczny sposób przechowywania kluczy szyfrowania - PHP

Zakładam, że używasz Apache.

Umieść tajne dane w zmiennej środowiskowej w /etc/apache2/envvars , ustaw właściciela na root i uprawnienia na 400.

Atakujący będzie musiał włamać się na serwer, aby położyć ręce na twoim kluczu.

Możesz także ugotować skrypt, który poprosi o sekret, gdy uruchomi się Apache (irytujący, ale jeszcze bezpieczniejszy).

Pamiętaj, że osoby z dostępem root będą zawsze być w stanie zdobyć klucz, a próba ukrycia go przed nimi to tylko placebo.

Rozwiązanie placebo:

  • Ustaw swoją aplikację domyślnie w stanie bezczynności, dopóki nie Opublikujesz klucza na stronie HTTPS w tej samej aplikacji, zapisz klucz w zmiennej globalnej i kontynuuj swoją działalność. Musisz wziąć pod uwagę cykl życia procesu PHP (kiedy proces się kończy, musisz ponownie wysłać swój klucz).


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak mogę nadzorować mój serwer replikacji MySQL?

  2. Magento:SQLSTATE[23000]:Naruszenie ograniczenia integralności:1062 Zduplikowany wpis „100000001” dla klucza „UNQ_SALES_FLAT_ORDER_IN

  3. DATABASE() — pobierz aktualną nazwę bazy danych w MySQL

  4. mysql:Pobierz zapisy ostatniej rozmowy według użytkownika

  5. Przekazywanie zapytania MySQL przez Javascript