Абсолютно все сайты и системы сталкиваются с попытками взломов. Предупрежден — значит вооружен. Поэтому специалисты Webit помогают клиентам выстроить защиту и вовремя обновить всю систему. Наш директор производственного департамента Иван Гринкевич решил поделиться некоторыми лайфхаками для защиты ПО и рассказать о самых распространенных уязвимостях.
В первую очередь атака совершается либо на сам сайт в общем, либо на встроенные в него модули. Пройдемся по порядку.
Если говорить про систему и сам сайт, то тот же Битрикс сам старается найти и закрыть бреши в безопасности. Поэтому достаточно вовремя обновлять программное обеспечение, чтобы иметь актуальную защиту. Битрикс организовал обновление так, чтобы его мог провести человек, далекий от разработки. Достаточно зайти в админ панель и нажать необходимую кнопку.
Недобросовестный разработчик может написать модуль, который якобы полезен для конечного клиента. Пользователь устанавливает себе модуль, ни о чем не подозревая, а потом оказывается, что он фоном отправляет данные злоумышленнику. По сути, в модуле находится вирус, а клиент ставит его добровольно. Можно ли кому-то пожаловаться? Скорее всего, только модераторам приложений.
На Битриксе такая история встречается реже, так как в его магазине более основательная модерация. Но она может иметь место, если клиент обращается к фрилансеру. Если с фрилансером договорились об условиях оплаты не на очень хороших условиях, то он может оставить shell — возможность либо авторизоваться под клиентом, либо ввести какой-то запрос на сайт, после чего выполняются заранее запланированные действия. Поэтому мы советуем аккуратно подходить к выбору подрядчиков, особенно к фрилансерам (но ни в коем случае не демонизируем их).
Часто эта уязвимость прослеживается в формах на сайте. Взломщики пишут SQL-код в поля формы, который при плохой обработке на сервере может открыть доступ к базе.
В фреймворке Битрикса запрещено обращаться к базе. Иногда, когда мы берем проекты на техподдержку, сталкиваемся со случаями, когда разработчики от этого принципа отходят. Они пишут свои коннекторы к базе, плохо их защищают, что приводит к появлению бреши в системе.
Для такого взлома должно быть соблюдено два условия: отправляемый файл не переименовывается на сервере и он отправляется туда, где к нему можно обратиться через строку браузера.
Злоумышленник прикрепляет PHP-файл со своим заданным именем. Затем отслеживает адрес, куда он направляется. Зная адрес, взломщик напрямую обращается к этому файлу через строку браузера. Код исполняется на сайте и ломает его работу.
Для того, чтобы защититься от подобного взлома, хватает просто переименовывать файлы, отправляемые на сервер.
За последние два года, кажется, что атаки на Битрикс стали обретать сезонный характер. Особенно это заметно по большому количеству атак летом. Скорее всего, это связано с тем, что весной-летом выкатывают свежие обновления. Взломщики видят опубликованные уязвимости и пытаются успеть сломать не обновившиеся сайты.
Самописные сайты защищают только по той причине, потому что злоумышленник не будет понимать, как устроена система сайта. Он не знает стандарты, папки и расположение всех файлов. Но самая большая ошибка самописных сайтов — это просто написать сайт и забыть о его поддержке. Многие забывают об обновлении серверного ПО.
CMS системы постоянно поддерживают, выпускают обновления и следят за этим. С самописным сайтом владелец остается один на один с этим решением и поддерживает его актуальность как может.
Наш дисклеймер: изначально выбор платформы не должен складываться только из критериев безопасности. Ни одна система не достаточно безопасна. Все можно взломать, это доказано взломом Пентагона. А Apple вообще готовы дать награду тому счастливчику, кто найдет уязвимости в их устройствах.
Уязвимость может возникнуть не только по вине наших разработчиков, но и после загрузки контента клиентом. Также могут выйти новые исправления безопасности ПО, которые могут вызвать баги в безопасности.
Наша задача — донести до клиента, что нужно обновлять свой сайт, иначе в безопасности будет дыра. В прошлом году мы продвигали тему обновлений очень напористо, так как многие сайты ломали по вине владельцев сайта. Они были слишком ригидными в плане изменений ПО.
Проверка сайтов на вирусы и контроль за безопасностью все равно не являются панацеей. В любой непонятной ситуации и при атаках стоит положиться на хороших разработчиков. Даже обновления стоит доверить программистам, так как они могут касаться основания проекта.