экспресс-сеанс, как предотвратить атаку с исчерпанием ресурсов сеанса / файла cookie?

Настройка

В настоящее время я пытаюсь создать веб-приложение с помощью NodeJS Express, и я использую экспресс-сеанс для управления сеансами и хранения сеансов в Redis.

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

Пример:

router.get('/', function(req, res){
  req.session.username = someUsername;
  res.send({authentication: "success"});
});

При таком подходе пользователь может войти в одну и ту же учетную запись, используя разные компьютеры/браузеры и т. д. И он сможет оставаться в системе до тех пор, пока не выйдет из системы или пока не истечет срок сеанса.

Вопрос

Теперь мне было интересно, что мешает человеку саботировать вход в систему, очистку файлов cookie и вход в систему снова (промыть и повторить)? При таком подходе пользователь может создавать бесконечное количество сеансов и вызывать сбой моего приложения (из-за нехватки памяти или заполнения моего хранилища). Как другие сайты справляются с этим?


person user3242477    schedule 27.07.2020    source источник
comment
Это может быть полезно stackoverflow.com/questions/42782761/   -  person dulebov.artem    schedule 27.07.2020
comment
вопрос по этой ссылке кажется очень похожим на мой. и для решения я знаю, что срок действия простаивающих сеансов истекает, но когда приложение подвергается атаке, срок действия сеанса не истекает   -  person user3242477    schedule 27.07.2020
comment
Я думаю, что для хорошей защиты требуется какое-то активное программное обеспечение. Первое, что приходит в голову, это 1) защита от ddos ​​- не позволяйте никому лить запросы с ip на маршрут входа в систему 2) вы можете написать кусок кода, который отслеживает учетную запись, в которой есть какая-то вредоносная активность, и забанить ее.   -  person dulebov.artem    schedule 27.07.2020