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

Плагин [Antibot] BotFilter - Защити свой сервер от ботов | Update 23.05.2019 | Теперь с капчей | 1.8-1.14.1

Тема в разделе "Неподтвержденные плагины", создана пользователем slavik123123123, 19 июл 2017.

  1. sugeb

    sugeb Ньюби

    Баллы:
    1
    Имя в Minecraft:
    sugeb
    Разумеется, ни один проект на 100 онлайна не наберет (а сейчас такое время, что 100 онлайна - еле-еле самоокупаемость) денег, достаточных, чтобы заказать поиск, изучение и фикс (а ведь еще не факт, что на уровне банжи это вообще реально) такого типа проблемы на самой bungee, это не мелкий плагин написать - тут ценники у опытных майн кодеров от 30к. C TL там много не нужно. Грубо, 3к дал на рекламу, 3,5к вернулось. Но достаточно разок потерять рекламу и ты в хорошем минусе.
     
  2. Mr Hosting
  3. Evgeny Petrov

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

    Баллы:
    6
    Имя в Minecraft:
    Evgeny
    Netty очень жесткая штука, для нее просто воздух 3k, если грамотно сразу закрывать соединение и больше ничего не делать. Далее после закрытия заносим бота в хешмапу/лист, потом выгружаем допустим в .txt или еще что-то, потом отправляем другой утилитой на бан все это дело. Как вариант - iptables+ipset и ваша атака станет 1 мбит/с атакой syn пакетами. Посудите сами, чисто из теории: syn tcp пакет будет дропаться от вашего бота, то есть до банжи даже не дойдет. Следовательно, ни о каком payload уже и речи нет, эффект для сети будет минимальным.
    Но любой проект "сверху" зарабатывает немыслимые бабки и может пофиксить такое.
     
  4. sugeb

    sugeb Ньюби

    Баллы:
    1
    Имя в Minecraft:
    sugeb
    На какие-либо команды во время атаки от банжи ответа добиться безуспешно. Под ботами я не имею ввиду полноценно сформированные имитации игроков, пытающиеся войти (и решить к примеру капчу), может это и так, а может просто какие-то хитрые запросы. Во всяком случае, в логах банжи (типа [INFO] [/213.87.121.8:18864] <-> InitialHandler has connected) их вроде нет. Анализ по количеству адресов я делал анализируя трафик wireshark при остановленной банже. Жаль тогда не додумался больше данных сохранить, частоту запросов, да и tcpdump сохранить... но спешил.
     
  5. Evgeny Petrov

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

    Баллы:
    6
    Имя в Minecraft:
    Evgeny
    Допишите в банжу просто логирование ip шников при всплесках и дальше думайте что с ними делать, например - на бан и все дела.
     
  6. MurlikMurlik

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

    Баллы:
    76
    Банжа пишет какой игрок с каким ип зашел на проверку. Разве там нет таких сообщений? Вроде бы, при атаке, таким образом так же можно узнать скорость атаки. Хотя вроде бы и это тоже исправлено, в лог не отправляется одно и тоже много раз. Писал я плагин на баны для банжи, ивентом отменял вход, и при второй попытке, даже сообщения не было в консоли, тупо сразу вылет с сообщением.
     
  7. sugeb

    sugeb Ньюби

    Баллы:
    1
    Имя в Minecraft:
    sugeb
    Я делал дополнительный софт для блокирования атаки quake3 сервера, лет 5 назад. Там все просто, боты имели специфические признаки - они запрашивали статус сервера слишком часто, сравнительно с нормальными игроками. Просто велся учет числа запросов за время на ip, если превышалось, софт кидал ip в блок фаера. Тут наверное можно провернуть что-то подобное. Но как я отличу бота от игрока, особенно во время рекламы, когда поток новых игроков высокий, а поток запросов статуса сервера, в норме даже - просто высочайший. Видимо придется изучать протокол, раскладывать все запросы по полочкам...
     
  8. Evgeny Petrov

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

    Баллы:
    6
    Имя в Minecraft:
    Evgeny
    Чтобы остановить атаку достаточно забанить на фаерволе все ip адреса, ну а как их собрать я дал идеи - просто ждать всплеска и дописать в код логировать все ip которые за секунду резко подключились.
    Тут у ботов нет шанса уже, так как они зашли скопом и спалились. Только если начнут коннектится постепенно. Я кстати и таких ботов пару лет назад видел.
    Все-таки слабо верится в идеальных ботов, которые не оставляют следов, где-то ваш хакер что-то забыл дописать, где-то бот будет себя странно вести, в какой-то ситуации. Там его и заносите.
    Тут или автор бот-банжи Славик напишет, или придется вам погружаться в протокол.
     
  9. Evgeny Petrov

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

    Баллы:
    6
    Имя в Minecraft:
    Evgeny
    Раз вам помогло включение задержки на подключение, значит боты не идеальны и оставляют следы. Значит их список уже можно отловить.
     
  10. sugeb

    sugeb Ньюби

    Баллы:
    1
    Имя в Minecraft:
    sugeb
    В данном случае задача несколько шире, держать ддос, но не терять рекламу. (Как просто держать ддос под рекламой, можно еще проще делать - 2й сервер, вторая банжа, кинутая на подсерва с 1го сервера. Рекламируем ip на 2м, ее ддосят, но 1й и он же основной серв жив и без проблем.)

    Что же будет, если начнется ддос при стратегии забанить скопом: Допустим, на сервере 120 человек, с рекламы делают запрос онлайна потенциальные новые игроки - 10 раз в секунду (браузер в лаунчере), раз в 5 секунд заходит новый игрок.
    Начинается ддос, в первую секунду вылетает человек 60 онлайна. Проц на 100%. Антиддос тулза начинает реагировать. В это время вылетевшие 60 человек пытаются почти сразу перезайти. Антиддос тулза собирает IP, среди которых будет человек 50 вылетевших тру игроков, полтыщи ботов и 10-20 потенциальных полезных новых игроков. Ну и в бан. Ддосер заводит партию новых ботов, итерации повторяются и т.д. Ботов конечно нет, но какой ценой (кстати, некоторые атакуемые проекты пробовали такую тактику, судя по записям в группах "все, кто случайно попали под бан антибота разбанены").
     
  11. sugeb

    sugeb Ньюби

    Баллы:
    1
    Имя в Minecraft:
    sugeb
    Да, как-то так. Может тут еще кто-то посоветует что полезное. А если простым путем не выйдет... Думаю, нужно будет на домашний ip взять рекламу, да подвергнуть ддос хорошему анализу, предварительно подготовившись.
     
  12. Evgeny Petrov

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

    Баллы:
    6
    Имя в Minecraft:
    Evgeny
    Реализация решает и прямота рук, копайте в сторону фильтрации в режиме реального времени, чтобы боты фиксировались до того, как игроки начали вылетать, я кстати недавно стал чаще находить в своих графиках резкие скачки на несколько тысяч подключений, и несколько тысяч адресов в бане на фаерволе ) Не знаю, какие ребята шалят.. не скажу что проект очень популярный, но некоторый онлайн есть ..
     
  13. Evgeny Petrov

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

    Баллы:
    6
    Имя в Minecraft:
    Evgeny
    Опять таки, если автор бота задрочится и сделает медленных ленивых ботов, которые 100% правильно шлют пакеты, здесь уже нужны будет нетривиальная проверка, капча не на мапах, а что-то любопытнее.
    Мапы в целом то несложно разгадать, в том и беда )
     
  14. Автор темы
    slavik123123123

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

    Баллы:
    143
    Имя в Minecraft:
    Leymooo
    Не может сразу отлететь 60 игроков, таймаут по дефолту 30 секунд у клиента, если сервер ничего не шлёт. Единственый вариант из-за чего может дропнуть онлайн, это овх, который любит сбрасывать TCP сессии когда атака начинается.
    Да и что мешает сделать список айпишников, которые не стоит банить?

    а их и не будет, пока не придёт какойто пакет от клиента.


    На данный момент я не собираюсь что либо с этим делать, т.к
    1. Мне тупо лень во всем этом разбираться.
    2. У меня пропал уже какой либо интерес продолжать поддерживать BotFilter. Я буду иногда обновлять под последние билды банджи или фиксить баги какието связаные с бф.
    3. Мне нужно писать дипломную работу.
    4. БотФильтр будет переписываться на Velocity с нуля - https://github.com/VelocityPowered/Velocity/ , а версия для банджи будет заброшена.
    5. Это защита от ботов, а не от ддос атак. Ищите другого кодера который будет фиксить это в банджи.
      • Открылось TCP соединение, 5-10 секунд от него нет Handshake или LegacyPing пакета? - В бан
      • Ошибка при декодинге Handshake пакета? - В бан
      • Ошибка в VarIntDecoder? - В бан
      • Резкий всплеск TCP подключений? - В бан всех в течении 5-10 секунд
      • Дальше придумывайте сами
    6. Да и вообще ботфильтр это бесплатное приложение, которое писалось тупо из интереса к этому, поэтому отстаньте от меня.

    Всё что было описано в 5 пунке, скорее всего будет реализовано в порте для Velocity.
     
  15. AzbukaMiyna

    AzbukaMiyna Новичок

    Баллы:
    6
    По мне - обычный Syn Flood на 25565, копай в эту сторону
     
    Последнее редактирование: 11 фев 2019
  16. sanya_kot69

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

    Баллы:
    61
    Имя в Minecraft:
    lammendam
    Здравствуйте, подскажите, как скрыть/заменить указанную на скрине строчку?
    Заранее благодарствую.[​IMG]
     
  17. Автор темы
    slavik123123123

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

    Баллы:
    143
    Имя в Minecraft:
    Leymooo
    можно попробовать плагин F3Name
     
  18. sanya_kot69

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

    Баллы:
    61
    Имя в Minecraft:
    lammendam
    Спасибо, помогло.
     
  19. GrayWaorld

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

    Баллы:
    76
  20. Автор темы
    slavik123123123

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

    Баллы:
    143
    Имя в Minecraft:
    Leymooo
    это китайский чтоли? Я почемуто уверен, что генератор неможет настолько сильно исказить числа, что даже не одного не прочитать.
     
  21. GrayWaorld

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

    Баллы:
    76
    Не знаю. Игроки уже не однократно жаловались на такую штуку. Вот еще
    https://cdn1.savepice.ru/uploads/2019/2/25/385adb27de1cae98b075633c3eb7bdf2-full.jpg
     

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