Я веду один из проектов на Heroku Standard 2x dynos
план. Все работало нормально, до недавнего времени я начал получать уведомления от нашей программы проверки работоспособности, что веб-сайт не работает. После внимательного изучения логов я заметил, что большинство запросов приходит с одного IP. Судя по всему, все запросы исходят от какого-то автоматизированного скрипта или инструмента, который пробует все возможные инъекции JS и SQL.
После ручной блокировки IP в конфигурации Nginx все прошло вернуться в норму.
У меня вопрос, как я могу автоматически предотвратить это в будущем, и действительно ли у Heroku нет простой защиты от DOS (даже от DDoS), если с одного IP-адреса поступают сотни запросов в секунду?
Ставить CloudFlare или что-то подобное перед вашим экземпляром и заблокируйте трафик на уровне брандмауэра, который не исходит от CloudFlare или вашего собственного IP-адреса. CF поглотит или отразит большинство атак DOS. Я не знаю, сможете ли вы сделать это легко на аппаратном брандмауэре в вашей среде, делать это после того, как трафик достигнет вашего сервера, довольно бессмысленно. В AWS вы бы изменили свою группу безопасности или сетевой ACL.
Возможно, вам потребуется изменить свой IP-адрес, поскольку ваши записи DNS опубликовали этот IP-адрес. Опять же, не уверен, возможно ли это в вашей системе хостинга, но, например, в AWS это довольно тривиально.