Когда я в первые поставил свой wordpress в качестве блога который сейчас перед вами, я задумался о том как сделать так чтобы его не взломали, сначала я погуглил ответ на этот вопрос и наткнулся на кучу статей, в хабре и прочих блогах, как человеку который залил не одну сотню шеллов через wordpress мне от прочтения выданных статей стало просто смешно, поэтому ниже я написал по пунктам, что и как делать правильно.
1)Первое что делается при взломе wordpress’a это сканируются его плагины и темы на наличие уязвимых, поэтому для начала нужно закрыть директорию wp-content, для этого в папке wp-content создаем файл .htaccess с таким содержимым.
deny from all <FilesMatch ".(css|gif|png|jpg|jpeg|js|zip|rar|gzip|bmp)$"> order allow,deny allow from all </FilesMatch>
Данный код закроет доступ по данному каталогу для всего кроме css стилей, картинок, и архивов, если что-то еще понадобится то допишите разрешение.
PS: експлоитов под файлы что лежат в папке wp-include я не видел, но данный .htaccess файл можно положить и там.
2) Второе что нужно сделать это добавить htaccess авторизацию для админ панели для начала дописываем в файл .htaccess такое содержимое ( это для корня, чтобы закрыть файл wp-login.php)
<Files wp-login.php> AuthType Basic AuthName "Thats protected Area!" AuthUserFile /home/path/site.ru/.htpasswd/.htpasswd Require valid-user </Files> <Files .htpasswd> deny from all #запрет доступа из браузера к .htpasswd </Files>
и для папки wp-admin
AuthType Basic AuthName "Thats protected Area!" AuthUserFile /home/path/site.ru/.htpasswd/.htpasswd Require valid-user <Files .htpasswd> deny from all #запрет доступа из браузера к .htpasswd </Files>
далее не забудьте создать по указному вами пути файл .htpasswd, там логин лучше выдумать посложнее, например lalalhuynahuy, ни и пароль посложнее, главное чтобы он не совпадал ни с одним из других ваших паролей от чего либо.
Таким образом убьем 2ух зайцев, первый это брут админки, и второй самый важный, как правило уязвимости (конкретно sql) находят не на wordpress а на сайте который использует одну и туже базу данных что и wordpress, тогда зная хеш пароля, брутят его, спокойно входят в админку wordpress’a и заливают шелл, а в нашем случае, хакер обломается.
Кстати, вот вам еще хороший совет, для каждого сайта делаете отдельную БД)).
На этом всё.
555
comment