Предотвращение атак Flooding / DOS в приложении Java / AMF - PullRequest
1 голос
/ 15 августа 2011

Я работаю над бэкэндом Java для веб-игры Flash - клиент и сервер обмениваются данными в формате Action Message Format (AMF).Несколько недель назад другая команда в нашей компании взломала свой продукт пользователем, который декомпилировал Flash-клиент, и использовала измененную версию для наполнения бэкэнда поддельными запросами.Мы хотим предотвратить подобные атаки в нашей новой игре.

(Подробнее: используется веб-сервер Tomcat, клиент AMF - BlazeDS.)

Я хотел бы знать, какой путь лучшепредотвратить такого рода атаки будет.Некоторые идеи, которые у меня были:

  • конфигурация nginx казалась лучшим местом для обработки ограничения скорости, но я не могу найти никаких ресурсов о том, как nginx взаимодействует с AMF.Запросы AMF отправляются прямо в Tomcat?

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

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

1 Ответ

0 голосов
/ 25 октября 2011

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

...