Сигурност в Wordpress

Във Facebook колега сподели че е имал проблем с няколко кракнати сайта, базирани на блог платформата Wordpress. Последната считам за много лесна за инсталация и работа. Относно сигурността на последната - от чуждестранни сайтове можем да научим някои трикове, които да приложим и на нашия блог/сайт.

Сигурността на Wordpress блога може да бъде разделена на няколко нива:

Превантивни мерки

- създайте база данни със сигурна парола и частично ограничени права на потребителя

$ mysql -u root -p
mysql>create database 'myblog';
mysql>grant select, insert, delete, update, create, drop, alter on myblog.* to 'bloguser'@'localhost' identified by 'mypassword';
mysql>flush privileges;
mysql>exit;

- ползвайте префикс/суфикс различен от wp_ за таблиците на Уърдпрес - например wp_23jkl
а още по-добре name_number каквито Ви хрумнат

- променете потебителското име на администратора чрез PHP MyAdmin или команден ред от MySQL
$ mysql -u bloguser -p
Password: mypassword
mysql> use myblog;
mysql> update wp23jk1_users set user_login='myadm' where user_login='admin';
mysql>; exit;

Винаги можете да изтриете потребителя "admin" и да дадете административни права на друг потребител
с име различно от "admin". Не забравяйте да създадете такъв потребител преди изтриване на "admin".

- чрез използването на генератора за секретни ключове се създават произволни символи които осигуряват по-добро ниво на криптиране на информацията съхранявана в кукитата от Уърдпрес.

можете да генерирате ключовете тук и да ги поставите в конфигурационни файл на wordpress -
wp-config.php >> http://api.wordpress.org/secret-key/1.1/ , заменете ги с новогенерираните при необходимост

- скриване на папки до които посетителят не трябва да има пряк достъп за листинг;

това става чрез внасянето на следния ред в .htaccess файла в коренната папка на Уърдпрес

Options All -Indexes

- скриване текущата версия на Wordpress;

Следният низ се слага във фйала functions.php на темата която ползвате

<?php remove_action('wp_head', 'wp_generator'); ?>

В крайна сметка е добре Вие и Вашите клиенти да знаете че ползвате Уърдпрес.

Оторизиран достъп:

- създаване на .htaccess файл ограничаващ папката wp-admin за достъпване от определен IP адрес (и);

създайте файл .htaccess с посоченото съдържание и го качете в каталог wp-admin

Order Deny,Allow
Allow from ww.xx.yy.zz (заменете стойностите тук с Вашия IP адрес)
Deny from all

Можете да ползвате и разширена версия на файла с коментарии да сложите повече от един IP адрес
за достъп до wp-admin

AuthUserFile /dev/null

AuthGroupFile /dev/null

AuthName "Access Control"

AuthType Basic

order deny,allow

deny from all

# домашен IP адрес

# allow from xx.xx.xx.xx

# работен IP адрес

allow from XX.XXX.XXX.XX

Ако не знаете кой е Вашият публичен IP адрес можете да го проверите по всяко време на сайта

http://showip.net/

Можете да проверите дали Вашият файл ограничава достъпа по IP адрес използвайки Tor или Интернет прокси сървър, който да скрие реалния Ви IP адрес - като http://www.hidemyass.com

- създаване на .htaccess файл ограничаващ достъпа до папката wp-admin чрез изискване на оторизиран потребител и парола - създават се и чрез C.Panel (това не проработи при мен - получавах 404 съобщение);

- инсталиране на плъгин който блокира логин панела на Уърдпрес при опит за Brute force attack;
http://wordpress.org/extend/plugins/login-lockdown/installation/

- достъпване на панела за управление чрез SSL или инсталиране на Chap secure login.
http://www.redsend.org/chapsecurelogin/

разархивирайте локално или на сайта сваления плъгин и после го включете от таблото за управление на Уърдпрес, при автоматична инсталация може да не сработи.

Диагностика

С цел разбиране състоянието на сигурността нa нашия блог можем да тестваме с няколко приложения.

http://wordpress.org/extend/plugins/wp-security-scan/installation/ - сканира за пропуски в сигурността;

http://www.askapache.com/wordpress/htaccess-password-protect.html - тества възможностите на сървъра за създаване на .htaccess файлове и генерира такива при възможност.

Оптимизация

Ползвайте възможностите на .htaccess файла на сървъра Апач за оптимизиране на блога и повишаване нивото на сигурност.

http://www.catswhocode.com/blog/10-awesome-htaccess-hacks-for-wordpress

Регулярен архив на базата данни и дървото на сайта.

http://wordpress.org/extend/plugins/wp-db-backup/ или

http://lesterchan.net/portfolio/programming/php/ - wp-db-manager

Последното е интуитивно приложение което ще изисква да преместите htaccess.txt файл
в каталог backup-db и да го преименувате на .htaccess с цел повишаване на сигурността.

Архивирането на информация от Вашия сайт ще Ви спести главоболия в случаи че бъде поразен от злонамерена атака или технически срив. Конфигурурайте програмата за архивиране на базата данни да изпраща копие от архива на Ваш e-mail.

Обновяване на Wordpress и плъгините

Също така обновявайте core файловете на Wordpress с последната версия по възможност и ползваните от Вас плъгини.

Повече информация за повишаване сигурността на Вашия Wordpress блог/сайт можете да намерите на
адреси:

http://www.problogdesign.com/wordpress/11-best-ways-to-improve-wordpress...

http://maketecheasier.com/11-ways-to-secure-your-wordpress-blog/2008/08/12