Логи на Блоге или история о том, как нас ПСы DDoS’ят, а мы крепчаем





Здравствуйте, Уважаемые Друзья!

Этой статьей я продолжаю цикл постов о технических моментах, связанных с сайтостроением на движке WordPress.

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

Вероятно, Вы заметили, что я начал делиться с Вами подобной информацией. Многие мои читатели могут задать вполне резонный вопрос – а зачем я это делаю?

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

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

Впрочем, постоянный читатель понимает, о чем я сейчас говорю, правда?

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

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

Лариса ЯковлеваНу, и третья причина появления сегодняшней статьи заключается в том, что однажды я обратился с одним техническим вопросом к своему хорошему другу – Ларисе Яковлевой (Ларис, привет). Мы пообщались, и Лариса все мне популярно объяснила.

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

Я со своей стороны рассказал, что это такое и для чего они нужны. И тут Лариса сказала: «А ты напиши статью про логи, я думаю многим будет интересно и полезно». Сказано – сделано! Встречайте статью про логи и любопытную историю про DDoS-атаки, о которых я обещал рассказать в прошлой статье.

Что такое логи

Итак, чтобы Вы могли лучше себе представить логи, я скажу так:

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

Да, Друзья, теперь Вы, наверное, понимаете, что Админ знает все, что делают сотрудники офиса на своих компьютерах. Для кого-то открыл страшную тайну)))

Поэтому так часто можно услышать в админской среде шутки и анекдоты вроде:

«Приходит ко мне пользователь и говорит, что ничего не трогал, а компьютер или программа сами сломались…»

Обычно в таких случаях Админ первым делом открывает логи и там уже все видно – кто прав, кто виноват. Поэтому часто в организациях «урезают» Интернет, перекрывают доступ к социальным сетям и т.д. 

Впрочем, мы отвлеклись.

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

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

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

Однако, их можно включить, тем более что делается это очень просто. Для разных хостингов интерфейсы админок разные, поэтому я покажу на своем примере, а Вам нужно будет отыскать у себя подобные разделы или просто обратиться в техподдержку своего хостера. Можете так и написать: «Подскажите, пожалуйста, как мне включить логи».

Включаем логи на хостинге TimeWeb

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

Новый интерфейс админки TimeWeb

Новый интерфейс TimeWeb

Старый интерфейс админки TimeWeb

Находим раздел «Управление логами», а дальше все по аналогии

Старый интерфейс TimeWeb

Обратите внимание логи включены двух видов:

1. Access_log – здесь ведется дневник обращений к Вашему сайту – это и посетители и роботы поисковых систем;

2. Error_log – это логи ошибок, которые выявлены на Вашем сайте.

Чтобы просмотреть логи нам нужно скачать их к себе на компьютер через FTP-клиент и открывать файлы любым текстовым редактором – тем же Блокнотом или Notepad++.

Самые последние логи сохраняются на сервере в виде простых файлов, а все предыдущие архивируются.

Логи в корне сайта

На архивы бэкапов не обращайте внимания – они у меня там просто лежат)))

Вот эти архивы и последние файлы нужно будет удалять периодически с сервера. Обращаю Ваше внимание – если Вы удалите и сами незархивированные файлы access_log и error_log, то ничего страшного не произойдет. Они заново создадутся, автоматически.

Почему мне понадобились логи?

Ну, во-первых, где-то в ноябре 2014 года Компьютерликбез был впервые взломан. Пользователи, которые пытались зайти на мой сайт с мобильных устройств автоматически перенаправлялись на подставной адалт-ресурс.

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

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

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

DDoS-атака номер РАЗ

Из этого журнала событий мне стало ясно что к моему сайту посылается огромное количество запросов, в единицу времени, от робота Поисковой Системы (ПС) Яндекс — Краулера или быстробота, кому как удобней.

А это уже называется DDoS-атака, но она не зловредная, а происходит скорее по ошибке самих алгоритмов и вебмастеров, конечно. Что поделать? Ничто не совершенно…

Разумеется, я первым делом отписал Платонам (кликабельно)…

Письмо Платонам

Небольшое пояснение: «С уважением, Платон Щукин» – так подписаны все ответы на вопросы вебмастеров в техподдержку Яндекса. Это образ скорее собирательный и до сих пор доподлинно неизвестно работает ли настоящий человек с таким именем в Яндексе. Но одно сказать можно с уверенностью – один человек вряд ли справился со всеми ответами на вопросы вебмастеров. Ведь их несметное количество.

Ответ от них (Платонов) пришел через сутки и рекомендовали они установить таймаут для Краулера в файле robots.txt, что я незамедлительно и сделал. Нагрузка начала снижаться, но все равно оставалась выше допустимой.

Тут важный момент – о всех своих действиях я тут же сообщал хостеру, потому как на принятие мною мер отводилась ровно неделя, по истечению которой мой сайт просто перестал бы обслуживаться…

После этого я вновь обратился к Платонам, с тем, что нагрузка начала снижаться, но все равно еще остается критической. Через сутки они ответили и дали еще кое-какие рекомендации по файлу robots.txt. Мне нужно было закрыть от индексации некоторые ненужные разделы сайта. И это я выполнил практически моментально.

Спустя еще сутки нагрузка начала снижаться и приходить в норму…

DDoS-атака номер ДВА

Ну а перед самой публикацией этой статьи ко мне явился робот Гугла со своей DDoS-атакой! И еще робот Мэйла — вот уж кого никак не ожидал. Правда он не особо DDoS’ил, зато Гугл оторвался по полной))) Вот лишь мизерное количество запросов

Гуглбот

Решение тут немного проще. Нам также нужно установить таймаут для Краулера, только в Инструментах для вебмастеров Гугла.

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

Инструменты для вебмастеров Гугл

На открывшейся странице, в поле «Частота сканирования» перемещаем ползунок в нужное значение. У меня было 62 секунды между запросами, а поставил я 111 секунд

Частота сканирования

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

После этих мер нагрузка от Гугла начала снижаться, но все еще колеблется. Вероятно, это из-за того, что изменения в Инструментах для вебмастеров вступают в силу через 2-3 дня. Во внутренних сообщениях Вы увидите уведомление о создании заявки на изменение скорости сканирования, а затем придет и подтверждение Вашего запроса.

Вот как-то так, Друзья…

Подводя итог всему вышесказанному можно сделать ряд заключений:

1. Логи нужно включить;

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

3. Логи у нас двух видов: первые показывают кто или что обращается к нашему сайту (в т. ч. и к админке блога – это когда начинается взлом), вторые показывают ошибки на сайте, которые следует исправить;

4. Забыл сказать – среди крупных Инетрнет-проектов встречаются случаи преднамеренно организованной DDoS-атаки. Зачем? А вот это уже вопросы конкуренции и тут роботы поисковых систем совсем ни при чем…

5. Вопрос: чего это они (поисковики) так разозлились-то? У кого какие мысли? Делимся в комментариях.