Мы привыкли к тому, что сложные вещи имеют сложные интерфейсы. Чем серьезнее инструмент, тем он труднее в освоении. Среди сервисов для веб-мастеров прослеживается та же тенденция: хочешь решить задачу — готовься пользоваться недружелюбным и уродливым софтом.

Но посмотрите на Apple. Стиву и всей их команде всегда удавалось упаковать сложнейшую начинку в простую и удобную форму. С их продуктами приятно работать и профессионалам и простым людям — они доступны всем.

Мы решили, что при разработке своих инструментов будем использовать такой же подход — будем создавать производительные решения, доступные и специалистам и обычным пользователям. Нам хотелось взять известный инструмент, к которому все привыкли, и переизобрести его на новом уровне. Сделать удобным и доступным то, что раньше было сложным и непонятным.

Сказано — сделано. Нам как раз необходим был фаервол, который бы защищал сайты наших пользователей после лечения. Вспоминая о Стиве мы решили, что главная задача нашего фаревола — просто хорошо работать и не досаждать пользователю. Нам же платят за сохраненное время и спокойствие, в конце концов!

Много функций, а кнопка только одна


К архитектуре Вирусдая подходил только фаервол, который ставился бы на каждый сайт. Данные о его работе мы хотели централизованно показывать пользователям в их панелях управления на сервисе. Управляться фаервол тоже должен из этой панели.

Тут возникает проблема. CMS много, а фаервол один. Нужно, чтобы он работал с популярными системами управления. Непонятно как ставить сам фаервол на сайт — не просить же об этом пользователей. Словом, много действий и сценариев, которые должны свестись к нажатию одной кнопки. Да, мы решили, что все, чего мы вправе просить у нашего пользователя — это нажать одну кнопку. Остальное должно происходить автоматически.

Где же сам фаервол


Мы написали фаервол, который ставится на CMS и фильтрует обращения к сайту. Он реагирует на попытки XSS и SQL инъекций, следит за частотой запросов, блокирует загрузку подозрительных файлов, анализирует поведенческие факторы и прочее.



Когда он считает очередной запрос вредоносным — блокирует доступ с данного IP на некоторое время (время блокировки он рассчитывает сам исходя из комплексной характеристики опасности обращения). В период блокировки при запросах с этого IP вместо страницы сайта выдается предупреждение о блокировке. Словом, фаервол работает так, как ему и положено.

Установка в один клик


Сначала мы решили проблему с установкой фаервола. У наших пользователей на сайтах есть файл синхронизации. Решено было использовать его для копирования фаервола на сайт пользователя и установки на CMS.

Все CMS разные и нам пришлось научить фаервол распознавать самые популярные из них. Теперь защита может быть установлена на Joomla, WordPress, Drupal, DLE, Bitrix, ModX, Yii framework, Opencart, NetCat, CS.Cart, AmiroCMS, HOSTCms, Magento и Made Simple.



Главной задачей было избавить человека от установки и настройки фаервола. Зачем тратить на это время, если все можно сделать автоматически. Мы оставили только одну кнопку, у которой есть два положения: “включено” и “выключено”.

В момент нажатия на кнопку (свитчер) происходит сразу множество действий: Вирусдай проверяет подключение к сайту пользователя, копирует файлы фаервола, распознает CMS, устанавливает на нее фаервол, проверяет успешность подключения и получает первые данные. Весь процесс занимает доли секунды и происходит за тот миг, пока свитчер переключается из положения “выключено” в положение “включено”. Это просто здорово.

Отображение данных




Для работы с фаерволом мы сделали отдельный инструмент в интерфейсе. Здесь показывается вся статистика его работы. И да, отсюда можно его включить и выключить. Все очень наглядно и понятно. Так, как мы и задумывали.

+100500 EXP


Так мы переизобрели фаервол для сайтов. Никто еще не давал своим пользователям такого инструмента, который дали мы. Будучи сложным софтом фаервол стал дружелюбным к людям. Он больше не требует ни установки, ни настройки, ни изучения. Он просто работает. Все, что нужно — просто нажать кнопку.

В первый же день запуска 90% пользователей включили фаервол на своих сайтах — это ли не показатель UX? У нас получилось дать людям именно то, что мы и хотели — спокойствие. Они стали меньше волноваться за безопасность своих сайтов. Реже заходить на сервис, чтобы вручную запустить процесс сканирования, который раньше могли запускать по несколько десятков раз в сутки,- хотя у них была включена автоматическая проверка.

Доступен новый уровень


Теперь мы могли с полной уверенностью сказать, что прошли первую стадию развития сервиса. Мы больше не оказываем услуги — теперь люди начали покупать у нас свое собственное время и спокойствие. Это стало главным нашим достижением за все время существования.

Для Вирусдая не может быть ничего ценнее, чем дать людям время и свободу для более интересных в жизни дел, чем лечение и защита их сайтов — в этом его предназначение.

Комментарии (12)


  1. Lsh
    07.07.2015 16:34
    +4

    Фу, какая реколамно-маркетоидная статья! Написали бы хоть, какие были сложности адаптации под разные CMS или отимизацию производительности, как там всё происходит за 0.4 сек. Хабр таки!


  1. nazarpc
    07.07.2015 17:20
    -3

    У Apple самые плохие средства разработки в браузере среди всех, что я видел


  1. ntfs1984
    07.07.2015 17:22
    +1

    Соглашусь с первым комментарием, и от себя добавлю, что после «Вундервафли», желание рекомендовать продукт кастомерам окончательно отпало.

    Несерьезная компания с шутливым подходом к вопросу целостности информации и кучей подводных камней. Эх…


    1. GEOgraf
      07.07.2015 17:33
      -1

      Если быть очень серьезным, то преждевнеменных морщин не избежать :)


      1. ntfs1984
        07.07.2015 19:03

        Если быть очень серьезным, то клиенты поймут что с вами можно иметь дело.


        1. tegArt
          07.07.2015 19:15
          -1

          Вы действительно полагаете, что по заголовку статьи можно делать выводы о степени серьезности подхода компании к вопросу целостности информации? Т.е. если кто-то напишет в заголовке «Мы серьезны как никогда», а речь будет идти о недавно нашумевшем вконтактовском «антивирусе» — ваше желание рекомендовать его тот час же повысится в разы, но прочитав слово «вундервафля» вы проникаетесь отвращением к сервису, который не испытывали на деле? Это как-то неправильно.


          1. ntfs1984
            07.07.2015 20:30
            -1

            Естественно можно. И нужно. Только не перекручивайте понятия, пожалуйста. Ничего антонимичного «вундервафле» писать не нужно. Нужно писать общепринятым языком, не больше и не меньше.

            Вашими словами, если кто-то напишет в заголовке «Высокопроизводительный антивирус с усовершенствованным эвристическим модулем», я как минимум зайду и почитаю. Если я увижу «вундервафлю», я пойму что статья шуточная, но на хабре я жду технические статьи, а за вундервафлями добро пожаловать на Лурк.

            Далее, если принятие решения об использовании продукта, зависит не от меня, а от другого человека, то как правило этот другой человек — директор. В лучшем случае он поржет с заголовка. В худшем спросит «Зачем ты мне дал ссылку на этот цирк?». Если директор — женщина, то она вообще способна вырвать пару букв с заголовка и спросит что за вафли ты мне тут советуешь.

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


            1. tegArt
              07.07.2015 21:18

              Без обид, но ваши утверждения отдают сильным снобизмом. Да, как выше выразился Lsh, статья получилась чересчур реколамно-маркетоидная. Я бы понял ваше недовольство и считал бы его обоснованным, было бы оно направлено в сторону чрезмерной рекламности, т.к. это никто не любит. Другой вариант — были бы вы недовольны, являясь нашим клиентом. Но вы же продолжаете гнуть свою линию и судить о серьезности сервиса по заголовку статьи, описывающей один инструмент сервиса.

              Касаемо директоров — во-первых, защитой своих сайтов и одобрением инструментария для этих целей директора самолично не занимаются (если речь не идет о небольшой компании). Во-вторых, допустим это происходит — вы реально думаете, что директор читает только заголовки и самый важный критерий это длина, важность и напыщенность этого самого заголовка? По-моему, у вас есть представление только о директорах советской закалки, «мне не важно что это, главное чтобы звучало и сверху знали, что мы люди серьезные». А уж если у вас директор спросит «что за вафли ты мне тут советуешь», задайте и себе вопрос о серьезности своего коллектива.


            1. GEOgraf
              07.07.2015 23:59
              -3

              Не будьте так серьезны и люди к вам потянутся :) позитива всем…


  1. NiPh
    07.07.2015 19:14
    -1

    На мой вкус — отличное решение для средних размеров фрилансеров.

    Тут тонкий момент такой…
    Если вы говорите заказчику, что поддержка и обновление стоят н рублей в месяц, даёте гарантию ежедневных бэкапов и обновлений — некоторые подозревают развод ><.
    Идеальный технически подкованный заказчик ставший другом это хорошо, но такое бывает не каждый день.
    А тут коробочный продукт, до какого-то уровня защита даже устаревшей CMS, визуальная ясность заказчику реальности угроз, понятные партнёрские/реферальные условия.

    Всем хорошо.


  1. MetaDone
    08.07.2015 12:08

    Это все круто конечно — простые интерфейсы и т.д., но хотелось бы больше технических подробностей
    Например, зависит ли работа файрволла от веб-сервера (apache, nginx, Cherokee,lighttpd) или же заточено под наиболее распространенные комбинации (apache + nginx к примеру)
    Не будет ли конфликтовать и как-то некорректно работать если установлены плагины к cms с таким-же функционалом? (например All In One WP Security & Firewall для WordPress)


    1. Bibainet Автор
      08.07.2015 13:45
      +2

      Нужно было сделать все одной кнопкой вкл/выкл, чтобы пользоваться этим можно было без особых знаний. Поэтому мы сделали так что фаервол независим от конфигурации сервера, наличия тех или иных модулей на нем и тд. Пришлось пойти по пути встраивания его в саму CMS, а не более глубже (что на многих, тем более шаред хостингах, с разной конфигурацией почти невозможно сделать в автоматическом режиме). CMS работает на PHP, и если она работает, значит фаервол на сайте тоже будет работать. Конечно такой подход не может дать уровень защиты, сравнимый с более основательными подходами к защите серверов, но простому пользователю он позволяет без всяких знаний или привлечения специалистов серьезно повысить уровень защищенности своего сайта. По поводу конфликтов с другими фаерволами. Наш фаервол устанавливается НЕ как плагин или расширение к CMS, он никак не использует API конкретной CMS. Во первых, он определяет CMS по наличию известных папок/файлов и их содержимого. Далее в один из файлов ядра, подключаемый при каждом запросе еще до его обработки, до подключения к базе и тд, жестко прописывает include своего основного скрипта. Этот скрипт в случае обнаружения подозрительной активности может полностью заблокировать любой запрос. Если этого не происходит, то он никак не влияет на дальнейшую его обработку скриптами CMS и другими средствами защиты, встроенными в нее в виде расширений.