Мы привыкли, что свой компьютер нужно защищать от всяких вредоносных программ. Антивирус стал привычным спутником при серфинге по сети, обязательным контроллером для флешек. А что насчет сайтов? Регулярно слышно, что где-то завелись вирусы, а кого-то и вовсе взломали. Как уберечь свой сайт?
Антивирус для сайта
Для сайтов тоже существуют антивирусы. Однако следует понимать, что сайт - не отдельный компьютер. Это часть компьютера (сервера), который доступен для просмотра сторонним людям и программам. Поэтому принципы работы и защиты данных здесь совершенно другие.
В условиях, когда клиент должен получить страницу за три секунды, совершенно недопустимо запускать проверку на каждом посещении. Их запускают периодически, согласно тарифу, если сайт размещен на хостинге, или по своему расписанию, если используется выделенный сервер.
Антивирусы для сайта можно поделить на две группы:
- Первые требуют установки и доступа к файловой системе. Они будут проверять все файлы сайта, кроме тех, что лежат отдельно. Например, шрифты от Google, скрипты Яндекс.Метрики. Такие антивирусы считаются самым надежным вариантом. У нас, кстати, есть именно такой в расширенной версии антивируса, стандартная устанавливается по умолчанию;
- Вторые работают снаружи. Они видят сайт так, как его видят пользователи. Очень просты в обращении и не требуют установки. Можно проверить сайт клиента или конкурента.
Резервная копия
Однако, как бы ни был хорош антивирус, он исправляет ситуацию постфактум, а не на лету. И если к вам залетел особо разрушительный вирус, или сайт взломали хитрые хакеры, самое время вспомнить про резервную копию.
Резервная копия, или по английски backup (в народе — бэкап) должна быть. Как правило, она состоит из архива всех файлов и выгрузки базы данных. Ее нужно создать перед вводом сайта в работу, и регулярно обновлять. Если блог с двумя статьями в неделю может обойтись одной копией в месяц, то для интернет-магазина может не хватить и ежедневных копий. Обязательно следует проверить, что вашими резервными копиями можно восстановить сайт. К сожалению, это не всегда так.
Идеально, если бэкап вашего сайта лежит в облаке или на домашнем компьютере. Даже если на ваш сервер упадет метеорит, вы сможете восстановить сайт и продолжить работу.
Кстати, на домашнем компьютере тоже должен быть установлен, включен и обновлен до последней версии антивирус. Таковы правила безопасности.
Основные правила безопасности сайта
Приведем краткую выжимку правил, которые позволят уберечь сайт от неприятностей в большинстве случаев:
1. Пароль
Для входа в админку должен использоваться сложный пароль. Он может быть достаточной длины, содержать большие и маленькие буквы, цифры и иногда символы. Пароль должен быть куда-то записан, но не лежать в открытом доступе. Простой пароль подбирается программами за несколько секунд. Сложный — повышает вероятность неверной записи. Стоит учесть эти риски.
Для работы на сайте наемному сотруднику (фрилансеру) можно завести отдельную учетную запись. И сменить пароль по окончании работ. Их вообще стоит периодически менять, поскольку на раскрытом пароле не написано, что он раскрыт.
Можно пойти дальше: ваша учетная запись может не называться admin, вход в админку отличаться от классического. В таком случае фрилансеру вместе с паролем высылается и правильный адрес. Не лишней будет капча.
2. Права
Права на доступ к файлам сайта должны быть такими, чтобы проблем не было только у сервера. Только веб-сервер должен иметь возможность изменить или переместить любой файл. Всем остальным такую свободу давать не следует.
Администратора, конечно, мы ничем ограничивать не будем. Для сайтов, которые работают под Linux, формула прав будет 644: доступ на изменение только владельцу, всем остальным только чтение. На исполнение права не нужны никому, никакой скрипт или программа запускаться пользователем не должны. Но есть исключение: на папки, по правилам файловой системы, должны выдаваться права на исполнение. Больше никаких 777, как много лет назад, такие разрешения должны насторожить вебмастера.
3. Доступ к файлам
Ограничить права доступа нам не достаточно. Некоторые файлы не должны быть прочитаны. Например, файл с настройками. Более того, никакому из пользователей не должен достаться ни один из php-файлов. Они нужны только веб-серверу. Для этой цели в файле .htaccess для Apache прописывается директива “deny from all”. Для других серверов прописываются свои правила, но суть остается той же: никому ничего не показываем.
4. Шифрование
Включите же наконец шифрование! Никакой хакер не должен перехватить подключение вашего посетителя и тем более программиста. Даже платный ssl-сертификат выйдет дешевле выведенного из строя магазина.
5. Источники
Источник, из которого вы берете программное обеспечение, должен быть надежным. Идеально, если это официальный сайт издателя. Допустимо, если это известный магазин. Но не стоит брать скрипты со случайных сайтов!
Очень часто нам приходится доверять исполнителям и их выбору. В том числе, использовать продукты, созданные ими для нас по заказу, например, темы или плагины. В таком случае имеет смысл получить второе мнение о работе специалиста.
6. Обновления
Для всех программ, модулей, плагинов и тем должны быть установлены обновления. Даже если все работает замечательно и стабильно. Если вы не нашли в программе уязвимость, ее могли найти хакеры. Или программисты издателя, пока этого не сделали хакеры. В условиях, когда лазейки на сайт перекрыты по всему периметру, им остается искать их в программном обеспечении.
Аналогично, имеет смысл переходить на новые версии платформ (например, PHP) и серверов. Если ваш сайт размещен на выделенном сервере, обновлением должен заниматься отдельный специалист. Он будет в курсе новостей этой сферы вместо вас.
Если вы будете соблюдать эти правила, то значительно снизите свои риски. И никакой случайный хакер уже не станет причиной расходов.