Видно трафик анонимных пользователей и краулеров, хотя сайт приватный

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

У меня включена опция «требуется вход», и наш SSO настроен так, чтобы разрешать вход только пользователям, соответствующим определенным критериям. Есть ли еще какие-то настройки, которые мне следует включить? Спасибо! : )

Дополнительных действий, скорее всего, предпринимать не нужно… Такой трафик от поисковых роботов, вероятно, возникает из-за обращений к адресу community.yoursite.com/login. Если вы перейдёте по ссылке community.example.com/admin/reports/web_crawlers, сможете увидеть, как часто конкретные роботы посещают ваш сайт.

Есть несколько способов снизить количество трафика от поисковых роботов…

  • Попробуйте запретить доступ к /login для поисковых роботов в файле robots.txt (community.example.com/admin/customize/robots)… Вы, вероятно, заметите снижение трафика от роботов (хотя, скорее всего, не полное, так как существуют роботы, не соблюдающие robots.txt).

  • Изучите список наиболее активных роботов в разделе /admin/reports/web_crawlers и добавьте их user-agent в настройку сайта «blocked crawler user agents».

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

Страницы Условий использования (TOS) и Политики конфиденциальности вашего сайта, вероятно, также могут быть доступны анонимным пользователям.

Если вы используете VPS или у вас стоит Nginx (Apache тоже работает, но с Nginx проще ;)), то блокировка ботов перед Discourse становится значительно проще. Интерфейс Discourse… не очень удобен, потому что вокруг множество ботов. Файл robots.txt почти бесполезен, поскольку его игнорируют многие, даже Google.

Проблема не в том, что сканеры пытаются добраться до вашего Discourse. Всё остальное, что они ищут, — это:

  • Сотни «скрипт-кидди» проверяют, есть ли у вас WordPress, и ищут уязвимости, в основном старые, но всё ещё опасные;
  • SEO-скрейперы и другие пауки пытаются проанализировать ваш контент, в основном чтобы заработать на нём;
  • плюс, конечно же, поисковые системы.

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

Проблема в том, что ваш сервер должен отвечать на все эти запросы. Очень скоро основная нагрузка будет приходиться на ботов, а не на реальных пользователей. Это совершенно нормальная ситуация, когда на одного реального пользователя приходится от 50 до 500 ботов.

И вы будете платить за всё это.

У меня нет глобальной аудитории, поскольку мои сайты, включая Discourse, полностью на финском языке. Поэтому у меня есть один мощный инструмент, но его можно использовать только на VPS — геоблокировка.

Мне очень жаль наших друзей из России, Китая, Индии, Пакистана, Ирана, Ирака и Вьетнама, но после того как я заблокировал эти страны, нагрузка от ботов снизилась примерно на 90 %.

Борьба с ботами — это бесконечная битва. И инструменты Discourse, когда форум не приватный, очень ограничены. Но, конечно, лучше, чем ничего.

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