- PVSM.RU - https://www.pvsm.ru -
Привет!
Этим постом я хотел бы рассказать о своём Open-source проекте web-антивируса для сайтов САНТИ [1], о том, что уже получилось реализовать и какие планы на будущее. Но главная задача — получить фидбек, который послужит для дальнейшего развития.
Начну с лирики, так как она была в основе. Ежегодно взлому подвергаются миллионы сайтов, от сайтов визиток и развлекательных площадок до государственных интернет-порталов. Цель всех взломщиков одна — использовать посетителей сайтов и получить выгоду, использовать ресурсы взламываемых сайтов. Например, при взломе сайтов в них внедряются вирусы (эксплойты) посредством iframe вставок, которые заражают компьютер посетителя сайта, а затем вымогают деньги, либо крадут финансовую информацию жертвы и выводят деньги с их банковских счетов. От этих преступных действий страдают все — как посетитель, так и сайт, который был взломан. В результате действий “вредителей”, есть возможность потерять файлы и БД сайта, попасть под блокировку поисковых систем, а затем и блокировку настольными антивирусами, потерять драгоценный трафик и лицо компании.
Увы, при разработке сайтов многие web-разработчики не всегда проводят аудит безопасности кода, да и зачастую просто не хватает квалификации в этой области, а популярные же CMS находятся под пристальным вниманием взломщиков и результат – массовые взломы. Кроме уязвимостей самого сайта, зачастую происходят утечки доступов к серверам с файлами сайта. Что бы защитить свои сайты, владельцам необходимо нанимать специалистов по безопасности, программистов, администраторов и вести постоянный мониторинг целостности интернет-проекта и его защиты. Но позволить себе это могут единицы компаний, а миллионы сайтов на популярных CMS и их посетители остаются уязвимыми.
За последние 10 лет, работая в различных веб-студиях, я сталкивался с проблемами взломов сотен сайтов, это были как правило проекты без администрирования и обслуживания, сайты работающие под управлением всем известных CMSок. Необходимость создания системы для мониторинга целостности сайтов и их автоматической защите витала в воздухе уже давно, копились наработки и мысли, а в этом году я наконец решил реализовать этот инструмент.
Начиная работать над САНТИ, в основу были заложены несколько обязательных условий:
Получившаяся сегодня система удовлетворяет всем поставленным перед ней условиям и совершенствуется.
За три месяца с первой публикации САНТИ в интернете и презентации его на популярных форумах Рунета, САНТИ оброс интересным функционалом, был собрали неоценимый фидбек, на основе которого уже выпущена версия САНТИ 0.5.
Базовая часть системы – Автопилоты, это PHP скрипты автоматически срабатывающие по расписанию. Для легкости используется удаленный CRON сервер САНТИ – ВКЛ/ВЫКЛ и работает, но в настройках можно активировать локальный CRON и настроить запуск автопилотов вручную на своем CRON сервере, ссылки к автопилотам на виду.
Реализованы следующие автопилоты:
Автопилот проверки сайта по настольным антивирусам – регулярная проверка сайта на предмет обнаружения вредоносных вставок настольными антивирусами, такими как Касперский Антивирус, NOD, Avast и т.д., более 30 антивирусов. При обнаружении вредоносов предоставляется уведомление и отчет о том, какие файлы представляют угрозу и по мнению какого из антивирусов.

Раздел САНТИ “Вручную” – позволяет воспользоваться инструментами для проверки и лечения сайта в реальном времени, не дожидаясь срабатывания автопилота.
Утилиты – раздел САНТИ, которые включает в себя набор всевозможного инструментария для обеспечения безопасности сайта и помощи Вебмастеру, данный раздел постоянно пополняется новыми инструментами. Уже реализованные утилиты:

При первом входе в САНТИ пользователь проходит диалог настроек, который я постарался облегчить подсказками, валидаторами и пояснениями. В диалоге настраиваются все параметры уведомлений, здесь же можно зарегистрировать аккаунт на СМС шлюзе и включить эту функцию. По окончании настроек, САНТИ создает свой образ и снимок файлов для самозащиты, снимок файлов сайта для файлового автопилота, запускает самозащиту.
Интерфейс САНТИ требует авторизации, защищен от брутфорса ограничением на количество попыток входа. При входе в панель управления, САНТИ проверяет наличие новой версии антивируса и, при необходимости, оповещает пользователя, что требуется обновиться. При старте происходит загрузка RSS ленты новых событий антивируса.
Если подключен СМС сервис для уведомлений от автопилотов, то в интерфейсе отображается баланс аккаунта.
Под капотом: UI — CSS Bootstrap, адаптирован под планшеты, PHP + JS.
С целью облегчить и ускорить установку web-антивируса, я решил отказаться от использования MySQL, SQLite и остановился на старенькой библиотеке под названием PHP Flatfile package [4], все данные хранятся в текстовых файлах с TAB разделителями. За выбранный подход может быть можно и попинать, но пока в выборе не разочаровался.
В САНТИ внедрен он-лайн консультант, через который пользователь системы может обратиться к любому специалисту по безопасности из сообщества web-антивируса за консультацией.
Планов и идей для будущих релизов множество:
Список можно продолжать долго и он в будущем будет только расширяться.
Пока всё. Очень хотелось бы найти на Хабре единомышленников в области безопасности интернет-сайтов, разработчиков и милости просим в сообщество.
Будем рады любому фидбеку, ждём ваших комментариев и предложений. Спасибо! Скоро мы вернемся с новым постом.
Ссылки:
Сайт САНТИ – http://santivi.com [1]
Скачать САНТИ — http://santivi.com/skachat/ [6]
Демо предпоследней версии САНТИ – http://demo.santivi.com/santi/ [7]
Сообщество и поддержка – http://forum.santivi.com [8]
Автор: santi
Источник [9]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/informatsionnaya-bezopasnost/48901
Ссылки в тексте:
[1] САНТИ: http://santivi.com
[2] Sypex Dumper: http://sypex.net/ru/products/dumper/about
[3] SecurityLab: http://www.securitylab.ru/
[4] PHP Flatfile package: http://lukeplant.me.uk/resources/flatfile/
[5] хостинга: https://www.reg.ru/?rlink=reflink-717
[6] http://santivi.com/skachat/: http://santivi.com/skachat
[7] http://demo.santivi.com/santi/: http://demo.santivi.com/santi/
[8] http://forum.santivi.com: http://forum.santivi.com
[9] Источник: http://habrahabr.ru/post/202976/
Нажмите здесь для печати.