Войти в систему

Home
    - Создать дневник
    - Написать в дневник
       - Подробный режим

LJ.Rossia.org
    - Новости сайта
    - Общие настройки
    - Sitemap
    - Оплата
    - ljr-fif

Редактировать...
    - Настройки
    - Список друзей
    - Дневник
    - Картинки
    - Пароль
    - Вид дневника

Сообщества

Настроить S2

Помощь
    - Забыли пароль?
    - FAQ
    - Тех. поддержка



Пишет Леонид Каганов ([info]lleokaganov)
@ 2024-12-03 19:18:00


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