Hasło w wp-config. Niebezpieczny?

10

Nie znam jeszcze dużo Wordpress i zastanawiam się:

Przed instalacją musisz podać poprawne dane, wp-config-sample.phpale obejmuje to również hasło do bazy danych. Czy to nie jest niebezpieczne? Mam na myśli, czy ktoś może wyjaśnić, w jaki sposób jest chroniony przed samym czytaniem pliku, a tym samym uzyskaniem hasła do bazy danych?

Bram Vanroy
źródło

Odpowiedzi:

14

Strona „Hartowanie WordPress” Kodeksu zawiera sekcję „Zabezpieczanie wp-config.php” . Obejmuje to zmianę uprawnień na 440 lub 400. Możesz także przenieść plik wp-config o jeden katalog w górę z katalogu głównego, jeśli konfiguracja serwera na to pozwala.

Oczywiście istnieje pewne niebezpieczeństwo posiadania pliku z takim hasłem, jeśli ktoś uzyska dostęp do twojego serwera, ale, szczerze mówiąc, w tym momencie jest już na twoim serwerze.

Wreszcie nie masz dużego wyboru. Nigdy nie widziałem alternatywnych sposobów konfiguracji WordPressa. Możesz zablokować go jak najwięcej, ale tak zbudowano WordPress, a gdyby to było poważne zagrożenie bezpieczeństwa, nie zrobiliby tego w ten sposób.

mrwweb
źródło
Dzięki za ten link! Widzę tam wiele środków bezpieczeństwa. Czy należy zastosować je wszystkie? A może nic z tego nie jest naprawdę konieczne?
Bram Vanroy
3
Nie wiem, czy można mieć zbyt wiele [dobrze wdrożonych] zabezpieczeń.
mrwweb
1
@mrwweb +1 za dobrze wdrożony *.
Richard
Czy nie można zastąpić inicjalizacji bazy danych, tworząc plik db.php i ustawiając tam $ wpdb? Spowodowałoby to pominięcie wartości konfiguracji hasła bazy danych.
Paul Keister,
9

Aby uzasadnić utrzymywanie pliku konfiguracyjnego o jeden poziom wyżej niż root (jak sugerował mrwweb): kilka miesięcy temu automatyczna aktualizacja naszego serwera produkcyjnego zabiła php, ale pozostawił działający apache. Tak więc wszystkim, którzy odwiedzili stronę główną, oferowano pobieranie index.php . Teoretycznie każdy, kto wiedział, że jest to witryna WordPress, mógł poprosić o wp-config.php i uzyskać go (gdyby był w katalogu głównym). Oczywiście mogliby korzystać z tych poświadczeń DB tylko wtedy, gdy zezwolilibyśmy na zdalne połączenia MySQL - ale nadal nie byłoby to fajne. Zdaję sobie sprawę, że jest to grzywka, ale tak łatwo jest ukryć konfigurację, dlaczego nie zrobić?

MathSmath
źródło
2

Jeśli ktoś nie ma dostępu przez FTP, nie musisz się tym martwić. PHP jest renderowane na serwerze, zanim trafi do przeglądarki użytkowników.

Szymon
źródło
2

Oto kolejna wskazówka: chroń wp-config.php (i wszelkie inne poufne pliki) za pomocą .htaccess

Dodaj następujące pliki do pliku .htaccess w katalogu witryny, w którym znajdują się wszystkie inne pliki WordPress:

<Files wp-config.php>
order allow,deny
deny from all
</Files>

od Jak zaostrzyć instalację WordPress

Nacięcie
źródło
0

Jeśli ktoś ma dostęp do odczytu zawartości twoich plików php, już zostałeś zhakowany.

Otto
źródło
1
lub konfiguracja serwera WWW została poważnie zakłócona do tego stopnia, że ​​serwery plików .php służyły jako tekst ;-)
KJH