malikov.tech

Безопасность сервера.

⁃ По хорошему все должно быть закрыто, запаролено, зашифровано и запрещено. ⁃ отключаем логин по ssh и паролю, только ключи. ⁃ ставим fail2ban. ⁃ закрываем все порты кроме https. ⁃ По хорошему нужно мониторить api запросы на предмет наличия вредоносных активностей. ⁃ Для этого хорошо подойдет какой-нибудь waf. выбор не велик, но можно начать с ознакомления с этими решениями - https://itsecforu.ru/2017/07/20/5-%D0%B1%D0%B5%D1%81%D0%BF%D0%BB%D0%B0%D1%82%D0%BD%D1%8B%D1%85-web-application-firewall/ ⁃ Помимо зловредной активности есть еще просто паразитная (например scrapping боты или снифферы сигнатур для последующей эксплуатации известных уязвимостей ⁃ С ними можно бороться автоматически, хоть это и не сильно обеспечивает гарантию 100 результата. Правда любой rate limit запросов нужно к чему-то привязывать, а значит вычислять fingerprint пользователя. В простом сценарии user-agent + ip может помочь для ограничения кол-во запросов в единицу времени. Но концептуально для этого существует специальное ПО, но как правило оно стоит как крыло от боинга и для его администрирования и настройки нужно неплохо так знать матчасть. Поэтому тут я бы предложил воспользоваться услугами профильных компаний. Рекламировать никого не буду, но их в рф не так много. Гуглится как защита от ddos атак. ⁃ Ну и кстати да, защита от ddos хотя бы на уровне продуманной архитектуры - куда можно перепарковать домен, чтоб отбиться от атаки - это бывает не лишним, если ваши конкуренты не чисты на руку и не стесняются грязных приемов, ну или вы кому-то не понравились, а может попали просто под раздачу. Увы, но в современном мире даже личная веб страничка с портфолио может быть подвергнута "случайной" атаке.


В сухом остатке вот необходимый минимум (имхо): ⁃ Помимо git & ci/cd (без которых ну просто вот уже совсем не стоит что-то делать) ⁃ Grafana + prometheus для сбора метрик и их визуализации ⁃ Alertmanager/Grafana для уведомления, если что-то пошло не так ⁃ Graylog/Loki для анализа логов сервера ⁃ Sentry как инструмент проактивного поиска проблем приложения ⁃ Pingdom или аналоги для мониторинга внешней доступности ⁃ Borg или аналоги для снятие бекапов ⁃ Продумывайте архитектуру для переключения инфраструктуры на защиту от ddos заранее ⁃ Используйте WAF по возможности

И есть еще объемнейший пласт того, что нужно делать во время создания кода и за чем нужно следить после его написания. Но это уже чуть-чуть иная история.