И почему не Джумла?:)
2016-Feb-19, Friday 19:33![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
...он с любопытством ковырялся в пойманном проклятии, всё ещё колебавшемся на кончике палочки, вытягивал пальцами красные искры и отщёлкивал их в стороны, разбирая заклинание на части, словно детскую игрушку-конструктор...
Домен зареган 1 ноября 2013.
Сайт залит на хостинг 6 ноября 2013.
8 ноября 2013 в него добавлено минимум три закладки формата "приход с запросом POST на определённый URI сотворяет и исполняет PHP код" и одну формата "создаём ежеминутное задание в кронтаб, исполняющее созданный 1.sh который творит бинарные файлы libworker.so и /usr/bin/host, причём их содержимое зависит от архитектуры. :)
В 2014 и в 2015 годах, явно по случаю продления домена, админы хостинга просыпались и обращали внимание, что сайт что-то делает не то. На тему чего его блокировали и частично очищали от говна (но часть говна, особенно бинарник /usr/bin/host, жила неизменно).
Cледы этого - в тикет-системе хостера, с датами блокировок
24 января (неизвестно, правда, каким кодом, и мне откровенно лень искать) в корне сайта было нагенерено около 80 тысяч статических .html, представляющих собой фишинговые страницы, имитирующие страницы магазинов японоязычного содержания, при этом сделанные как "якобы вы сюда пришли с результатов поиска в Yahoo", но формочки при этом отправляют POST с интересными данными на разные странные адреса.
25 января хостер написал ругательство - исправьте в течение недели а то заблокируем.
Примерно вчера заблокировали.
Иными словами, в течение 2 с лишним лет сайт не столько служил его заказчику, сколько помогал зарабтывать бабло целой пачке злоумышленников.
Сегодня я всего лишь копаюсь в коде этого угробища.
no subject
Date: 2016-Feb-23, Tuesday 20:47 (UTC)Ну, ssh тоже еще не было. Но вообще-то тут правильная мысль не та, что HTTP начали без авторизации, а та, что HTTP стали применять не по назначению. Видишь ли, HTTP изначально вообще не был предназначен для иной раздачи, кроме публичной. PUT в нем заложили плюс-минус изначально, но он оказался мертворожденным. По сю пору его почти никто не умеет. Ну, DAV-клиенты вроде научились. Без году неделя... Про авторизацию-то сразу подумали, но сразу и решили, что не надо ее закладывать в протокол, кроме кода 401. Есть мнение, что правильно решили-то...
> Чтоб тебя не пугать слово "рут" - заменим его на admin
Ты сам сказал про sudo.
Ну да, при наличии ACL (что уже несколько выбивается за юниксовую модель прав, ну ладно) твоя схема с некоторыми изменениями годится. В смысле, as is она тоже годится, но для совсем уж тривиальных задач. А как только у тебя на сайте появляется две различных роли стаффа, так сразу подавай ACL. Потому что роль реализуется группой, а в юниксовой модели as is группа у файла одна. Ну, к счастью, процесс может разрешить доступ к группе, которой у него своей нет (иначе б облом). Если есть ACL. То есть возможность использовать твою модель у нас намного моложе, чем юникс и HTTP. ACL у нас появились, кажется, в начале 2000-х, хорошо если не в середине первой декады. А во FreeBSD даже и не знаю, есть ли вообще.
В общем, да, без рута можно обойтись. Правда, теперь уже просто файл не создашь, а надо непременно развешивать на него ACL по числу ролей. На каждый. Движком. Откуда, кстати, брать список ACL под данный конкретный файл - тот еще вопрос... Нет, понятно, что из конфига сайта. Только... Там будет уже настолько сложная логика, что это будет уже код. И рутовые права при апдейте этого конфига, поскольку доступ к файлу может поменять либо его владелец, либо рут, а у тебя будет дофига файлов с разными владельцами. Ты все еще полагаешь, что это безопаснее, чем то, что есть? Really?
P.S. За бэкапы. Я реалист. Не всегда можно сделать, как у меня, когда база бэкапится на другую машину раз в час. Более вероятно, что бэкап за пределы хоста удастся делать довольно редко, а еще более вероятно - что такой бэкап будет максимум один, и всей системы целиком, хостеры если предоставляют бэкап, то только такого рода. А база-то немаленькая, в офис в Таганроге ее раз в час не особо забэкапишь. А там еще картинки, и вскоре их тоже станет немало.