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

взято отсюда: 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: Еще я тот день сломались очки и мы чинили их аппаратом для сварки аккумуляторов и паяльником (неуспешно). А потом я весь вечер в перчатках перебирал мусорное ведро в поисках случайно выброшенной крошечной шестеренки от сервы (нашел). А под конец дня наша компания уволила половину сотрудников (я в следующей половине на увольнение, через месяц-два по моим прикидкам). Отличный был вчера денёк!



 •  0 comments  •  flag
Share on Twitter
Published on December 03, 2024 08:18
No comments have been added yet.


Леонид Каганов's Blog

Леонид Каганов
Леонид Каганов isn't a Goodreads Author (yet), but they do have a blog, so here are some recent posts imported from their feed.
Follow Леонид Каганов's blog with rss.