Введение.................................................................................................................. 5
1 Теоретические основы........................................................................................... 7
2 Основные виды CMS............................................................................................. 11
2.1 WordPress......................................................................................................... 12
2.2 Joomla............................................................................................................... 14
2.3 1С-Битрикс....................................................................................................... 16
2.4 OpenCart........................................................................................................... 19
2.5 CMS.S3............................................................................................................. 21
3 Проблемы безопасности современных CMS........................................................ 23
4 Сравнительный анализ существующих программных решений........................ 30
4.1 Antivirus Website Protection............................................................................ 31
4.2 Website Antivirus Scanner................................................................................ 33
4.3 VirusTotal......................................................................................................... 34
4.4 JoomScan.......................................................................................................... 38
5 Алгоритмическая реализация программного средства...................................... 41
6 Программная реализация программного средства............................................. 43
6.1 Средства разработки........................................................................................ 43
6.2 Структура программного средства................................................................. 47
6.3 Демонстрация работы программного средства............................................. 48 Заключение............................................................................................................. 53
Перечень использованных информационных ресурсов..................................... 54
Приложение А Техническое задание.................................................................. 57
Приложение Б Руководство системного программиста................................... 61
Приложение В Руководство программиста....................................................... 63
Приложение Г Руководство оператора.............................................................. 65
Приложение Д Листинг программы................................................................... 66
В настоящее время для управления структурой, контентом и дизайном сайтов часто применяются системы управления содержимым сайта – Content Management System (CMS). К CMS можно отнести универсальные системы для управления контентом, интернет-магазины, блоги, форумы, фото и видео-галереи и другие компоненты для управления содержимым сайта.
Такие системы позволяют разработчикам упростить программирование, дизайн, поддержку сайта и даже поручать работу с сайтом людям, незнакомым с программированием и веб-архитектурой.
В то же время, CMS, как и другие виды программного обеспечения (ПО), содержат уязвимости. В отличие от систем управления содержимым собственной разработки, если злоумышленники находят уязвимости в одной конкретной тиражируемой CMS – возникает угроза взлома всех систем этой версии. При этом, чем более распространённой является CMS и чем чаще она применяется на популярных сайтах, тем больше усилий и денег злоумышленники инвестируют в поиск её уязвимостей.
Кроме того, большинство современных CMS состоят из множества модулей, и многие уязвимости связаны с плагинами, которые обычно написаны и протестированы на безопасность хуже, чем основной код системы.
Используя уязвимости CMS, злоумышленники стараются извлечь для себя выгоду за счёт чужих сайтов и посетителей. Например, на страницах сайта может быть размещён код, который заражает компьютеры посетителей вредоносными программами. Также, на сайте со взломанной CMS могут без ведома разработчика публиковать контент сомнительного содержания или автоматически перенаправлять пользователей на другие ресурсы с вирусным содержимым. В результате, под угрозой безопасность не только файлов и данных сайта, но и его посетителей, в случае посещения подобных страниц.
Целью выпускной квалификационной работы является разработка модуля для дополнительной защиты сайтов, создаваемых на Joomla. Цель определила следующие задачи:
изучить теоретические основы систем управления содержимым;
рассмотреть основные виды систем управления содержимым и их возможные уязвимости;
рассмотреть основные методы дополнительной защиты сайтов;
провести сравнение аналогов;
разработать модуль для дополнительной защиты сайтов, создаваемых на Joomla.
Объектом выпускной квалификационной работы сайты, разрабатываемые на CMS Joomla.
Предметом данной работы является защита системы управления контентом CMS Joomla от вредоносного ПО.
В процессе исследования и разработки выпускной квалификационной работы были определены основные системы управления содержимым и их возможные уязвимости. Рассмотрены основные методы дополнительной защиты сайтов. Проведено сравнение аналогов, в результате которого был составлен перечень основных достоинств и недостатков каждого из аналогов. Рассмотрена алгоритмическая реализация программного средства.
Также был объяснён выбор программных средств разработки программы. Продемонстрирована работа функционала разрабатываемого программного средства.
Разработанное программное средство демонстрирует свою применимость в рамках эффективной реализации сканирования файлов сайта. Разработанное программное средство представлено в виде интегрируемого в систему управления содержимым CMS Joomla расширением, которую, после успешной интеграции, можно использовать лишь по нажатию на кнопку в административной панели системы.
Поставленная цель была достигнута, модуль для дополнительной защиты сайтов, создаваемых на Joomla, был разработан.
Для достижения цели работы были выполнены следующие задачи:
- изучены теоретические основы системы управления содержимым;
- рассмотрены основные виды систем управления содержимым и их возможные уязвимости;
- рассмотрены основные методы защиты сайтов;
- проведено сравнение аналогов разработки;
разработан модуль для дополнительной защиты сайтов, создаваемых на Joomla.