3. Нужно ли защищать Joomla?
— Суперпопулярная
— Опенсорсная
— Огромное число плагинов, часть из которых уязвимы
— CMS и плагины хорошо изучены хакерами, многие
инструменты для взлома/заражения «заточены» под
Joomla, Wordpress и Drupal
— Около 30% сайтов наших клиентов - на Joomla
5. Мифы и отговорки
— “Мой сайт не интересен хакерам…”
— “Мой сайт не содержит уязвимостей…”
— “Зачем защищать, если есть бэкап?...”
— “Мои программисты уже все защитили…”
— “Я регулярно меняю пароли…”
— “Сайт нормально работал три года, никто не
ломал…”
8. Тренды 2015-2016
— полная автоматизация разведки, взлома и эксплуатации
— активная эксплуатация публичных уязвимостей, 0-day
— динамические payload’ы
— активный спам и фишинг
— больше заражений в базе данных (инжекты напрямую без шеллов
через уязвимости)
— обфусцированные шеллы и большое число бэкдоров
— сложные клиентские скрипты, обходящие детекты
— взломы для SEO: “японские” дорвеи
9. После нецелевого взлома
— рассылка спама
— атаки на другие ресурсы
— хостинг фишинговый страниц
— мобильные редиректы на тизерные и wap-click«партнерки»
— редиректы на сплойты
— спам-ссылки или дорвеи
10. После целевого взлома
— сайт уничтожен (бэкапы, домен, аккаунт хостинга, …)
— шпионаж
— раскрытие конфиденциальных данных, «слив»
клиентской базы
— подмена информации на страницах и в базе
— «черное» SEO
— хулиганство
13. Как атакуют сайты
«Разведка», сбор информации:
— Поиск уязвимых скриптов
— Поиск системных, служебных файлов (бэкапы, конфиги), субдоменов
— Поиск ошибок на сайте
— Определение версий СMS, плагинов
Атака:
— Брутфорс аккаунтов (админ-панели CMS, FTP, SSH, панели
управления хостингом)
— Эксплуатация обнаруженных уязвимостей (Joomla < 3.4.7, уязвимости
CVE-2015-7297, CVE-2015-7857, CVE-2015-7858)
15 m / 12
14. Нецелевые атаки
— начинаются, как только сайт появился в SERP
— идут постоянно
— выборка на основе GHDB
— два вида атак: «разведка» и эксплуатация
уязвимостей
21. Популярные векторы атак
— Подбор пароля от «админки»
— Исполнение произвольного кода на сайте (RCE)
— Несанкционированная загрузка файлов (в т.ч. через
«админку»)
— SQL инъекции («слив» базы, внедрение кода, внедрение
админа)
— Кража/перехват пароля админа или сессионных ключей +
несанкционированные операции (через XSS+XSRF)
29. Аутентификация
— Отключаем root по SSH
— Двухфакторная на панель хостинга/сервера
— fail2ban
— Защита от брутфорса: плагины jSecure, kSecure,
Security Authentication, …
— «Спрятать» админку
30. «Цементирование» сайта
— Настраиваем безопасные права на файлы и каталоги
— Блокируем доступ к скриптам через веб в открытых на
запись каталогах
— Закрываем доступ к «чувствительным» файлам
— Отключаем для сайта неиспользуемые системные
функции (включая chmod)
— Отключаем perl/python/др. cgi
— Ограничиваем «свободы» (open_basedir, устанавливаем
лимиты)
36. Бэкапы
— Вырабатываем стратегию резервного копирования:
периодичность, интервал, количество, автоматизация
— Выбираем место для хранения (не на сервере)
— Проверяем резервные копии
37. Мониторинг
— Выбор показателей мониторинга: технические, бизнес-
параметры
— Доступность и «200 OK» не гарантирует нормальную
работу сайта
— Не забываем про сроки домена и SSL сертификата
— Диагностика на вирусы и взлом: файлы, база, страницы
38. Если Joomla неуязвима
— взломают сайт через соседний по аккаунту
— перехватят доступы через WI-FI в кафе, украдет троян
на компьютере или в роутере, уведут через «фишинг»
или взломанный email
— «сбрутят» пароль от FTP/SSH/панели хостинга
— внедрят вирусный код через phpmyadmin в базу данных
— сам веб-мастер установит зараженный компонент
— «рутанут» сервер VPS/хостинга
45 m / 37
40. Памятка по орг. мерам
— Делаем безопасным рабочее место
— Защищаем каналы передачи данных
— Управляем доступами к домену, сайту и хостингу
— Выбираем надежных подрядчиков, работа по договору
— Инструктируем сотрудников и подрядчиков
— Разрабатываем памятку безопасности и контролируем
исполнение предписаний
— Выполняем регулярный аудит безопасности
41. Безопасность рабочего места
— Выбираем операционную систему
— Регулярно обновляем компоненты ОС (браузер, плагины
браузера, софт для работы с сайтом)
— Устанавливаем антивирусное ПО
— Регулярно выполняем полную проверку антивирусом
— Используем менеджеры паролей
— Отдельный рабочий компьютер или терминал
— Устанавливаем мониторинговые (например, антифишинговые)
расширения
42. Защищаем свое подключение
— Выбираем безопасное подключение (домашний
роутер, 3G/LTE)
— Используем VPN для открытых сетей
43. Управляем доступами
— Регулярно меняем пароли от панели хостинга, FTP, SSH, админ-панели
сайта, базы данных
— Устанавливаем сложные и разные пароли
— Включаем логгирование операций в панелях и логи сервисов
— Выдаем подрядчикам минимально необходимые доступы с
минимальным сроком валидности
— Меняем / деактивируем доступы сразу после завершения работы
— Включаем двухфакторную аутентификацию, где возможно
— Используем SSH ключи для подключения
— Не используем FTP (используем SFTP, крайний случай FTPS)
44. Беда от подрядчиков
— Раскрывают доступы
— Небезопасное рабочее место
— Небезопасный сетевой канал
— Не учитывают элементы защиты на сайте
— Вносят новые уязвимости
— Размещают вредоносный код
— Оставляют инструменты для работы с БД, файловые менеджеры,
чувствительные файлы на хостинге
— Объекты социальной инженерии
52 m / 43
45. Сотрудникам и подрядчикам
— Разрабатываем политику безопасности для
сотрудников и подрядчиков в виде инструкции
— Знакомим подрядчиков с предписаниями и
памяткой по безопасной работе с сайтом
— Проверяем выполнение предписаний
— Работаем по договору
46. Аудит безопасности
— Проводим аудит перед публичным анонсом
проекта
— Выполняем регулярные проверки на вирусы,
взлом в процессе работы
— Проводим аудит после работы подрядчиков
— Своими силами или привлекая ИБ специалистов
47. Безопасность и комфорт
— Безопасность - это ограничения и запреты
— Безопасность - это неудобно
— Задача - найти соотношение между
безопасностью и удобством работы
— Автоматизация рутины, мониторинг, готовые
предписания и безопасность как аутсорс
48. Как делать диагностику
— Сканирование файлов: https://revisium.com/ai/
— Сканирование страниц сайта: https://rescan.pro
— Проверка базы данных
49. Спасибо! Вопросы?
Григорий Земсков
Компания «Ревизиум»
http://revisium.com
http://vk.com/siteprotect
http://facebook.com/Revisium
http://twitter.com/revisium
Telegram - @sitesecurity
revisium.com/ai/
rescan.pro