Офис ожил. Серверы гудели, DevOps что-то колдовал в терминале, а безопасник уже строчил отчёт «Почему так случилось, и кто виноват».
Джун задумчиво сидел перед ноутбуком: «Если изоляция такая важная, почему её не делают по умолчанию?»
Он машинально открыл Telegram и увидел новость: «Хакеры взломали умные чайники и устроили DDoS-атаку».
— Сеньор, тут чайники взломали. Как?
Сеньор даже не удивился:
— Очень просто. У чайника были рутовые права.
Джун моргнул:
— Чайник. С root-доступом. Ты серьёзно?
DevSecOps хмыкнул:
— Ага. Потому что кто-то решил, что чайнику вдруг пригодится полный контроль над всей сетью.
— То есть, чайник — это как наш прод, где API комментариев умеет дропать базу?
Секьюрити ресёрчер кивнул.
— В точку. Минимизация — важнейший принцип безопасности. Чайнику не нужно управлять маршрутизатором. Сервису логов не нужен доступ к API платежей.
— Но иногда ведь удобно, если сервисы могут больше?
— Конечно, удобно... Так же, как удобно носить ключи от всех дверей дома в одной связке и терять их на автобусной остановке.
DevOps грустно посмотрел в монитор и вспомнил факт их прошлого:
— В 2016 году Mirai-ботнет устроил крупнейшую атаку, потому что устройства имели дефолтные пароли и слишком много прав. Камеры наблюдения превратились в оружие хакеров.
— А что нужно было сделать?
Сеньор ответил без раздумий:
— Least Privilege. Минимальные права. Default Deny. По умолчанию запрещено всё, разрешается только строго необходимое.
Джун покачал головой, не понимая:
— Получается, мой умный чайник — умнее моего кода? Он хотя бы кипятит воду и не пытается получить root-доступ?
Секьюрити ресёрчер усмехнулся:
— Если ты не напишешь код правильно, он может и это начать делать.
Продолжение следует...
Вынос пользы для джуна:
▪️Минимизация прав — меньше атак. Если сервис умеет только то, что нужно, его сложнее взломать.
▪️Default Deny — безопасность по умолчанию. Если ты не задал явные права, у процесса их нет.
▪️Least Privilege — у каждого сервиса только необходимые полномочия. Если API комментариев не должен менять данные в биллинге, то он и не должен их иметь.
▪️Нельзя проектировать системы по принципу «а вдруг пригодится». Не давай чайнику права root!
Пояснительная бригада:
Mirai-ботнет (2016): использовал устройства с дефолтными паролями, превращая их в часть ботнета. В результате были атакованы крупные сервисы, включая Twitter, Netflix и GitHub. Подробнее читай тут.
Least Privilege: система должна работать по принципу «минимально необходимых прав». Это особенно критично в облаках и контейнерных средах.
Default Deny: если не знаешь, нужно ли что-то разрешить — запрещай по умолчанию. В сетевых политиках (например, firewall) это ключевая практика.
RBAC (Role-Based Access Control): настройка прав доступа через ролевую модель — только необходимое.
Ставь 😂, если хочешь себе такой чайник.
Ставь 👍, если у тебя сервис имел прав больше, чем должен был.
#поиграемвКИ
