Методы защиты сайта на Joomla
Joomla хоть и считается безопасной системой, но все же она имеет уязвимости, впрочем, как и все остальные системы управления контентом.
Если не уделить внимание безопасности сайта, то даже начинающий хакер с большой вероятностью сможет получить доступ к нему.
Этим мы хотим сказать, что о безопасности своего сайта на Joomla необходимо думать заранее, а не бить тревогу, когда уязвимости будут вскрыты.
Ключевые методы взлома админки и возможные последствия
Далее в списке рассмотрим наиболее распространенные методы взлома:
- Одним из самых опасных методов взлома – заражение вирусом. Если вредоносный файл попадет к вам на компьютер, то он начнет сканировать диск на наличие FTP-менеджера, и если таковой установлен, то из программы будут извлечены все данные (логин, пароль, адреса ftp серверов и т.д.). Таким образом, можно лишиться не только одного своего сайта, но и всех сразу. Обычно после заражения вирусом в код сайтов вставляется iframe коды, разнообразные скрипты, URL на другие сайты и т.д., что нередко приводит к блокировке поисковыми системами;
- Еще один распространенный метод взлома – SQL инъекция. Суть данного метода заключается в получении доступа к базам данных, а если конкретнее, то будет получен логин и пароль администратора. Если так происходит, то хакеру будет несложно заменить логин и пароль на новые; злоумышленник сможет удалить всю информацию с сайта;
- Дырявые плагины и расширения – еще одна возможность злоумышленникам навредить сайту. Обычно используется метод POST на конкретных страницах сайта. Если доступ к плагину будет получен, то в итоге в папке с файлом будет лежать куча левых файлов (обычно это вирусы). Такие сайты обычно блокируются хостером, но санкции также могут наложить и поисковые машины;
- Межсайтовым скриптингом называют процесс генерации сервером страниц, которые содержат хакерский скрипт. Такая атака также может происходить из-за вашего сервера, если на нем находится зараженный объект;
- PHP инъекцией называют поиск уязвимости и последующее внедрение вредного кода через сервер;
- В последнее время хакеры очень часто пытаются получить доступ к сайту при помощи восстановления пароля. Даже если на площадке активирован плагин генерации ЧПУ, то если прописать ссылку ВАШ_САЙТ/index.php?option=com_user&view=reset, то откроется окошко, благодаря которому можно сбросить пароль админки. Какие тут будут последствия – думаем, вы и так поняли: получение полного доступа над админкой. Если до админки доберется ваш прямой конкурент, то только представьте, во что он превратит ваш сайт.
Итак, наиболее распространенные уязвимости безопасности мы рассмотрели, теперь необходимо перейти к способам устранения этих дыр.
Обеспечиваем безопасность сайту на Joomla, устраняем уязвимости админки
Пройдемся по пунктам (первые пункты наиболее приоритетны, т.е. это то, что необходимо делать в первую очередь для защита Joomla):
- Поставьте себе на компьютер хороший антивирус, к примеру, DrWeb или Avast, который будет регулярно и в автоматическом режиме обновляться;
- Загружайте и устанавливайте расширения только из проверенных источников. На сторонних сайтах могут быть размещены не только подлинные, но и взломанные модули с непонятным содержанием. Если уже загрузили такие, то обязательно проверяйте антивирусом. Расширения и модули, которые были установлены из недостоверных источников, сперва стоит ставить на локальный хостинг, тестировать, смотреть работоспособность, а затем уже лить на виртуальный;
- Всегда выполняйте резервное копирование – это безопасность вашего сайта и полная защита Joomla. Бекапы помогут вам защититься не только от рук хакеров, но и от собственных ошибок. Как хороший вариант, можете поставить себе Akeeba Backup – простое и удобное расширение для создания резервных копий. После выполнения резервного копирования скачивайте файлы к себе на локальный диск и храните их там (или на съемный носитель, что еще лучше);
- Для скрытия сайта от взора хакеров, стоит использовать SEF решения для создания ЧПУ. Тут можете использовать стандартное решение от Joomla или же установить дополнительное, на выбор;
- Важно скрыть, какую именно CMS вы используете, что также снизит риск попадания «на глаз» хакерам вашего сайта. Чтобы это сделать найдите на своем хостинге файл /modules/mod_footer/tmpl/default.php и удалите строчку
<div><?php echo JText::_( 'FOOTER_LINE2' ); ?></div>
- Рекомендуем поставить плагин по типу Backend Token, который изменяет ссылку на админку. То есть после установки плагина админка будет доступна по URL: ваш сайт/administrator/index.php?token=кодовое_слово. Таким образом, хакер даже не сможет увидеть вашу админку сайта. Вот такая простая и эффективная безопасность вашего ресурса;
- Не ленитесь заниматься обновлением расширений, ведь хакеры постоянно ищут дыры в старых версиях и, как правило, находят их. Новые же версии выходят с повышенным уровнем безопасности;
- Если не пользуетесь каким-то расширением, удаляйте его. Не ставьте на рабочий сайт плагины для тестирования. Игнорирование этого может привести к тому, что однажды злоумышленники смогут найти уязвимость;
- Если не используете форму регистрации юзеров на сайте, то лучше удалить файлы, которые отвечают за восстановление и сброс пароля. Для этого можно удалить всю папку com_user, которая расположена по пути ваш_сайт/components
- Для борьбы с SQL инъекциями можно пойти двумя путями: установить плагин по типу RSfireWall, который является действительно мощным компонентом и сменить префикс к таблицам в базе данных, что дает защиту/безопасность практически от всех SQL инъекций. Второй способ рассматривать не будем, т.к. для этого потребуется отдельная статья, а вот для корректной работы RSFireWall потребуется только включить все его функции.
В заключение отметим, что обеспечить 100% безопасность сайта (в частности админки) никто не может. Уязвимости будут всегда, но стремиться защитить свое «чадо» должен каждый разработчик.