На нашем сайте есть несколько краулеров. Существует ли риск того, что они получат доступ к контенту?
Что считается «допустимой нагрузкой/риском от краулеров», прежде чем мне придется предпринимать меры по их блокировке, в которых я, если вообще есть, мало разбираюсь?
Когда нагрузка настолько высока, что это начинает негативно сказываться на работе, нужно докупить процессор и/или оперативную память. Не знаю, насколько легко это может случиться с Discourse, поскольку решение здесь другое, но PHP-базированный WordPress довольно легко вывести из строя. Однако Discourse отдает ботам статический и легковесный контент, если он умеет отличать людей от ботов. А если бот подделывает user-agent, что он может получить? Много текста в формате JSON?
Если боту удастся преодолеть барьер входа, уровни доверия и прочее, полагаю, команда перейдет в режим паники, и все должны будут немедленно включиться в работу
Надеюсь, это не просто редактирование robots.txt, которое работает только с добросовестными клиентами. На самом деле существует только одно эффективное, но немного более сложное решение: обратный прокси.
Я не совсем понял, что вы имеете в виду. По умолчанию мы ничего не блокируем, но предоставляем администраторам инструменты для избирательного контроля.
Итак, вы полагаете, что боты будут: а) читать robots.txt и б) следовать правилам. Что ж, недобросовестные боты не делают ни того, ни другого. И мы возвращаемся к исходной точке: если боты представляют какую-либо проблему, лучшим решением является обратный прокси.
А, я понял, к чему вы клоните. Нет, мы не предполагаем, что все боты идентифицируют себя как краулеры или соблюдают правила — это, безусловно, неточная наука. Я просто предложил первую меру по смягчению проблемы для автора темы.
В настоящее время мы работаем над способами более точного ограничения трафика, но это непростая задача.
Заметили, что на размещённом в Discourse сайте количество краулеров значительно ниже, чем на сервере Digital Ocean, при использовании настроек администратора по умолчанию.
На размещённом сайте обычно менее десяти краулеров в день, в среднем около 4. Иногда бывают всплески: например, в последний день этого января было зафиксировано 77 краулеров за один день.
На сайте Digital Ocean, где практически нет активности, в среднем около 30 краулеров в день. Неясно, почему так происходит: имеет ли значение тип сервера или домена, и почему краулеров больше?
Обычно они ищут и индексируют публичные сайты и контент, чтобы поисковые системы могли их найти. Это может быть полезно для сайтов, если вы хотите охватить более широкую аудиторию: тогда люди смогут найти ваш сайт, если будут искать что-то, что обсуждается на форуме Discourse.
Возможно, у краулеров есть и другие цели, но я не знаю, для чего именно они используются. По умолчанию доступ этим краулерам закрыт в настройках, о чём вы, вероятно, уже знаете:
Поскольку я относительно мало знаком с компьютерами, я слежу за вашими экспертными мнениями о краулинге примерно так же, как беспомощный зритель смотрит финальный матч US Open… Спасибо, что познакомили меня с этой запутанной частью безопасности сайтов.
Наш форум, который эффективно размещается на платформе Discourse, является высококонфиденциальным. Пользователи, присоединяющиеся по приглашению, очень обеспокоены конфиденциальностью, и я стараюсь как можно лучше их успокоить. Краулеры могут быть не слишком вредны (?!), но я хотел бы полностью исключить их доступ, если это возможно, так как они нам не нужны: мы не заинтересованы в том, чтобы наш контент был проиндексирован или стал известен каким-либо образом.
Теперь я понимаю, что оптимизация настроек — это первое, что нужно сделать. Возможно ли, чтобы кто-то из группы поддержки Communitech проверил мои настройки в этом отношении?
Ах, это хорошо видеть. Я думал, что он просто полагается на Redis для более быстрого обслуживания недавно отрендеренного контента. Как вы упоминаете, когда мой форум работал на Drupal, плохие боты, а иногда даже поисковые роботы, иногда выводили его из строя. Но я установил плагин, который создавал кэш страниц, доступных анонимно, в виде статических HTML-файлов, и автоматически создавал правила перезаписи Nginx для них. Nginx обслуживал их без инициализации PHP-кода Drupal, и это было невероятно быстро; система могла выдерживать гораздо большую нагрузку от анонимного трафика.
Привет! Важно отметить, что это не несёт никаких угроз безопасности. Краулеры имеют доступ только к публичным сайтам. Если у вас сайт с входом по логину, они не смогут получить к нему доступ.
Ещё одно уточнение: Communiteq никак не связана с нами, поэтому, если они ваш хостинг-провайдер, ваш сайт не размещён на Discourse.
Я планировал отправить личный ответ, но это может быть полезно и другим, поэтому публикую его здесь.
Они обращаются только к вашей главной (входной) странице и не могут получить доступ к контенту.
Они могут быть таковыми. В зависимости от типа краулера они могут делать доступной информацию, которую вы не хотели делать доступной. Технически говоря, краулер может получать доступ только к публичной информации, но краулеры (и связанные с ними поисковые системы) очень эффективны в обнаружении информации и её доступности.
Итак, давайте рассмотрим вашу ситуацию.
Ваш файл robots.txt содержит:
User-agent: *
Disallow: /
что означает запрет доступа всем поисковым краулерам.
Однако этого недостаточно, так как robots.txtоснован на вежливости и не соблюдается «плохими» роботами. Плохой робот может просто проигнорировать robots.txt. Это как знак «Вход воспрещён!» — вор его не уважит.
Основная защита вашего форума основана на том, что у вас включена опция «требуется вход». Этого достаточно, чтобы не пустить любого краулера.
Хотя мы уже установили, что краулеры не могут попасть внутрь, возможно, стоит пойти дальше.
У вас также включены опции «только по приглашению» и «разрешить новые регистрации», а параметр «разрешённые группы для приглашений» установлен на TL2. Это означает, что произвольные люди не могут зарегистрироваться, но любой пользователь уровня TL2 или выше сможет приглашать других пользователей в сообщество. В качестве дополнительной меры безопасности у вас включена опция «требовать одобрения пользователей», что хорошо. Единственный способ получить доступ к вашему сообществу — получить приглашение от уже существующего доверенного члена сообщества, и администратор должен вас принять.
Пожалуйста, свяжитесь с support@communiteq.com или воспользуйтесь опцией «Поддержка» в нашей панели управления, если у вас возникнут вопросы по поддержке форума, размещённого у нас.