Как зарабатывать в интернете более 100 000 рублей?

Выберите рубрику блога

Вирус не пройдет!

Рубрика: Веб-разработка

Блог Ярослава Перелыгина

yaroslaff.su

Сразу извиняюсь за то, что давно ничего не писал. В последнее время навалилось очень много работы, и времени на все не хватает, но я обещаю исправиться. Зато у меня накопилось очень много тем для интересных и полезных постов. Для некоторых из них даже уже есть заготовки. Информация будет полезна для людей с разным уровнем знаний. Не забудьте подписаться на обновления блога, скоро узнаете много нового.

Сегодня, кстати, будет освещена тоже очень полезная тема о том, как проверить сайт на вирусы. Пишу я об этом, конечно, неспроста. Дело в том, что меня напрямую коснулась эта неприятная ситуация. Различные вредоносные коды и файлы я находил на своих сайтах и раньше, но от них быстро получалось избавляться, при чем без всяких негативных последствий. В этот раз все оказалось гораздо хуже и запутаннее. Думаете, вам эта информация не нужна? Я когда-то тоже так думал, пока не столкнулся с этим лоб в лоб.

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

Я очень редко пользуюсь услугами фрилансеров и стараюсь как можно чаще проверять свои собственные силы. Многие считают, что на каждый вид работы есть свой специалист, и именно он должен ей заниматься. Я в каком-то смысле с этим согласен. Это действительно правильно с той точки зрения, что можно сэкономить время, силы и в качестве результата получить качественно выполненную работу. Но есть одно «но»: каким образом вы научитесь чему-либо новому, если все будете поручать другим людям? Именно это «но» меня обычно и останавливает от передачи работы другим лицам. Конечно же, если передо мной стоит задача, которую собственными силами выполнить практически невозможно, даже если изучить тот или иной материал, то я перепоручу ее специалисту, но во все всех других случаях я постараюсь выполнить все сам. Именно поэтому у меня всегда будет о чем написать.

Проверяем сайты на вирусы и коды

Я, как это очень часто со мной бывает, немного удалился от темы. Вам-то нужна информация о том, как найти вирус на сайте, а не мои мемуары.

Проверяем сайты ручками

Итак, первым делом, если что-то на вашем сайте пошло не так или же поисковик сообщил вам о вредоносном коде, чтоб его, зайдите на свой хостинг через ISPmanager или при помощи другой панельки, перейдите в менеджер файлов и упорядочите документы по дате изменения. Эти же действия можете проделать при помощи FTP-клиента FileZilla или любого другого.

Упорядочивание файлов в ISPmanager

Какие файлы изменились последними? Имейте в виду, что многие папки и файлы меняют свое содержание по мере работы сайта, но некоторые не должны меняться практически никогда. Именно в них чаще всего и появляются различные вредоносные коды. К примеру, мои сайты, пострадавшие в бою, выполнены на wordpress. На этом движке чаще всего заражаются такие файлы, как index.php, htaccess, иногда даже wp-config.php и другие.

Скачайте несколько недавно измененных файлов с сервера и откройте их на компьютере текстовым редактором, к примеру, notepad++. Теперь скачайте последний дистрибутив своего движка с официального сайта. Если изменения коснулись файлов CMS, то вам будет с чем сравнить. Может быть, появились какие либо лишние коды? Проверьте все очень внимательно. В моем случае, к примеру, в самом конце файла index.php добавился iframe-код, который перенаправлял посетителей на другие сайты. Также на одном из сайтов все в том же index.php появился код в блоке div. Он выводил фиксированное окошко на страницах сайта. Очень часто вне зависимости от CMS заражается файл htaccess, так что обязательно проверьте его.

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

Пускаем в бой скрипт айболит

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

Файлы скрипта следует закинуть в корневой каталог вашего сайта, все до одного, кроме файлов формата txt. Если ваш сайт работает на одном из популярных движков, таких как dle, joomla, wordpress, instantcms или ipb, то закачайте в корень сайта еще и соответствующие файлы из папки known_files/vasha_CMS. Теперь скрипт полностью готов к работе.

Айболит можно запустить двумя способами: из браузера или при помощи протокола SSH. Рекомендую вам воспользоваться вторым, так как он подразумевает полную проверку сайта. Если впервые сталкиваетесь с этим сетевым протоколом, то обязательно почитайте мою статью о том, что такое SSH, как им пользоваться, изучите его команды и так далее. Поверьте, это нетрудно. Еще пару месяцев назад я сам не умел подключаться к серверу через SSH, сегодня я могу сделать это без особого труда. Для этого я использую программу putty.

После того как вы соединитесь со своим сайтом по SSH и пройдете в его корень, введите команду php ai-bolit.php. Таким образом вы запустите скрипт и он начнет сканировать ваш сайт. Ему может для этого потребоваться несколько минут. Время проверки зависит от количества файлов. Поле завершения сканирования в корне вашего сайта появится соответствующий файл, который следует скачать на компьютер и сразу же удалить с хостинга.

Файл будет содержать информацию о найденных вредоносных скриптах и кодах, скрытых файлах, js-вирусах и многом другом. После этого вам будет необходимо скачать зараженные и подозрительные файлы и в случае необходимости удалить из них найденные коды. Если вы считаете, что ваш сайт будет прекрасно функционировать без этих файлов вовсе, то можете их полностью удалить с сервера, но не забудьте перед этим сделать их копии, мало ли что. К примеру, в моем случае многие зараженные файлы являлись файлами модулей, плагинов, тем и шаблонов, которые по тем или иным причинам мне были не нужны: лежали мертвым грузом на сервере или же вполне могли быть заменены аналогичными. Я пришел к выводу, что от них лучше полностью избавиться.

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

На что стоит обратить внимание еще?

Во-первых, стоит обратиться за помощью к своему хостеру. При помощи специального софта его сотрудники проверят ваш сайт на вирусы. Лично мой хостер Inferno Solutions никогда не отказывает мне в подобной помощи. Хоть и посредством проверки им удалось найти всего лишь один подозрительный файл, который явно не являлся причиной заражения, в любом случае они не отнеслись к моем проблеме равнодушно и сделали все возможное, чтобы помочь мне. За это им огромное спасибо.

Еще раз напомню о том, что многие из моих зараженных сайтов были выполнены на wordpress. Так вот, оказывается, на этом движке особое внимание стоит уделять файлам timthumb.php. Именно они являются особо уязвимыми. Их нужно периодически обновлять до последней версии. Сделать это можно при помощи плагина Timthumb Vulnerability Scanner, который ищет и обновляет файлы timthumb автоматически, или же ручками. Эти файлы чаще всего находятся в папках тем или плагинов, которые каким-либо образом связаны с картинками. Хочу заметить, что это очень серьезная уязвимость, поэтому обязательно выполните то, о чем я говорю.

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

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

Как защитить сайт от взлома и вирусов?

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

Все популярные CMS-ки обновляются очень легко, тем более если это делать в автоматическом режиме, но у этого способа есть критический недостаток: те файлы, которые были заражены, возможно, так и останутся висеть на вашем сервере. Другими словами, после обновления движка ваш сайт так и останется зараженным. Но другое дело, если это делать ручками. Сразу напомню, что я обновлял таким образом wordpress, но вряд ли в других движках этот процесс существенно отличается. В любом случае у вас под рукой есть бэкап, поэтому переживать не о чем.

Итак, скачайте дистрибутив с последней версией движка с официального сайта и разархивируйте его. Далее из админки отключите все работающие плагины и модули, если это возможно.

Деактивация плагина на wordpress

После этого удалите все файлы вашего движка, но при этом не забудьте оставить те, которые не входят в него и необходимы для нормальной работы сайта. Это могут быть различные картинки, аудиозаписи, файлы тем и плагинов, системные файлы, которые вы существенно перерабатывали. Самое главное, чтобы они точно не были заражены. Удаление можно произвести при помощи FTP-клиента или файл-менеджера, установленного на хостинге.

Удаление файлов CMS

Не бойтесь удалять файлы. В этом вопросе нужно быть хладнокровным. И помните: у вас всегда есть бэкап.

После того как файлы будут удалены, закачайте на сервер новые и зайдите на свой сайт через браузер. Начнется обновление и внесение изменений в бд (базу данных). Вскоре вы окажитесь в админке своего сайта с обновленным движком.

Далее следует обновить плагины и модули. Те, которые, по мнению айболита, абсолютно безопасны, можно обновить в автоматическом режиме. Другие следует полностью удалить с сервера и установить новые версии, скачав их с официального сайта, либо, если это возможно, не использовать совсем.

Возможно, я описал процесс обновления CMS не самым полным образом, но для каждого движка обязательно должен быть мануал, где про это подробно рассказано. В любом случае, не забывайте регулярно обновлять движок и плагины. Это существенно обезопасит ваш сайт от взлома.

Изоляция сайтов друг от друга

Не секрет, что во многих случаях уязвимость находится на соседнем сайте, а не на том, который в конечном итоге заражается. Что тогда делать? Конечно же изолировать сайты друг от друга. Но это возможно сделать, только арендуя VPS или выделенный сервер. На обычном виртуальном хостинге, на сколько мне известно, это сделать невозможно. В любом случае, рекомендую вам взять в аренду как минимум VPS. К примеру, у моего хостера можно арендовать VPS за 5-10 долларов в месяц, при чем в стоимость уже включено администрирование и резервное копирование. Но это лишь совет.

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

Перед началом всего процесса не забудьте сделать бэкап! О том, как это делается и для чего нужно, я уже писал. После этого зайдите на свой сервер через панельку ISPmanager. Далее перейдите в раздел «пользователи» и нажмите на кнопочку «создать» (справа вверху). В принципе, никаких сложностей на этом шаге возникнуть не должно. Введите имя пользователя и пароль, а также задайте его права, выделив галочками все кроме пункта SSI, хотя может и он кому-то понадобится. Пользователь создан! Таким образом создайте столько пользователей, сколько вам нужно. Я бы рекомендовал создать под каждый сайт отдельного пользователя.

Создание пользователя в ISPmanager

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

Создание домена в ISPmanager

После проделанных действий на вашем сервере будут созданы директории пользователей, в которых будут содержаться папки и файлы ваших сайтов. Путь до сайта чаще всего выглядит следующим образом:

/var/www/имя_пользователя/data/wwww/site.ru

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

Как защитить сайт на wordpress?

Хочу заметить, многие советы, которые я вам дам ниже, могут помочь в обеспечении защиты сайтов, разработанных и на других популярных движках, поэтому советую прочитать эту информацию всем. Итак, поехали!

Все больше сайтов, выполненных на wordpress, появляются на просторах интернета. И это неудивительно: CMS имеет огромное сообщество и очень проста в освоении. Многие мои сайты также работают на этом движке. В моем списке тем для будущих постов очень много внимания уделено именно wordpress, поэтому, если интересно, подписывайтесь на обновления. С ростом популярности движка увеличивается и количество вопросов о том, как защитить wordpress. И вправду, как?

Ну, конечно, это можно сделать при помощи плагинов, куда же без них. Хочу сказать сразу, я стараюсь минимизировать количество установленных плагинов на своих сайтах, поэтому использую далеко не все из перечисленных ниже, но в свое время проверял каждый из них в действии. Почему, на мой взгляд, на сайт нужно устанавливать как можно меньше плагинов? Во-первых, чем больше плагинов, тем больше потенциальных дыр в безопасности. Конечно, если качать плагины только из проверенных источников, то скорее всего никаких вредоносных кодов на них не будет, но нет гарантий, что хакеры не найдут способов взломать плагины. Ведь уязвимости могут быть везде, тем более если в дело вступают профессионалы. Во-вторых, чем больше плагинов, тем тяжеловеснее получается сайт, вследствие чего существенно увеличивается нагрузка на сервер. Страницы сайта могут начать загружаться медленнее, а сам сайт и вовсе периодически падать. Можно, конечно, взять в аренду более мощный сервер и каждый месяц переплачивать. Но оно вам надо? Мне лично нет.

Если уж вы решили защитить свой сайт на wordpress таким образом, первым делом советую установить плагин Anti-Malware. Установлен ли он у меня? На данный момент нет. Причины этому уже перечислены выше. Плагин автоматически удаляет все известные угрозы, пополняет свою базу информацией о новых угрозах по мере их обнаружения, блокирует атаки, обновляет уязвимые версии файлов timthumb, о которых уже упоминалось выше, проверяет файлы htaccess, а также выполняет сканирование всего сайта. Как вы понимаете, уровень безопасности ваших сайтов с этим плагином поднимется в несколько раз, поэтому его стоит иметь в своем арсенале.

Также многие вебмастера советуют такой плагин, как Limit Login Attempts. Он ограничивает количество неудачных попыток входа в админку, блокируя пользователя на определенное время. Таким образом задача по взлому админки злоумышленнику заметно усложнится. Время и количество попыток вы задаете сами.

Не забудьте установить плагин Timthumb Vulnerability Scanner. О нем я уже говорил выше. Он проверяет и обновляет файлы timthumb до последней версии. Если у вас уже установлен плагин Anti-Malware, то Timthumb Vulnerability Scanner вам не понадобится.

Существуют и другие плагины для защиты wordpress, но, думаю, вполне хватит и этих. Далее рекомендую вам удалить все файлы readme.html и license.txt с вашего сайта. Таковые имеются в корне сайта и в папках плагинов и тем. При помощи них злоумышленники могут узнать версии вашего движка и плагинов. А мы им в этом помогать не намерены.

Далее в папки с темами, плагинами и медиафайлами следует закачать пустой файл index.php, если такового там еще нет. На wordpress это следующие папки: wp-content, wp-content/uploads, wp-content/plugins и wp-content/themes. Это необходимо для того, чтобы злоумышленники не смогли из адресной строки браузера узнать о том, какие плагины и темы у вас установлены.

Защиту можно установить и при помощи файла htaccess. Лично я добавил в него следующий код:

<Files wp-config.php>
 order allow,deny
 deny from all
 </Files>

<Files ~ "^.*\.([Hh][Tt][Aa])">
 order allow,deny
 deny from all
 satisfy all
 </Files>

Таким образом я защитил от просмотра файл wp-config и сам htaccess. Защиту можно установить абсолютно для любого файла, вне зависимости от CMS.

Совсем недавно на многие сайты обрушились очередные атаки ботнета. Многие серверы просто не выдерживали нагрузку и падали. Тема стала довольно-таки массовой и активно обсуждалась на форумах. Целью атак был взлом админок и прописывание различных кодов на сайтах. Естественно такой популярный движок как wordpress не остался в стороне. Проверив логи, я убедился в том, что и мои сайты были атакованы, причем очень даже не слабо. Тогда я задумался о том, как защитить админку wordpress. Решение я нашел. Сейчас на всех моих сайтах, работающих на данном движке, используется дополнительная авторизация. То есть перед тем как ввести логин и пароль от админки сайта, как мы это делаем всегда, необходимо еще указать совершенно другие логин и пароль в дополнительной форме авторизации.

Первым делом необходимо зайти на сайт www.htaccesstools.com или аналогичный ему для генерации зашифрованного пароля. Там будет необходимо ввести логин и пароль. В качестве примера я введу admin admin:

Как защитить админку wordpress

Нажав на кнопку Create .htppasswd file, вы увидите примерно следующее:

admin:$apr1$ghT.afzu$ZIgoGFKcCnKD4ujWjjBiF/

Теперь вам необходимо создать файл и при помощи текстового редактора, к примеру, notepad прописать в нем эту строчку. Файл назовем .wpblock. Можете указать любое другое имя.

После этого открываем файл .htaccess и добавляем в него следующий код:

ErrorDocument 401 "Unauthorized Access"
ErrorDocument 403 "Forbidden"
<FilesMatch "wp-login.php">
AuthName "Authorized Only"
AuthType Basic
AuthUserFile /var/www/login/data/www/site.ru/.wpblock
require valid-user
</FilesMatch>

В строке AuthUserFile укажите свой путь до файла. После проделанных действий при попытке входа в админку сайта появится следующее окошко авторизации:

Как защитить админку wordpress

Здесь вводите те логин и пароль, которые вы указывали первоначально, то есть в незашифрованном виде. Только после этого появится форма авторизации от админки wordpress.

Еще несколько советов о защите сайтов

Первым делом хочу вам посоветовать использовать как можно более сложные пароли, комбинации символов в которых не поддаются никакому логическому объяснению. То есть это не должна быть кличка вашей собаки, дата вашего рождения, номер телефона или девичья фамилия вашей матери. Пароль должен из себя представлять хаотичный набор букв, цифр и символов. Можете придумать такой сами или же воспользоваться генераторами паролей.

Логин от входа в админку сайта лучше всего заменить на свой уникальный, а не оставлять традиционный «admin». Также логины и пароли необходимо регулярно менять. Стоит ли говорить, что пароли от FTP-аккаунта должны быть сгенерированы аналогичным образом? Думаю, это и так понятно. Ни в коем случае не храните эти данные в браузерах, FTP-клиентах и других программах. Понимаю, удобно, но безопасность превыше этого.

Многие также советуют изменять адрес авторизации в админке сайта. К примеру, не site.ru/wp-admin/, а site.ru/wp-vasya/. Это можно сделать как при помощи плагина, так и вручную, но при этом недостаточно лишь изменить имя одной папки, нужно ковырять глубже. Я лично этого не делал.

Я это уже говорил и скажу еще раз: регулярно делайте бэкапы. Даже если у хостера имеется функция резервного копирования, не стоит на это полностью полагаться. Намного лучше, когда архивы с резервной копией хранятся на жестком диске вашего компьютера.

Также не лишним будет создать новых пользователей для баз данных. Если злоумышленники взломали ваш сайт, значит, вполне возможно у них уже есть информация о бд. Обновим ее. Для этого авторизуйтесь в ISPmanager и перейдите в раздел «базы данных». Выберите любую из баз данных и нажмите кнопку «изменить». Здесь вы можете изменить имя бд и ее владельца. Я ограничился лишь изменением пользователей. Для этого выберите базу данных и нажмите на кнопку «пользователи» (также находится в правом верхнем углу). Далее выберите пользователя и снова нажмите кнопку «изменить». Задайте логин и пароль, галочками выберите все имеющиеся права и нажмите «ок».

Создание пользователя для базы данных

Пользователь бд создан. Теперь осталось указать его данные в соответствующем файле движка. На wordpress это делается в файле wp-config.php. На других CMS имеются свои файлы.

У вас все еще не установлен антивирусник? Тогда немедленно это сделайте. Ваши сайты не могут быть в безопасности, если не защищен компьютер, за которым вы работаете. Антивирусником, кстати, можно проверять и файлы вашего сайта, предварительно скачав их с сервера на компьютер. Мне лично таким образом ничего подозрительного найти не удавалось, но хуже от этого явно не будет. Какой антивирусник использовать? Многие, как известно, пользуются Касперским. Я лично предпочитаю Norton.

На данный момент это все, что я хотел сказать. Может быть, позже придут еще какие-нибудь мысли на эту тему, но пока моя голова отказывается их выдавать. Изначально я планировал написать как минимум 2 поста, но потом понял, что один без другого просто не может существовать. Разве достаточно найти вредоносный код, не защитив после этого сайт? Вот и я думаю, что нет.

Теперь вы знаете, как проверить сайт на вирусы, более того, вы сможете сделать так, чтобы в дальнейшем они больше не появлялись. Информации для размышления достаточно. Вооружайтесь!

Поделись с друзьями:

Комментариев: 1

  • userpic

    Ирина 15.07.2015 | 22:50

    Ваш сайт действительно супер большое спасибо автору.
    После прочитанной мной информации на данном сайте работать стало намного легче.

    Ответить

Оставить комментарий:

  • ;-)
  • :|
  • :x
  • :?
  • :-|
  • :-x
  • :-o
  • :-kk
  • :-P
  • :-)
  • :-(
  • :))
  • 8O
  • 8-)
  • $-)