БЛОГ


НЕСКОЛЬКО ПРОСТЫХ ШАГОВ ПО ЗАЩИТЕ JOOMLA

В последнее время, к сожалению, все больше сайтов на Joomla оказываются взломанными. Некоторые сразу кинулись ругать CMS, хотя система вполне надежна, и с ней работают крупные компании, как например, Липтон (сайт http://www.liptonicetea.com) или РАНХиГС, и ничего, признаков взлома не наблюдается.

Если посмотреть на отчеты компаний, специализирующихся на информационной безопасности, то можно увидеть, что Joomla не является лидером по количеству взломов, но на территории бывшей СССР ситуация прямо противоположна.

На мой взгляд, все началось несколько лет назад, когда сеть заполонили уроки – «как стать Великим Вебмастером за три клика». Уроки, возможно, приносили какую-то пользу, но хотелось высокого уровня, а для верстки знаний «куда кликать» не хватало. Тогда же в сети появились варезные сайты, где можно было скачать «квикстарт» и в течение нескольких секунд развернуть полную копию демоверсии сайта. Оставалось заменить материалы и изображения сайта на свои, и вуаля - готовый к употреблению продукт.

fa8c796e449e7a9170773ddc1ddf3d81.gif

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

Как же получается так, что у кого-то Joomla работает со дня запуска сайта, а кто-то сталкивается с проблемами через неделю?

Не используйте «варезных» шаблонов или расширений

У всех студий есть бесплатные шаблоны, а бесплатные от платных, как правило, отличаются менее эффектным демоконтентом, для более привлекательного вида. При начальных навыках в CSS и HTML бесплатный шаблон можно кастомизировать под свои требования. Если платный шаблон все же очень хочется, то проще купить его у разработчика, стоят, как правило, шаблоны (с квик стартом и расширениями) от 25 до 45 долларов, что даже дешевле верстки шаблона на заказ. Кроме того, студии регулярно устраивают распродажи, и тогда шаблоны можно купить с 30 или даже 50% скидкой.

Компоненты, плагины, модули. Даже если Вы скачаете 100% чистые расширения, а завтра в них найдут уязвимость, то, что Вы будете делать?

Всегда «обновляетесь»

По статистике sitesecure.ru, самую последнюю версию Joomla использовали только 3% сайтов.

6ab6245ec3b2bfc7dd3f7bd8ff4f0edd.gif

Не буду говорить простых истин, раз выпускают обновления, то выпускают их не просто так. Сейчас на главной странице админ панели выводится предупреждение о необходимости обновления дополнений и самой CMS, но поверьте, «древние» версии можно встретить в трети установок. Я, конечно, понимаю, что не все каждый день заходят в админ панель, кто-то вносит правки с лицевой стороны сайта, а кто-то заказал сайт и вообще не заходит в админ панель, по принципу – работает же, ну и ладно.

Если нет необходимости в каждодневной правке сайта, можно подписаться на рассылку на Joomla.org, и тогда извещение об обновлении будет приходить на почту, с расширениями, конечно, сложнее, но это лучше, чем ничего.

Иногда обновления не применяют из-за боязни, вдруг слетит. Тут боятся нечего, на хостинге хранятся копии за последние несколько дней, и в случае неудачи всегда можно «откатиться» до первоначального состояния, а потом искать причину неудачи.

Ну и конечно, если все вышеописанное далеко от Вас или неинтересно, можно нанять специалиста, который за 1-3 тысячи рублей будет следить за здоровьем Вашего сайта и заодно нести какую-то ответственность.

Включаем элементарную защиту

Переименовываем htaccess.txt в .htaccess

Закрываем доступ к админ панели через авторизацию Apache. В панели управления хостингом переходим в файловый менеджер, далее в папку с сайтом, кликаем на директорию «administrator», в закладке «файл» выбираем «пароль на директорию».

888597277e7613e30a31f3a1bd2951b3.gif

Отключаем регистрацию пользователей. В админ панели Joomla переходим в менеджер пользователей – настройки – отключить регистрацию пользователей. Если у Вас не интернет-магазин, то регистрация в большинстве случаев не нужна, регистрироваться будут практически одни боты, а для компонента комментариев регистрация не нужна.

Если регистрация необходима, то включите капчу, она идет «из коробки», ее нужно только активировать в настройках сайта.

8e69e6a73c5e38295811ca09a6c66b39.gif

Запрещаем запуск посторонних сценариев

Ограничить запуск посторонних сценариев вне управления Joomla можно добавив в .htaccess строки

RewriteCond %{REQUEST_URI}  ^/images/  [NC,OR]
RewriteCond %{REQUEST_URI}  ^/media/  [NC,OR]
RewriteCond %{REQUEST_URI}  ^/logs/  [NC,OR]
RewriteCond %{REQUEST_URI}  ^/tmp/
RewriteRule .*\.(phps?|sh|pl|cgi|py)$ - [F]

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

Брошенный сайт

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

Как правило, выключить такой сайт можно правкой файла конфигурации, изменив пароль или имя базы.

Надежно храним пароли

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

Запрещаем загрузку gif изображений

Если по каким-то причинам у Вас разрешена регистрация пользователей (или у Вас просто паранойя), то запрещаем gif изображения, поскольку под видом обычной «гифки» может скрываться шелл.

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

6b5e53c339a610fccdbdea1d5a5a2b17.gif

Конечно, все советы известны и просты, но их соблюдение поможет Вашему ресурсу быть «в форме».

Засим откланиваюсь.