Вопросы безопасности серверов

Dec 03, 2024 19:18

© взято отсюда: https://lleo.me/dnevnik/2024/12/03
Волею судеб по работе я распоряжался сервером со всякими проектами - там жили всякие демо-сайты, проекты в разработке, зоопарк демок онлайн-магазинов, к которым мы писали плагины, всевозможные демо-ноды, бэкенды и еще куча сайтов и сервисов, заодно lleo.me. И вот не было печали - решил я сделать всё наконец грамотно и безопасно:
- завел каждому сайту собственного юзера;
- завел каждому сайту, что использует PHP, изолированный php-fpm-сокет;
- выставил правильные права на все папки 770 и правильные группы (пришлось скриптик написать), чтобы никому ничего чужого не было доступно при всем желании;
- запретил в php доступ к чужим папкам, только к собственной и /tmp (пришлось повозиться, попатчить пару моих сайтов и магазинов, которые лезли тестировать существование запрещенных им ныне папок типа "/";
- ну а пользователи MySQL и раньше были у всех отдельные;
- всем остальным пользовтелям оставил только ограниченные права, логин только по ключу;
- вычистил из .ssh/authorized_keys все непонятные и древние ключи типа моего старого ноутбука (нахера он?), оставил только свой комп, ну и ключи вышестоящего админа компании, который мне этот сервер выделял;


Казалось бы, что может пойти не так? У меня всё может пойти не так. Внезапно посреди бела дня сгорает мой любимый комп Intel NUC, прослушивший мне много лет. Выгорает чипсет платы - похоже, у Intel NUK это норм, он у меня сгорел так же в первый год, заменили по гарантии. Сохранность диска неизвестна, и проверить пока нечем. Я вытащилс антресолей свой старый ноут, но в него эта SSD не лезет. А ключи все остались на диске. А вышестоящий админ, оказывается, в компании сейчас не работает, связь с ним потеряна - написал на оба адреса, что были, ответа нет. Пробовал взломать свой сервер через лазейку от другого пользователя - там поднят сервис systemd для Джанги, конфиг демона лежит в пользовательской папке, а права на запись я забыл снять. Попробовал попатчить его, чтоб запускался от рута и вписывал мне в /home/lleo/.ssh новые ключи. Но тоже не сработало. Нужна, как минимум, перезагрузка сервера, чтобы демоны перезапустились по-новой. Слишком хорошо настроен. Итого: сайты работают, админские доступы сохранены (я же пишу как-то этот пост), но контроль над сервером пока потерян.
Мораль: не занимайтесь излишней безопасностью серверов, кроме проблем, это ничего не принесет. Даже если продумать заранее десяток лазеек и запасных вариантов по возвращению доступа, каждый из них - тоже своя лишняя уязвимость.
PS: Еще я тот день сломались очки и мы чинили их аппаратом для сварки аккумуляторов и паяльником (неуспешно). А потом я весь вечер в перчатках перебирал мусорное ведро в поисках случайно выброшенной крошечной шестеренки от сервы (нашел). А под конец дня наша компания уволила половину сотрудников (я в следующей половине на увольнение, через месяц-два по моим прикидкам). Отличный был вчера денёк!



Previous post
Up