Как бороться с DDOS атаками на node?
Примерно так:var http = require('http');
var ipTables = {};

var server = http.createServer((req, res) => {
    //Ваш обработчик запроса или express/connect вместо него
});

server.on('connection', socket => {
    var ip = socket.address().address;
    var time = Date.now();
    if(ip in ipTables) {
        if(time - ipTables[ip].time > 3000) {
            ipTables[ip] = {
                count : 1,
                time
            };
            return;
        }
        ipTables[ip].count++;
        ipTables[ip].time = time;
        if(ipTables[ip].count > 100) {
            socket.end('HTTP/1.1 429 Too Many Requests\n\n');
            socket.destroy(); //Обрываем соеденение, так как ip ломится слишком часто
        }
        return;
    }
    ipTables[ip] = {
        count : 1,
        time
    };
});

server.listen(80);
Если настроить защиту в proxy или load balancer не вариант по каким то причинам, придется делать это в node.js
Я использую пакет rate-limiter-flexible
Позволяет ограничивать трафик, настроить дополнительные правила, а также у него есть стратегии блокировки и страховки, если у вас node.js запущен в кластере или на нескольких серверах