Разберете кой какво прави в WordPress с WP Security Audit Log
В статията ще ви представим плъгина WP Security Audit Log, който създава подробни логове за потребителски действия в реално време в WordPress сайт и WordPress Multisite.
За разработчик на малък персонален сайт, без участие на допълнителни сътрудници за създаване на съдържание и за поддръжка на сайта, ползата от този тип помощна програма ще бъде минимална.
Но WordPress е платформа за сайтове с авторско съдържание, предоставящи достъп до десетки хиляди статии от стотици автори, както и достъп на десетки сътрудници (администратори, редактори). Това е средата, в която централизирания достъп до информацията и записването на действията в сайта има голяма стойност.
Обобщение на действията в WordPress сайт, които WP Security Audit Log регистрира:
- промяна на съдържание в страници, статии и коментари - заглавие, съдържание, URL, персонализирани полета, изображения, автор;
- промяна на тагове и категории;
- промяна в менюта;
- промяна в статуса на плъгин или тема;
- промяна на информация в потребителски профил - пароли, имейл, роля;
- промяна в структурата на базата данни (например добавяне или премахване на таблица);
- промяна в настройките на инсталирани плъгини;
- действия на потребители - log in/out, неуспешни логвания, прекратяване на сесии;
- промени в ядрото и настройките на WordPress;
За всяко събитие в WP Security Audit Log се записва още:
- дата и час (timestamp) на събитието;
- потребител и роля на потребителя, извършил промяната;
- IP адрес, от който е извършено действието;
Изглежда, че никакво събитие не може да се случи в WordPress и то да не бъде документирано от WP Security Audit Log. В тази статия ще проверим дали това е наистина така.
Първо създаваме нов WordPress блог, инсталираме безплатна тема от официалното хранилище https://wordpress.org/themes/ и импортираме тестово съдържание *https://codex.wordpress.org/ThemeUnitTest*.
Инсталираме и активираме безплатната версия на WP Security Audit Log по стандартния за WordPress начин в администрацията на сайта.
Програмата ни пита дали желаем да конфигурираме основните настройки и ние приемаме с натискането на бутона Yes:
Тези настройки може да бъдат променени и по-късно от панелите за настройки в самата програма. Потвърждаваме следването на стъпките за конфигуриране като кликаме бутона Start Configuring the Plugin, но може да прекъснем процеса с натискане на бутона Exit Wizard:
Тук избираме колко подробна да бъде регистрираната информация:
- Basic - предоставяне на основна информация без големи подробности;
- Geek - записване на всички събития в сайта;
Използваме ли различни начини за логване в WordPress сайта извън стандартния адрес за логване /wp-admin/:
Дали желаем да се записват всички заявки от нерегистрирани потребители, които генерират error 404 (грешен URL адрес)? Важно е да маркираме Yes поне поради две причини:
- при много заявки от един и същ сайт е възможно администратора на сайта да е публикувал грешен линк към наша страница и поради тази причина да губим посетители. Тази информация ще ни помогне да контактуваме с въпросния сайт за да бъде коригирана грешката.
- огромна част от атаките срещу сайта ще генерират error 404 и чрез регистрирането им ще бъдем информирани за тези атаки.
Дали е активирана опцията за свободно регистриране на посетители в сайта?
Колко време да се пазят записите в лога? В платената версия на програмата може да се запазват данните за по-дълъг период или да се съхраняват във външна база данни.
Дали сме съгласни потребители с роля в сайта, различна от администратор, да има достъп до логовете:
В този панел може да посочим за кои потребители, роли и IP адреси да не се записва информация. Полезна възможност да изключим записване на собствените си действия като въведем името на потребителя или IP адреса.
За да завършим конфигурирането на WP Security Audit Log кликаме бутона Finish:
В началната страница на WordPress администрацията Dashboard, Audit Log създаде панел с кратка информация за последните събития в сайта. Този панел може да се показва/скрива от Screen Options:
В главното меню в администрацията на WordPress се появява допълнителен линк с подменю Audit Log за управление на програмата:
В безплатната версия имаме достъп само до два линка с настройки - Enable/Disable Events и Settings:
Препоръчаме да прегледате внимателно настройките и да изключите онези, които не представляват интерес за вас. Например, само разделът Content & Comments съдържа 52 настройки.
Първият запис в панела Audit Log Viewer е за активиране на плъгина от администратора на сайта:
При натискане на иконата със символ три хоризонтални точки и етикет Alert Data Inspector се зарежда панел с техническа информация за записаното събитие:
Информация в панела Alert Data Inspector:
WP Security Audit Log следи и регистрира над 200 различни WordPress събития, свързани с публикуване и управление на съдържание, типове публикации, потребители, плъгини, теми, менюта, widgets, настройки на сайта, настройки и управление на WPMU (WordPress multisite) и популярни плъгини на трети страни като WooCommerce, BBPress, Yoast SEO, Advanced Custom Fields (ACF)...
Следвайки логиката на естествения начин на работа с WordPress сайт, ще направим промени в следните категории действия за да проверим дали и как WP Security Audit Log ще регистрира промените:
- Логване в администрацията на WordPress;
- Промени в настройките на сайта;
- Премахване и създаване на потребител;
- Промени в потребителски профил;
- Промени в теми, плъгини и джаджи (widgets);
- Промени в менюта;
- Промени в публикация;
- Промени в коментари;
- Регистриране на 'error 404' заявки;
Логване в администрацията на WordPress
Важно: Припомняме, че WP Security Audit Log само записва какво се случва в сайта - програмата не може да предприеме никакви допълнителни защитни действия и не трябва да се разглежда като защитен модул в WordPress.
Използваме за следващите тестове два браузъра, в единия сме логнати в администраторския акаунт, в другия - в акаунт на subscriber.
Всички успешни опити за влизане и излизане от администрацията се регистрират коректно с времето на действието, име и роля на потребителя, IP адреса и описание:
Направихме умишлено два опита за логване с коректно потребителско име, но грешна парола, и трети опит с правилната парола - трите действия бяха коректно регистрирани от Audit Log:
Направихме нов опит за логване с грешно потребителско име, който също беше регистриран и беше записано потребителското име, което използвахме:
WP Security Audit Log безпогрешно се справи с регистрирането на легитимни, грешни и съмнителни опити за логване в WordPress.
Промени в настройките на сайта
Само потребителите с администраторски права имат достъп до настройките на сайта в WordPress. През нашия администраторски акаунт променихме името на сайта (Site Title), форматирането на дата и време, типа на адресите (permalinks) и забранихме коментарите в публикациите.
Промяната на заглавието и форматирането не бяха регистрирани, но промяната на адресите и статуса на коментарите беше регистрирано коректно:
Премахване и създаване на потребител
Създадохме нов потребител през администраторския акаунт и действието беше коректно регистрирано с името на новия потребител и неговата роля. Изтрихме същият потребител - изтриването също беше регистрирано:
Промени в потребителски профил
Променихме ролята, публичното име, имейла и паролата на потребител - нека видим какво беше записано в Audit Log:
Абсолютно всяко действие е подробно записано, като се започне дори от влизането на администратора в профила на потребителя.
Промени в теми, плъгини и джаджи (widgets)
Инсталирахме и активирахме нова тема, деактивирахме един плъгин и променихме позицията на три джаджи (widgets) в страничната лента на сайта. Всяко действие беше коректно регистрирано в Audit Log:
Промени в менюта
Разменихме позициите на два линка в под меню - целият процес беше подробно записан в Audit Log:
Промени в публикация
През профила на редактора променихме заглавието на публикация, автора, добавихме нова категория, нов таг и ново изображение. Всички промени бяха подробно регистрирани. Добавяне и премахване на изображение се записва като Modified the content of the published post:
Промени в коментари
Създадохме нов коментар и го одобрихме през администрацията - действието беше коректно отразено - коя е статията, кой е коментара, кой колега кога го е одобрил:
Регистриране на '404 Error Pages' заявки
Регистрирането на заявките към несъществуващи страници в сайта е полезно защото ни посочва грешни външни линкове към наши страници или източници на атаки към сайта. Изпълнихме няколко заявки като администратор и като обикновен посетител - WP Security Audit Log записа коректно и двата вида заявки:
Много полезна е опцията да не се създава отделен запис за всяка грешна заявка, а само да се увеличава номера в съобщението - по този начин се спестява пространство. Освен това има настройка в Enable/Disable Events > Other User Activity > System, която ни позволява да въведем лимит на регистрираните 404 Error Pages заявки - по подразбиране стойността е 99.
Premium версия на WP Security Audit Log
Функциите мониторинг и създаване на лог са достъпни в безплатната версия на WP Security Audit Log. Premium версията предоставя достъп до допълнителни функции:
- Информация за посещенията на WordPress сайта в реално време;
- Прекратяване на потребителски сесии с едно кликане на мишката;
- Генериране на CSV и HTML репорти;
- Получаване на SMS и Email съобщения при възникване на определени събития в сайта;
- Търсене в Audit Log с помощта на филтри;
- Записване на информацията от Audit Log във външна база данни, за повишаване сигурността на WordPress сайтовете и за да отговаряте на всички регулаторни изисквания като PCI DSS съвместимост и GDPR;
- Интегриране на Audit Log с други услуги за управление (Slack, Papertrail, Syslog);
- И много други функции...
Заключение
Основната задача на WP Security Audit Log е да поддържа записи на всички системни и потребителски промени в WordPress сайт и нашите тестове доказаха, че програмата (дори безплатната версия) се справя отлично.