1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Самописная защита от бот-атак

Тема в разделе "Оффтопик", создана пользователем BestKVanT, 15 авг 2016.

  1. Автор темы
    BestKVanT

    BestKVanT Активный участник Пользователь

    Баллы:
    76
    Здравствуйте, уважаемые форумчане.
    Хочу написать свою защиту от бот-атак. Какие есть лучшие методы защиты от ботов?
    Помимо капчи, конечно.
    И можно-ли проверять инвентарь для защиты от ботов?
     
  2. Автор темы
    BestKVanT

    BestKVanT Активный участник Пользователь

    Баллы:
    76
  3. SimMiMo

    SimMiMo Активный участник Пользователь

    Баллы:
    76
    Капча один из наилучших вариантов.
    Игроки вводят ее на изи, проблем нет.
    Подумайте что-то, что будет сложно повторить на автомате с помощью умной боталки.
    И еще оптимизируйте это под нагрузку 10+к ботов.
     
  4. Dymeth

    Dymeth Активный участник Пользователь

    Баллы:
    98
    Имя в Minecraft:
    Dymeth
    Для начала сообщи нам, на что ты собрался ставить защиту - на Bungee/Lily или обычное серверное ядро?

    В общем и целом:
    1) Ограничение подключений с одного IP (лучше делать на уровне фаервола)
    2) Проверка наличия IP в твоей базе подозрительных адресов
    3) Проверка наличия IP в публичных спам-базах, базах проксей и прочего дерьма
    4) Анализ получаемых от игроков пакетов. Посмотри, что конкретно передают обычные клиенты, а что боталки. Но не исключаю, что в 2016 все публичные софтинки научились "не палиться"
    5) Проверка географического положения. Если уверен, что к тебе заходят только из СНГ, то будет полезно. А так не рекомендую..

    Если результат проверки хотя бы по одному из пунктов тебя не устраивает, то помещай подозрительный айпишник в свою БД. В конце концов школьники обычно не тратятся на прокси, поэтому сможешь даже вручную банить весь мусор (если вдруг баг какой, или сбой системы проверки). Кстати, можно ещё белый список IP подключить: человек прошёл капчу - заносим в белый список и больше не проверяем по критериям. Даже если ботер решит капчу вручную, он не сможет запустить большое количество ботов благодаря пункту 1.

    А вот это я вообще не понял. Инвентарь игрока хранится на сервере, а не на клиенте.
     
  5. InterVi

    InterVi Старожил Пользователь

    Баллы:
    173
    А клиент должен отвечать при изменении инвентаря? И при загрузке чанков? И при падении?
     
  6. Dymeth

    Dymeth Активный участник Пользователь

    Баллы:
    98
    Имя в Minecraft:
    Dymeth
    Не должен. Только если его специально заставить что-то нажимать. Даже чанки сервер сам отдаёт (хотя почему даже?). Про падения вообще молчу.
    Опять же, кому очень надо, тот в боталку вошьёт ещё и нажатие в инвентаре по нужному слоту...
     
  7. InterVi

    InterVi Старожил Пользователь

    Баллы:
    173
    Тогда боталка будет есть больше ресурсов и выдавать меньше ботов в секунду, только на руку. Интересно, зачем в ГГ сделали эти проверки? Что-то в них есть, но я не в курсе как клиент работает.
     
  8. Dymeth

    Dymeth Активный участник Пользователь

    Баллы:
    98
    Имя в Minecraft:
    Dymeth
    Может речь о переключении активного слота? Сейчас гляну...
     
  9. Автор темы
    BestKVanT

    BestKVanT Активный участник Пользователь

    Баллы:
    76
    Интересует принцип работы GameGuard.
     
  10. SimMiMo

    SimMiMo Активный участник Пользователь

    Баллы:
    76
    Почему бы не сделать что-то новое, что-то свое?
    ГеймГуард выдерживает атаки ГравиБота и DeathBot со своей защитой.
    Но и под нее сделали обход)0
    Под любую "чистую" защиту несложно сделать обход, ведь обычный игрок (не бот) также посылает пакеты, значит и бот их может вполне себе посылать.
    Делайте рандомно генерируемую защиту, чтобы атакующему сложно было подстроиться под нее.
     
  11. sanjee

    sanjee Активный участник Пользователь

    Баллы:
    78
    лучше помогите ему улучшить плагин Kolia1512
     
  12. Dymeth

    Dymeth Активный участник Пользователь

    Баллы:
    98
    Имя в Minecraft:
    Dymeth
    В общем я так и не понял, по какому принципу работает GG...
     
  13. slavik123123123

    slavik123123123 Старожил Пользователь

    Баллы:
    143
    Имя в Minecraft:
    Leymooo
    Может боты ломаются когда у них инвентарь начинает меняться и они перестают слать keepAlive или как там пакет называется?
     
  14. FSka

    FSka Новичок Пользователь

    Баллы:
    6
    Имя в Minecraft:
    FSka
    Бери GameGuard, и не парься.
    И кстати 1.5.2 давно устарела.
     
  15. MrTrojan

    MrTrojan Активный участник Пользователь

    Баллы:
    98
    Имя в Minecraft:
    BlackTrojan
    Гаст помоему говорил про какие-то фейковые пакеты (если память не изменяет).
     
  16. _AndreyBarna_

    _AndreyBarna_ Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    MainDRY
    Гаст говорил что боты посылают чутка другие пакеты
     
  17. SimMiMo

    SimMiMo Активный участник Пользователь

    Баллы:
    76
    Тупые боты - да.
    Достаточно посылать нужные пакеты и бота никак не отличить от игрока.
    Также выставьте правильный пакет рейт.
    Подробнее: http://wiki.vg/Protocol_FAQ
     
  18. Dymeth

    Dymeth Активный участник Пользователь

    Баллы:
    98
    Имя в Minecraft:
    Dymeth
    Короче понятно, всё упирается в кривых ботов. Честно говоря, у меня нет желания обходить защиту ГГ, чтобы выяснить, что же там за система такая. Против школоботеров вполне помогут и те способы, о которых выше велась речь. Да и срач опять может начаться.
    Если уж совсем мощная защита нужна, то можно смотреть, что передают на сервер реальные игроки. И при отклонении от общей системы кикать/банить/расстреливать ботов.
     
    Последнее редактирование: 18 авг 2016
  19. Shevchik

    Shevchik Старожил Пользователь

    Баллы:
    173
    Имя в Minecraft:
    _Shevchik_
    Вот частичный список того что обычно забывают имплементировать авторы тупых боталок:

    1. Мусор вместо hostname в hadshake пакете, и вместо порта соответственно тоже. (http://wiki.vg/Protocol#Handshake)
    2. Не шлют пакет clientsettings после соединения (http://wiki.vg/Protocol#Client_Settings)
    3. Не шлют custom payload mc|brand после соединения
    4. Не отвечают на keepalive (http://wiki.vg/Protocol#Keep_Alive_.28serverbound.29)
    5. Не отвечают на confirm transaction (http://wiki.vg/Protocol#Confirm_Transaction_.28serverbound.29)
    6. Не высылают flying каждую секунду (http://wiki.vg/Protocol#Player)
     
    Последнее редактирование: 20 авг 2016
  20. mine88

    mine88 Старожил Пользователь

    Баллы:
    143
    #Shevchikpishetobhodnagg
     

Поделиться этой страницей