49
Безопасность Joomla теория и практика Григорий Земсков, компания «Ревизиум» 04/08/2016

Безопасность Joomla: теория и практика

Embed Size (px)

Citation preview

Page 1: Безопасность Joomla: теория и практика

Безопасность Joomla теория и практика

Григорий Земсков, компания «Ревизиум»

04/08/2016

Page 2: Безопасность Joomla: теория и практика

[Не]безопасность Joomla

Page 3: Безопасность Joomla: теория и практика

Нужно ли защищать Joomla?— Суперпопулярная

— Опенсорсная

— Огромное число плагинов, часть из которых уязвимы

— CMS и плагины хорошо изучены хакерами, многие инструменты для взлома/заражения «заточены» под Joomla, Wordpress и Drupal

— Около 30% сайтов наших клиентов - на Joomla

Page 4: Безопасность Joomla: теория и практика

Специализированные «зловреды»

Page 5: Безопасность Joomla: теория и практика

Мифы и отговорки— “Мой сайт не интересен хакерам…”

— “Мой сайт не содержит уязвимостей…”

— “Зачем защищать, если есть бэкап?...”

— “Мои программисты уже все защитили…”

— “Я регулярно меняю пароли…”

— “Сайт нормально работал три года, никто не ломал…”

Page 6: Безопасность Joomla: теория и практика

- Хьюстон,у нас проблемы…

Page 7: Безопасность Joomla: теория и практика

Статистика Imperva Incapsula

7 m / 6

Page 8: Безопасность Joomla: теория и практика

Тренды 2015-2016— полная автоматизация разведки, взлома и эксплуатации

— активная эксплуатация публичных уязвимостей, 0-day

— динамические payload’ы

— активный спам и фишинг

— больше заражений в базе данных (инжекты напрямую без шеллов через уязвимости)

— обфусцированные шеллы и большое число бэкдоров

— сложные клиентские скрипты, обходящие детекты

— взломы для SEO: “японские” дорвеи

Page 9: Безопасность Joomla: теория и практика

После нецелевого взлома — рассылка спама

— атаки на другие ресурсы

— хостинг фишинговый страниц

— мобильные редиректы на тизерные и wap-click«партнерки»

— редиректы на сплойты

— спам-ссылки или дорвеи

Page 10: Безопасность Joomla: теория и практика

После целевого взлома — сайт уничтожен (бэкапы, домен, аккаунт хостинга, …)

— шпионаж

— раскрытие конфиденциальных данных, «слив» клиентской базы

— подмена информации на страницах и в базе

— «черное» SEO

— хулиганство

Page 11: Безопасность Joomla: теория и практика

Варианты взлома сайтов

Page 12: Безопасность Joomla: теория и практика

Веб-атаки на сайт

Page 13: Безопасность Joomla: теория и практика

Как атакуют сайты «Разведка», сбор информации:

— Поиск уязвимых скриптов

— Поиск системных, служебных файлов (бэкапы, конфиги), субдоменов

— Поиск ошибок на сайте

— Определение версий СMS, плагиновАтака:

— Брутфорс аккаунтов (админ-панели CMS, FTP, SSH, панели управления хостингом)

— Эксплуатация обнаруженных уязвимостей (Joomla < 3.4.7, уязвимости CVE-2015-7297, CVE-2015-7857, CVE-2015-7858)

15 m / 12

Page 14: Безопасность Joomla: теория и практика

Нецелевые атаки— начинаются, как только сайт появился в SERP

— идут постоянно

— выборка на основе GHDB

— два вида атак: «разведка» и эксплуатация уязвимостей

Page 15: Безопасность Joomla: теория и практика

Поиск уязвимых расширений

Page 16: Безопасность Joomla: теория и практика

Поиск уязвимых сайтов

Page 17: Безопасность Joomla: теория и практика

«Разведка»сайта на Joomla

Page 18: Безопасность Joomla: теория и практика

Атака сайта на Joomla

Page 19: Безопасность Joomla: теория и практика

Брутфорс «админки»

Page 20: Безопасность Joomla: теория и практика

Защита Joomla

22 m / 19

Page 21: Безопасность Joomla: теория и практика

Популярные векторы атак— Подбор пароля от «админки»

— Исполнение произвольного кода на сайте (RCE)

— Несанкционированная загрузка файлов (в т.ч. через «админку»)

— SQL инъекции («слив» базы, внедрение кода, внедрение админа)

— Кража/перехват пароля админа или сессионных ключей + несанкционированные операции (через XSS+XSRF)

Page 22: Безопасность Joomla: теория и практика

Комплексная безопасность

Технические средства

Организационные меры

+

Page 23: Безопасность Joomla: теория и практика

Типы проектов

Динамичные

vs

Статичные

Page 24: Безопасность Joomla: теория и практика

Технические средства

Page 25: Безопасность Joomla: теория и практика

Памятка по тех. средствам— Выбираем безопасное окружение, изолируем сайты

— Обновляем ОС, CMS и плагины

— Выполняем Server Hardening

— Активируем проактивную защиту (внутренний WAF)

— Выполняем CMS Hardening («цементирование»)

— Устанавливаем двухфакторную аутентификацию на все аккаунты

— Встаем под сервисы WAF и ANTI-DDOS сервисы

— Настраиваем грамотное резервное копирование

— Запускаем мониторинг (веб, файловой системы, бизнес-показателей)

Page 26: Безопасность Joomla: теория и практика

Безопасное окружение— Безопасный и надежный хостинг / сервер: отказоустойчивость, SLA, резервное копирование, динамика развития, встроенные средства защиты, меры безопасности.

— Техническая изоляция сайтов внутри аккаунта / сервера

— Безопасные настройки сервера и PHP

30 m / 24

Page 27: Безопасность Joomla: теория и практика

Server Hardening— Обновляем ядро, сервисы и ПО сервера

— Отключаем или удаляем все ненужные компоненты и сервисы

— Закрываем или меняем порты, ограничиваем исходящие/входящие подключения на нестандартных портах

— Настраиваем изолированную виртуальную среду для сервисов или сайтов (VM, docker, cagefs, chroot)

— Переходим на защищенные соединения (FTP -> SFTP, HTTP -> HTTPS)

— Устанавливаем сервисы, расширения безопасности (naxsi, mod_security, mod_evasive, suhosin, fail2ban, ids/ips систему…)

— меняем настройки логгирования, параметры аккаунтов, квоты

Page 28: Безопасность Joomla: теория и практика

Программное обеспечение— Обновление ядра CMS

— Обновление плагинов

Page 29: Безопасность Joomla: теория и практика

Аутентификация— Отключаем root по SSH

— Двухфакторная на панель хостинга/сервера

— fail2ban

— Защита от брутфорса: плагины jSecure, kSecure, Security Authentication, …

— «Спрятать» админку

Page 30: Безопасность Joomla: теория и практика

«Цементирование» сайта— Настраиваем безопасные права на файлы и каталоги

— Блокируем доступ к скриптам через веб в открытых на запись каталогах

— Закрываем доступ к «чувствительным» файлам

— Отключаем для сайта неиспользуемые системные функции (включая chmod)

— Отключаем perl/python/др. cgi

— Ограничиваем «свободы» (open_basedir, устанавливаем лимиты)

Page 31: Безопасность Joomla: теория и практика

Детали «цементирования»

37 m / 30

Page 32: Безопасность Joomla: теория и практика

Детали «цементирования»

Page 33: Безопасность Joomla: теория и практика

Проактивная защита ?

— RS Firewall

— Admin Tools

— jHackGuard

— Centrora Security (ex. OSE Anti-Hacker)

— Incapsula for Joomla

Page 34: Безопасность Joomla: теория и практика

HTTPS, CSP, и доп. защита

Page 35: Безопасность Joomla: теория и практика

Защита внешнего периметра ?

— Проксирование трафика (внешний WAF)

— Защита от DOS / DDOS

Page 36: Безопасность Joomla: теория и практика

Бэкапы— Вырабатываем стратегию резервного копирования: периодичность, интервал, количество, автоматизация

— Выбираем место для хранения (не на сервере)

— Проверяем резервные копии

Page 37: Безопасность Joomla: теория и практика

Мониторинг— Выбор показателей мониторинга: технические, бизнес-параметры

— Доступность и «200 OK» не гарантирует нормальную работу сайта

— Не забываем про сроки домена и SSL сертификата

— Диагностика на вирусы и взлом: файлы, база, страницы

Page 38: Безопасность Joomla: теория и практика

Если Joomla неуязвима— взломают сайт через соседний по аккаунту

— перехватят доступы через WI-FI в кафе, украдет троян на компьютере или в роутере, уведут через «фишинг» или взломанный email

— «сбрутят» пароль от FTP/SSH/панели хостинга

— внедрят вирусный код через phpmyadmin в базу данных

— сам веб-мастер установит зараженный компонент

— «рутанут» сервер VPS/хостинга

45 m / 37

Page 39: Безопасность Joomla: теория и практика

Организационные меры

Page 40: Безопасность Joomla: теория и практика

Памятка по орг. мерам— Делаем безопасным рабочее место

— Защищаем каналы передачи данных

— Управляем доступами к домену, сайту и хостингу

— Выбираем надежных подрядчиков, работа по договору

— Инструктируем сотрудников и подрядчиков

— Разрабатываем памятку безопасности и контролируем исполнение предписаний

— Выполняем регулярный аудит безопасности

Page 41: Безопасность Joomla: теория и практика

Безопасность рабочего места— Выбираем операционную систему

— Регулярно обновляем компоненты ОС (браузер, плагины браузера, софт для работы с сайтом)

— Устанавливаем антивирусное ПО

— Регулярно выполняем полную проверку антивирусом

— Используем менеджеры паролей

— Отдельный рабочий компьютер или терминал

— Устанавливаем мониторинговые (например, антифишинговые) расширения

Page 42: Безопасность Joomla: теория и практика

Защищаем свое подключение— Выбираем безопасное подключение (домашний роутер, 3G/LTE)

— Используем VPN для открытых сетей

Page 43: Безопасность Joomla: теория и практика

Управляем доступами— Регулярно меняем пароли от панели хостинга, FTP, SSH, админ-панели сайта, базы данных

— Устанавливаем сложные и разные пароли

— Включаем логгирование операций в панелях и логи сервисов

— Выдаем подрядчикам минимально необходимые доступы с минимальным сроком валидности

— Меняем / деактивируем доступы сразу после завершения работы

— Включаем двухфакторную аутентификацию, где возможно

— Используем SSH ключи для подключения

— Не используем FTP (используем SFTP, крайний случай FTPS)

Page 44: Безопасность Joomla: теория и практика

Беда от подрядчиков— Раскрывают доступы

— Небезопасное рабочее место

— Небезопасный сетевой канал

— Не учитывают элементы защиты на сайте

— Вносят новые уязвимости

— Размещают вредоносный код

— Оставляют инструменты для работы с БД, файловые менеджеры, чувствительные файлы на хостинге

— Объекты социальной инженерии

52 m / 43

Page 45: Безопасность Joomla: теория и практика

Сотрудникам и подрядчикам— Разрабатываем политику безопасности для сотрудников и подрядчиков в виде инструкции

— Знакомим подрядчиков с предписаниями и памяткой по безопасной работе с сайтом

— Проверяем выполнение предписаний

— Работаем по договору

Page 46: Безопасность Joomla: теория и практика

Аудит безопасности— Проводим аудит перед публичным анонсом проекта

— Выполняем регулярные проверки на вирусы, взлом в процессе работы

— Проводим аудит после работы подрядчиков

— Своими силами или привлекая ИБ специалистов

Page 47: Безопасность Joomla: теория и практика

Безопасность и комфорт— Безопасность - это ограничения и запреты

— Безопасность - это неудобно

— Задача - найти соотношение между безопасностью и удобством работы

— Автоматизация рутины, мониторинг, готовые предписания и безопасность как аутсорс

Page 48: Безопасность Joomla: теория и практика

Как делать диагностику— Сканирование файлов: https://revisium.com/ai/

— Сканирование страниц сайта: https://rescan.pro

— Проверка базы данных

Page 49: Безопасность Joomla: теория и практика

Спасибо! Вопросы?Григорий Земсков

Компания «Ревизиум»

http://revisium.com

http://vk.com/siteprotect

http://facebook.com/Revisium

http://twitter.com/revisium

Telegram - @sitesecurity

revisium.com/ai/

rescan.pro