Как защитить джумлу от вирусов
Здравствуйте, уважаемые читатели блога KtoNaNovenkogo.ru. Сегодня хочу поговорить про безопасность работы и некоторые методы защиты сайта от взлома. К сожалению, я не являюсь экспертом в этой области и мои познания мало выходят за рамки статьи про проверку и защиту своего сайта от вирусов, но я просто опишу свой недавний опыт. Ничего сложно я не использовал, но надеюсь, что это повысит безопасность работы с моими сайтами.
Речь пойдет о двойной аутентификации для входа в админпанель движка вашего сайта (работать должно на любых CMS, но лично я проверял только на WordPress и Joomla). Защита ставится на уровне сервера, поэтом все попытки подбора пароля к админке (брутфорса) не будут создавать повышенный нагрузки на хостинг и обойти ее довольно сложно. Ставится она легко (буквально в несколько действий) и из всех познаний требует только внимательности и умения получать доступ к сайту по ФТП.
Ну и также приведу пару действий, которые я применил к сайтам на уже морально устаревших движках Joomla 1.5, которые мне нет особого смысла переносить на Joomla 3, но которые у меня постоянно ломают и используют сервер для рассылки спама. Описанные действия я произвел недавно, поэтому не могу констатировать факт прекращения заражения сайтов вирусами, но на это надеюсь. В общем, я попробовал чуток повысить взломоустойчивость Joomla 1.5.
Как защитить Joomla 1.5 от взлома и проникновения вирусов
Остается либо постоянно мониторить нагрузку на сервер и при ее повышении искать среди файлов движков шелы и прочих зловредов, либо каким-то образом усиливать защиту. Для поиска зловредов я выкачиваю файлы движка на компьютер и проверяю их ДокторомВебом и Айболитом. Первый находит далеко не все, а последний видит врага слишком часто там, где его нет, но каких-то других эффективных способов я не знаю. Хотя, есть еще и онлайн-антивирус VirusTotal проверяющий файлы сразу в десятках программ, но это уже кому как удобнее.
Кстати, скрипт Айболит умеет работать не только на сервере, но и прямо на компьютере в папке с скачанными файлами движка (штатный антивирус только не забудьте отключить при скачивании сайта, ибо он может часть файлов почикать, а на сервере-то они все равно останутся).
Подробная инструкция приведена в расположенном ниже ролике, а если говорить кратко, то вы скачиваете с сайта Майкрософта интерпретатор языка PHP и устанавливаете его. После чего файл скрипта Айболита под названием ai-bolit.php открываете именно с помощью этого самого интерпретатора:
Решил потратить день для поиска пути повышения безопасности сайтов. Сделать удалось совсем немного, но все же лучше, чем ничего. Давайте начнем с укрепления защиты (со снижения уязвимости) двух сайтов на Joomla 1.5. Было сделано следующее:
-
Обновил Joomla до последней версии 1.5.26. Скачал обновление с этой страницы (полторашная версия там представлена в самом низу):
Спрятав эту информацию от поисковиков, я должен выпасть из потенциальных списков на взлом очередного начинающего хакера.
Для этого нужно подключиться к сайту по ФТП (например, с помощью Файлзилы, но опять же, напоминаю, что пароли в ней или каком-либо другом клиенте хранить нельзя, ибо трояны на вашем компьютере знают, как их оттуда выудить) и найти вот такой вот загадочный файл:
Открываете его и ищите такую вот строку (например, внутренним поиском Нотепада++):
И сносите ее на фиг, после чего сохраняете произведенные изменения в файле и транслируете файл через Файлзилу на сервер в уже измененном виде. Ну, как бы и все. Хотя, нет. Если вы используете в Джумле кеширование, то указание версии движка сайта исчезнет с его страниц только после сброса кеша.
Как еще защитить Joomla 1.5 от вирусов и потоковых взломов
Собственно, для закрытия этой лазейки (но вот как ей воспользоваться для взлома я так и не понял) можно просто удалить такой вот файлик:
Там нужно удалить два фрагмента кода, или закомментировать, заключив их в /* и */ (этот код не будет выполняться интерпретатором языка). Первый фрагмент такой:
Собственно, после этого сбрасываете кеш и пытаетесь просмотреть позиции модулей в вашем шаблоне с помощью такой вот конструкции:
Ежели не получилось, то вы эту дыру, будем надеяться, закрыли.
Очень часто взламывают сайты не снаружи, а изнутри. Трояны и кейлогены на вашем компе знают, что и где искать, поэтому не храните пароли в ФТП клиентах (есть вариант использовать Кипас для этого дела).
Очень часто ломают сайты, получив доступ к административной панели. Понятно, что она защищена паролем, поэтому методом брутфорса (умного подбора) многие, даже казалось бы сложные пароли ломают на раз-два. Поэтому админку тоже нужно защищать, и лучше это делать не с помощью дополнительных расширений, а именно средствами сервера. Вариантов защиты существует несколько. Например, можно изменить тем или иным образом Урл адрес админки, чтобы взломщик не мог бы начать свое грязное дело.
Другой метод защиты, который будет в подробностях описан ниже, заключается в создании дополнительной преграды на пути взломщика (живого человека или скрипта). Заключается он в запароливании директории с файлами админки (в Joomla это папка administrator, а в WordPress — wp-admin) средствами веб-сервера. Получается, что при обращении к админке сначала нужно будет ввести логин и пароль для доступа к папке, а уже потом логин и пароль для доступа, собственно, к админке движка. Причем, ломая первый рубеж обороны методами брутфорса, зловред не будет создавать сколь-нибудь значимой дополнительной нагрузки на сервер, что есть хорошо.
Как защитить админку своего сайта от взлома?
Я хочу в деталях рассказать о том методе защиты, который совсем недавно использовал сам. Заключается он в запрете доступа к папкам, где лежат файлы административной панели сайта. Запрет устанавливается с помощью замечательного файлика .htaccess, который, по сути, позволяет дистанционно управлять настройками вебсервера, на котором установлен ваш сайт. При этом он умеет делать это избирательно.
Все директивы, прописанные в .htaccess, будут распространяться исключительно только на тот каталог, внутри которого он находится. Хотите что-то изменить в настройках применительно ко всему сайту? Помещайте тогда .htaccess в корневую папку. Ну, а нас интересуют настройки касательно только папки с файлами админки, поэтому мы его туда и поместим. В Joomla это будет папка administrator, в в WordPress — wp-admin.
Однако, одним .htaccess нам не обойтись. Придется задействовать еще и .htpasswd, где будет храниться логин и пароль для доступа к этой самой административной папке. Причем пароль будет храниться не в открытом виде, а в виде MD5 шифра. Восстановить по нему пароль не получится, но зато при вводе правильной комбинации в поле пароля, веб-сервер посчитает для этой комбинации MD5 сумму и сравнит с тем, что хранится в .htpasswd. Если данные совпадут, то вас пустят в админку Joomla или WordPress, а если нет, то не пустят.
Вот и все, осталось только воплотить намеченное в жизнь. Нужно ведь какие-то директивы в .htaccess добавить. Вы знаете какие? Я не знаю. Да и как-то нужно будет пароль перегнать в MD5 последовательность. Проблема. Однако, она имеет довольно простое решение. Добрые люди организовали онлайн-сервис по генерации содержимого для файла .htaccess и файла .htpasswd на основе придуманных вами логина и пароля. Правда, придется еще и абсолютный путь до административной папки указать, но это уже мелочи.
Итак, встречайте — великий и ужасный генератор защиты для админки вашего сайта. Понятно, да? Придумываете, а лучше всего на каком-нибудь генераторе паролей создаете две сложнейших комбинации букв, цифр и знаков, после чего их вводите в два верхних поля. Записать их только не забудьте, или в менеджер паролей запихнуть, иначе сами в админку войти не сможете и придется все описанное в этой части начинать делать заново.
Вот, теперича . Знаете такой? Даже если не знаете, не беда. Подключаетесь к сайту по ФТП, создаете в его корне файлик с любым названием (да хоть с таким url_path.php) и добавляете в него такой вот простой код:
Потом заходите в браузер и вводите в адресную строку вот такой вот Урл (с вашим доменом, конечно же):
И по очереди переносите содержимое для файлов .htaccess и .htpasswd непосредственно в эти самые файлы.
Надеюсь, что вы их уже создали в папках administrator или wp-admin (в зависимости от используемого вами движка)?
Ну, а теперь уже пробуйте зайти в админку. Появляется окно с предложением ввести логин и пароль от вашего веб-сервера? В разных браузерах оно отрисовывается по разному, но в Хроме оно выглядит так:
Вирус в WordPress?
Уже после написания этой статьи обнаружил на своем блоге (https://ktonanovenkogo.ru) зловреда (или что-то такое, что установилось в обход моей воли). Я просто хотел что-то там поменять в коде и залез в файл footer.php из папки с используемой темой оформления. В самом его низу, непосредственно перед тегом Body, мне бросился в глаза вызов какой-то незнакомой мне функции (гуглил по ее названию, но ничего путного не обнаружил):
У меня же темы на обоих заразившихся блогах стоят уже по много лет. Наверное, была какая-то уязвимость в движке или используемом мною плагине, которой оперативно (на потоке) воспользовались недоброжелатели. В общем, проверьте у себя отсутствие подобных вкраплений. Дата изменения описанных файлов приходилась, по-моему, на середину сентября этого года.
Советую так же посмотреть подборку из 17 видеоуроков по обеспечению безопасности сайтов на Joomla. Они будут воспроизводиться один за другим автоматом, а если хотите, то можете переключаться на следующий урок с помощью соответствующей кнопки на панели плеера или выбрать нужный урок из выпадающего меню в верхнем левом углу окна плеера:
В серии статей Защита Joomla мы уже рассмотрели различные способы и средства защиты Joomla от хакерских атак и вирусов. Но что делать, если ваш сайт уже заражен? Как его вылечить?
В этой статье приведено пошаговое руководство лечения сайта на Joomla от вирусов (приведенные шаги актуальны и для сайтов на других CMS). Выполните все шаги, и ваш сайт будет восстановлен.
Кто и зачем заражает сайты вирусами?
Давайте, в первую очередь, разберемся в теоретических причинах заражения. Предположим, что у вас действительно не столь посещаемый сайт, чтобы заинтересовать хакеров (его посещают десятки – сотни человек ежедневно). Кто, зачем и как заразил ваш сайт?
Не стоит сразу перебирать врагов и конкурентов. Скорее всего, заражение вашего сайта – это случайность и опосредовано, виноваты в нем ВЫ (или веб-мастер, который отвечает за ваш сайт компании).
С большой долей вероятности точно также получилось и с вашим сайтом.
Невыполнение хотя бы одного из этих трех пунктов уже подвергает ваш сайт высокому риску.
Дальше в дело вступает лотерея. Предположим, в один прекрасный день кто-то обнаружил уязвимость в Joomla. Он отправил информацию о ней разработчикам Joomla. Они исправили уязвимость и выпустили обновленную версию. Через некоторое время о найденной уязвимости становится известно широкой публике, в которой встречаются и не очень хорошие личности. Одна из таких личностей пишет паука – программу, которая сканирует интернет на предмет поиска необновлённых сайтов с этой уязвимостью и, находя их, использует уязвимость для взлома.
Конечно, нельзя исключать и целенаправленной хакерской атаки на ваш сайт, но вероятность такой атаки очень мала по сравнению с тем, что вы поймали паука. Я бы сказал, 1% против 99%. С ростом популярности, посещаемости и показателей вашего сайта вероятность будет смещаться в сторону хакерской атаки, но пока ваш сайт не содержит ничего особо ценного, хакеры не будут тратить на него время, т.к. их время стоит дороже.
Мой сайт заражен. Что делать?
Ваш сайт заражен. Чтобы вылечить его, а предлагаю вам использовать инструкцию, состоящую из 10 шагов. Выполнять шаги нужно последовательно, а не в произвольном порядке.
Если ваш сайт заражен, то по уровню халатности вы попадаете в одну из двух категорий:
- Я регулярно делаю резервные копии своего сайта / Я настроил регулярное резервное копирование на хостинге.
- Резервные копии? Ээээ… Что это?
Если вы попали в первую категорию, то у меня для вас хорошие новости: вам не придется лечить сайт от вирусов. Просто восстановите резервную копию и переходите к шагу 7.
Если же вы попадаете во вторую категорию, то придется попотеть, либо потратиться на специалиста. Кроме того, для вас есть и очень плохая новость:
При чистке сайта от вирусов нет, и не может быть никакой гарантии полного излечения.
Давайте разберемся почему.
Представим столь популярные нынче фильмы про зомби. Один человек стал зомби, потом он покусал другого, тот третьего и так заразилось половина планеты. Спустя некоторое время человечество опомнилось и уничтожило всех зараженных. Воцарился мир и спокойствие. Спустя еще некоторое время оказалось, что в каком-то глубоком темном подвале оставался еще один зараженный, которого не смогли обнаружить. И затем в этот подвал зашел здоровый человек…
Примерно такой же принцип в заражении сайта. Файлы сайта, коих несколько тысяч, могут быть изменены. Также могут быть добавлены новые файлы, с названиями, которые себя ничем не выдают. Вирус может записать себя в любые каталоги и файлы файловой структуры сайта. Потом сайт почистят от вирусов. Все зараженные файлы удалят. Но где гарантия, что один из таких файлов не будет упущен? Ее нет. А такой файл может, в конечном итоге, привести к повторному заражению всего сайта.
Всё это не значит, что нужно опустить руки и пойти делать новый сайт. Всё-таки, шаги, описанные далее, позволяют в высокой долей вероятности вычистить весь вредоносный код, до последней строчки.
Подведем итог шага 1.
- Если вы делали резервные копии, найдите ту из них, которая еще не заражена и восстановите из нее сайт. Далее переходите к шагу 7.
- Если вы не делали резервные копии, будьте готовы к тому, что никто не даст вам 100% гарантии на полную отчистку сайта от вирусов. Переходите к шагу 2.
Если вы читаете данный шаг, то поздравляю, ваша халатность на высоте. Но нужно и в этом искать плюсы. Вы научитесь лечить сайты, а также узнаете много нового о работе с ними. Эти знания, определенно, будут вам полезны, как владельцу сайта.
На данном этапе вам нужно создать локальную копию файловой структуры сайта. Создайте на хостинге архив с фалами сайта и скачайте его на свой компьютер. Если вы не знаете, как это делается, обратитесь в тех. поддержку хостинга с просьбой создать и выслать вам копию сайта.
Стандартный Joomla-сайт состоит из двух частей:
- Файловая система сайта
- База данных
Вредоносный код может быть и в файлах и в базе данных, но всё-таки наиболее вероятно найти его в файлах.
После того, как вы скачали архив с файлами сайта и развернули у себя на локальном компьютере, проверьте его хорошим антивирусом, например Касперским. У антивирусных компаний есть бесплатные инструменты для разовых проверок. Воспользуйтесь одним из них:
Если у вас есть лицензионный обновленный антивирус на компьютере, то можете использовать его.
Антивирусы для операционных систем не предназначены для лечения сайтов, но, тем не менее, некоторую долю вирусов они могут обнаружить и удалить. Всё-таки, это наиболее профессиональные инструменты. Не стоит ими пренебрегать.
После проверки будет найдено несколько вирусов или не найдено ничего. Найденные зараженные файлы лечим (вручную отчищаем от вредоносного кода) или удаляем. Переходим к шагу 3.
На этом этапе разминка закончилась. Впереди рутиный и нудный труд. Пришло время проверить зараженный сайт специализированным средствами поиска вредоносного кода. К таковым относятся:
- AiBolit – бесплатный сканер вирусов и вредоносных скриптов. Он удобен тем, что может быть очень легко запущен под Windows.
- Manul – антивирусная утилита от Яндекса.
Советую использовать AiBolit, поскольку проект Manul закрыт Яндексом и более не обновляется. По результатам проверки для вас будет сгенерирован отчет о подозрительных файлах и уязвимостях.
- Скачиваете с официального сайта AiBolit для Windows.
- Копируйте файлы зараженного сайта в папку site.
- Запускаете файл start.bat.
По результатам будет сгенерирован файл отчета AI-BOLIT-REPORT.html
Manul – это php-скрипт. Чтобы его запустить, нужен локальный web-сервер. Вы можете использовать для этих целей Open Server или Denwer. Далее следуйте инструкциям с официального сайта Manul.
Важно! Ни в коем случае не запускайте на локальном сервере зараженный сайт. Не вылеченные на данном этапе вредоносные скрипты могут размножиться.
После проверки сканерами, на руках у вас будет два отчета с подозрительными файлами. Будьте уверены: многие из них являются вирусами или содержат вредоносный код.
Далее следует довольно нудный этап. Нужно вручную пройтись по всем подозрительным файлам и проверить код, расположенный в них. Зачастую вредоносный код выделяется форматированием из основного. Код Joomla стройный и не содержит ничего лишнего. Код вредоносных скриптов часто внедряется без форматирования. Посмотрите пример ниже.
Код вредоносного скрипта:
Не бойтесь открывать зараженные php-файлы для просмотра через текстовый редактор. Пока не запущен интерпретатор PHP (локальный сервер, который может выполнить PHP-код), вирусы и вредоносные скрипты не представляют опасности.
Если зараженных файлов найдено слишком много, можно воспользоваться такой хитростью: уточните текущую версию Joomla на вашем сайте, скачайте именно эту версию с официального сайта. Скопируйте файлы скачанной версии в папку с зараженной, переписывая совпадения. Таким образом, вы сможете переписать большую часть зараженных файлов оригинальными. Аналогичным образом можно заменить файлы крупных расширений Joomla. Более подробно это описано в шаге 5.
Перед удалением зараженных файлов, аккуратно записывайте фрагменты кода вредоносных скриптов и названия файлов, в которых они найдены, в отдельный файл. Они понадобятся нам на следующих шагах.
Данный шаг может отнять много времени, а также может быть сложен для тех, кто не очень хорошо разбирается в PHP-коде. Общий совет: если сомневаетесь вредоносный перед вами скрипт или нет, считайте, что да. Не бойтесь удалять зараженные файлы Joomla и расширений. На следующих шагах мы их восстановим. Исключение составляют лишь файлы, находящиеся в каталоге используемого вами шаблона сайта. Их не получится восстановить и работать с ними нужно очень осторожно.
Когда все файлы из отчетов проверены/отчищены/удалены, проведите сканирование файловой структуры сайта повторно. Не должно быть найдено ничего. После этого можно переходить к шагу 4.
Теперь пришла пора постепенно включать голову. Надеюсь, что вы последовали моему совету, на предыдущем шаге и копировали фрагменты кода вредоносных скриптов в отдельный файл.
Если вирус, которым заражен ваш сайт, писал не гений, а скорее всего это так, то от файла к файлу зараженные фрагменты кода должны, так или иначе, повторяться. Этим мы и воспользуемся для того чтобы найти то, что пропустили сканеры и антивирусы.
Для выполнения данного шага нам понадобится программа Total Commander или любая другая утилита, умеющая искать по файлам. Я все же советую использовать Total Commander.
Открыв файловую структуру сайта через Total Commander, переходим в Команды –> Поиск файлов…
Здесь нам интересны две вкладки.
Позволяет указать текст, который нужно искать в файлах. У вас уже есть сохраненные фрагменты кода вируса. Смекаете? Выбираем фрагмент и ищем его повторения в файлах по всей файловой системе сайта. Будьте уверены, что-то найдется. Далее проверяем найденные файлы, чистим/удаляем.
Еще одна прекрасная возможность найти все зараженные файлы – использовать дату изменения файла. Посмотрите еще раз внимательно отчет AiBolit. Он показывает дату создания/изменения подозрительных файлов. Вероятнее всего все зараженные файлы были созданы примерно в недельный временной промежуток или даже в один день. Вычислите его, а затем задайте на вкладке Дополнительно этот промежуток или день. Так вы сможете определить все подозрительные файлы.
Данный способ не является полностью надежным, поскольку качественные вирусы могут изменять дату своего создания, но попробовать его, определенно, стоит. Мне он очень помогает.
После выполнения всех описанных действий можно выполнять шаг 5.
Этапы тут следующие:
- Откройте админку зараженного сайта (старого, не отчищенного!) и перейдите в Расширения –> Менеджер расширений –> Управление.
- Перепишите себе все установленные сторонние расширения и их версии. Запишите версию Joomla.
- Скачайте Joomla заданной (не последней!) версии и все расширения заданных версий.
- Обновите вручную файловую структуру Joomla путем копированием скачанной версии с заменой.
- Обновите вручную файловую структуру расширений путем копирования с заменой.
На данный момент, мы сделали всё, что было в наших силах, чтобы отчистить и восстановить файловую структуру сайта. Пришло время базы данных. Переходим к шагу 6.
Вредоносный код может содержаться не только в файлах сайта, но и в его базе данных. Чистить базу, в некоторой степени, сложнее, чем файловую структуру. Я бы выделил два этапа:
- Скачать дамп базы данных сайта и проверить его вручную. Вы можете скачать через PhpMyAdmin базу данных сайта в виде текстового файла и открыть ее через Nodepad++ или другой текстовый редактор. Данный файл желательно просмотреть на предмет присутствия странных фрагментов, проверить на наличие опасных элементов, таких, как iframe.
- В таблице #__users базы данных сайта, найти всех пользователей с правами суперадминистратора и проверить, нет ли там посторонних.
После этого нужно развернуть и запустить сайт на локальном сервере (шаг 7).
Поскольку я, в некоторой степени, параноик, советую на этом шаге запускать сайт на локальном сервере с отключенным интернетом.
Перед запуском нужно морально быть готовым к тому, что сайт запустится с ошибками. Возможно, вы удалили какой-то файл Joomla или расширения во время чистки, но при этом не восстановили его в дальнейшем. Ничего страшного в этом нет. Главное, чтобы запустилась админка. Если это произошло, делаем следующее:
- Обновляем Joomla до последней версии путем установки обновления через менеджер расширений Joomla.
- Обновляем все расширения до последних версий путем установки обновлений через менеджер расширений Joomla.
После этого сайт должен работать корректно и без ошибок. Если что-то осталось, исправляем вручную и переходим к шагу 8.
- Пароли администраторов
- Пароль на сервере базы данных
- Пароль FTP
- Пароль от панели управления хостингом
На этом всё, ваш сайт отчищен. Осталось убедиться, что уязвимость, которая привела к заражению, закрыта.
Снова включаем голову (да знаю, она у вас уже устала и ничего не соображает). Что же всё-таки привело к заражению? В начале статьи я дал пару мыслей на этот счет.
Постарайтесь понять, где на вашем сайте могут быть уязвимости. Не обязательно быть большим специалистом. Важно просто здраво мыслить.
Советую проверить домашний компьютер на вирусы, а также обратить внимание на хостинг, на котором размещен сайт. Какие о нем отзывы в интернете? Быть может, причиной заражения стал плохо настроенный сервер.
Если вы видите какие-то, пусть даже теоретические причины заражения, то будет правильным избавиться от них до перезапуска сайта.
Если вы дошли до этого шага, то поздравляю! Это большой путь. Теперь вы гораздо больше знаете о сайтах и их безопасности. Полностью удалите с хостинга зараженную копию сайта и перенесите туда отчищенную. Также замените базу данных, если вы вносили в нее изменения.
Первую неделю я советую отслеживать изменения в файловой системе на предмет повторного появления вируса. Вероятность того, что какой-то из зараженных файлов всё-таки остался, всегда существует.
Если ничего не помогает.
Но что делать, если даже после чистки и восстановления сайта вирусы появляются вновь? Здесь есть два варианта:
- Вы можете отдать уже отчищенную копию специалистам по безопасности, чтобы они проверили ее на предмет того, что упущено вами.
- Вы можете создать новый сайт (в некоторых случаях это может быть дешевле), но надеюсь, что до этого, всё-таки, не дойдет.
Главный вывод.
Надеюсь, данная статья помогла вам вылечить сайт от вирусов или, по крайней мере, дала большее представления о безопасности, возможных уязвимостях и способах их устранения.
Главное, что нужно делать, чтобы не оказаться один на один с взломанным сайтом – регулярное резервное копирование. Позаботьтесь о том, чтобы у вас на компьютере хранилась хотя бы одна резервная копия за каждый месяц, и спите спокойно ;-).
Взлом сайтов на популярном движке Joomla далеко не редкость. Ломают школьники, ломают хакеры, ломают скриптами вручную и автоматически. Но если все так плохо, что можно сделать для защиты нашего сайта. Цели взлома могут быть абсолютно различные, но самое популярное:
- Для развлечения и тестирования скриптов и приложений найденных в интернете. В этой категории преобладают школьники и начинающие, которые торопятся испытать способ взлома найденный на форуме.
- Для размещения ссылок и левого контента. Это самая популярная цель взлома. На ваш сайт удаленно включают текст, который раньше называли портянками — это набор фраз и предложений, которые максимально соответствуют запросам продвигаемого злоумышленниками сайта. Некоторые черно-рукие сеошники верят, что такой способ поможет продвинуть их ресурс. Здесь преобладает автоматический способ взлома.
- Атаки по заказу конкурентов. Конкуренция у нас далеко не совсем честная, а если еще ваш сайт дорогой тематики (Бизнес, Банки, Страхование и недвижимость, медицина), обязательно найдутся завистники, которые желают вас подвинуть.
- И многое другое…
Наиболее распространенные методы взлома сайтов
Сразу стоит заметить, что данные методы используют не только для взлома сайтов на Joomla, но и на других CMS.
Что может привести к взлому
Некорректная публикация сайта на сервере является грубейшей ошибкой разработчиков и администраторов ресурса, зачастую приводящая к его взлому.
К таким ошибкам, напрямую влияющих на безопасность сайта являются:
- Открытые директории с системными файлами.
- Открытый доступ и возможность выполнения системных файлов, взаимодействующих с файловой системой или базами данных.
- Системные архивы, бэкапы сайта, находящиеся в открытом доступе.
- Файлы дампа баз данных в открытом доступе.
- Открытый доступ к .svn или .git индексным файлам.
Нередко администраторы сайта устанавливают короткие и примитивные пароли к админкам, наподобие 123qwerty.
Такие пароли элементарно подбираются злоумышленниками с помощью специальных программ.
Небрежность администраторов сайта, имеющих доступ к FTP и административной панели, нередко приводит к взлому сайта.
Троянская программа отправленная по почте, якобы забытая кем — то, а на самом деле специально оставленная злоумышленником зараженная вирусами флэшка на столе у админа сайта могут привести к его взлому.
А теперь подробнее…
Как защитить сайт на Joomla
Логин и пароль должны содержать обязательно прописные и заглавные буквы, цифры и символы.
Не пытайтесь прописывать русские слова кириллицей такие пароли так же просты для подбора.
Если у вас статичный IP можно настроить доступ в админ-панель только с вашего IP-адреса. Для этого нужно запретить доступ к папке administrator с любого IP, кроме вашего. Чтобы это сделать, создаем файл .htaccess в папке administrator. В него заносим такой текст:
order deny,allow
allow from xxx.xx.xxx.xx
deny from all
Если вам нужно прописать еще дополнительные IP адреса, копируем allow from xxx.xx.xxx.xx и прописываем их. Выглядеть будет так.
order deny,allow
allow from xxx.xx.xxx.xx
allow from xxx.xx.xxx.xx
deny from all
Установите на все папки права доступа 755, а на все файлы 644, кроме файла configuration.php — на него 444. Стоит заметить, что устанавливая на файл configuration.php права 444 вы можете ограничить установку расширений через Админ панель. При установке некоторых плагинов и компонентов может выдавать ошибку. Решается это временной сменой прав на файл.
Важный момент! Некоторые хостинги рекомендуют использовать свои рекомендуемые права на папки, например 700. Такое правило никак не угрожает безопасности вашего сайта даже наоборот, повышает его безопасность и безопасность других ваших сайтов лежащих на одном дисковом пространстве.
Устанавливайте плагины и расширения, в том числе и шаблоны, только из проверенных источников. Не редко именно они и служат воротами на ваш сайт для злоумышленников.
Обязательно удаляйте скрытые внешние ссылки из шаблонов — они могут служить маячками для программ автоматического взлома.
Используйте .htaccess вместо htaccses.txt. Эта рекомендация разработчиков Joomla актуальна еще с версии 1.0.
Перенесите папки временных файлов (tmp) и лого (logs) за пределы public_html. Для этого, в файле configuration.php найдите строки (в нашем примере настоящие пути заменены на буквы англ. алфавита):
var $log_path = ‘/home/xxxx/yyyyyy/zzzz/logs/’;
var $tmp_path = ‘/home/xxxx/yyyyyy/zzzz/tmp/’;
и впишите туда новое местоположение папок. После этого переместите эти папки в указанную директорию.
Следите за новыми версиями Джумлы и постоянно обновляйте ее. Это очень важно, т.к. разработчики выпускают патчи для устранения уязвимостей.
Не используйте для создания сайтов Joomla 1.5, 1.7, 2.5 — так как они уже не поддерживаются разработчиками. А рабочих способов взлома 1.5 и 1.7 в интернете намного больше. чем рекомендаций защиты.
FTP соединение на данный момент является уязвимым, так как данные передаются в незашифрованном виде и возможен их перехват. Если файловый менеджер хостинг провайдера по скорости и функционалу не блещет, то используйте SFTP — данные в этом случае передаются в зашифрованном формате, что обеспечит безопасность ваших данных.
Использование компонентов Защиты
Обязательно используйте компоненты для защиты сайта. Для Joomla лучше себя зарекомендовал RSFirewall. Компонент действительно помогает сделать наш сайт не доступным для злоумышленников.
Основные особенности RSFirewall!:
- Встроенные фильтры, предотвращающие SQL, PHP, LFI и XSS уязвимости;
- Функциональный сканер сайта, проверяющий установленные права на папки и последние изменения файлов;
- Встроенный системный журнал, фиксирующий все попытки взлома сайта;
- Возможность защиты специальным паролем всей папки администратора;
- Возможность блокировки IP — адресов, с которых пытаются получить доступ к админ панели сайта;
- Автоматическое включение каптчи при неоднократной несанкционированной попытке входа в админ панель;
- Уведомление на электронную почту о всех атаках и попытках взлома админ панели;
- Функция проверки таблиц баз данных с возможностью их восстановления через опцию исправления / оптимизации;
- Уведомления в админ панели сайта о новых способах защиты сайтов через встроенный RSS — канал;
Это действительно очень мощный компонент для защиты вашего сайта. Установленный и настроенный RSFirewall защитит от 98% всех известных способов взлома.
На некоторых из моих сайтов, которые далеко не блещут высокой посещаемости RSFirewall отлавливает 5-10 попыток удаленного включения в день, но бывают дни когда намного больше. А если бы на моих сайтах посещаемость выше — наверное и попыток было бы в разы больше.
Если вы просматривая журнал RSFirewall случайно заблокируете свой IP адрес, единственным выходом будет зайти через прокси сервера или другого IP. Советую все используемые вами IP вписывать в Белый список, что бы избежать подобных ситуаций.
Комментарии не относящиеся к тематикам страниц, вводящие в заблуждение пользователей нашего ресурса, носящие рекламный и провокационный характер будут беспощадно удаляться. С уважением, администрация DDR5.RU.
Читайте также: