SVN exploit
Sep. 24th, 2009 06:18 pmПо-моему в этой истории самое интересное - не сам эксплойт (он-то как раз довольно скучен, в смысле hack value) а тот факт, что в такой массе (крупных!) компаний совершенно отсутствует понятие релиз-менеджмента. Делают просто svn co в корень сайта и понеслось.
Фактическая statelessность HTTP протокола сыграла с индустрией злую шутку in da long run.
Фактическая statelessность HTTP протокола сыграла с индустрией злую шутку in da long run.
no subject
Date: 2009-09-24 02:24 pm (UTC)меня намного больше удивило, что такому количеству админов неочевидно обязательное наличие в конфигурации Deny from all на все что матчится с CVS|\.svn
no subject
Date: 2009-09-24 02:39 pm (UTC)no subject
Date: 2009-09-24 05:44 pm (UTC)no subject
Date: 2009-09-24 02:56 pm (UTC)Даже в нашей микрокомпании выкатывание чего-либо на боевые машины делается RPMом. Хотя конечно я понимаю, что такие релиз-менеджеры в spec добавят не список файлов для релиза, а корневую директорию проекта, их наверное и RPM не спасет.
no subject
Date: 2009-09-24 03:23 pm (UTC)мне интересно - более человеческого для юниксов ничего не придумали? помимо rpm и pkg_add? и так чтоб везде работало?
no subject
Date: 2009-09-24 03:40 pm (UTC)Все программы у нас естественно выкладываются тоже собранные - в *.deb или бинарник хотя бы.
no subject
Date: 2009-09-24 03:49 pm (UTC)Пока нет.
Если у тебя развесистая верстка, то co лучше т.к. выкладывает 2 изменившихся файла, а не все дерево.
rsync *.rpm делает тоже самое и даже лучше. Он может выложить 2 изменившихся байта :-) И я в этом месте не понял - Яндекс экономит на трафике?
Опять же в случае если какой-нибудь #удак с рутом файлик поправит прямо на сервере это будет видно при следующей выкатке.
rpm -V
И вообще. Ничто не мешает автомеханику откручивать гайки пассатижами, а не гаечным ключом, а электрику использовать изоленту вместо клемм. Это считается непрофессиональным не потому что клеммы и ключи очень понтово выглядят, а потому что повышает шанс остаться с руками, пальцами и живым. Разница между профессионалом и любителем фактически в матожидании.
no subject
Date: 2009-09-24 04:22 pm (UTC)Почему пока - что секретного может быть в коде который пользователю весь отдается?
rsync rpm тебе только rpm скачает - его же еще ставить надо, что все файлы перепишет. Плюс rpm гзипованный - там нифига не 2 байта меняются при смене одного файла.
Яндекс экономит на времени раскладки релиза. Если тебе нужно выкатить верстку на 300 морд, чтобы чтобы они все не были одновременно в ауте это может занять некоторое время.
no subject
Date: 2009-09-25 04:31 am (UTC)Там могут быть скрипты, в них пароли, структура базы или любая другая информация, напрямую юзеру не отдающаяся. Суть релиз менеджмента тут заключается не в наличии как такового RPM'а, а в том что возникает формализованная стадия формирования выходного продукта и в процессе разработки возникает стадия согласования "вот это мы отдаем на морду, а это нет".
Duct tape programmer по Джоэлу не только работает изолентой, но он еще и избыточно умный, что позволяет ему срезать углы. В Яндексе это не так - изолента есть, но при этом остаются .svn директории. Моя точка зрения заключается в том, что не надо применять изоленту там, где под рукой есть термоусадка и тепловой пистолет. Углы делятся на те, которые имеет смысл срезать и те, выигрыша от срезания которых практически нет.
Яндекс экономит на времени раскладки релиза. Если тебе нужно выкатить верстку на 300 морд
I feel being played. Релиз менеджмент в данном случае заключается в установке 301-ой морды, на которую накатываются релизы и с которой все клонируется на 300 боевых морд по расписанию rsync'ом, unison'ом or чем-нибудь еще.
(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2009-09-24 04:42 pm (UTC)no subject
Date: 2009-09-24 04:52 pm (UTC)(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2009-09-28 11:11 am (UTC)no subject
Date: 2009-09-28 11:32 am (UTC)no subject
Date: 2009-09-24 05:01 pm (UTC)no subject
Date: 2009-09-24 05:18 pm (UTC)no subject
Date: 2009-09-24 05:36 pm (UTC)no subject
Date: 2009-09-24 05:48 pm (UTC)2. Нет, бинарники не кладу.
no subject
Date: 2009-09-24 05:54 pm (UTC)(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2009-09-24 06:01 pm (UTC)если с вываливанием мне еще понятно, то не объясните что плохого в выкладывании бинарников в репозиторий?
у нас в свое время было именно так. да, репозитории были большие, но собрать второй раз давний спец-релиз так, чтобы подхватились отладочные символы при отладке, как показала практика, не получалось.
если что - это был msvc, но что-то мне подсказывает, что дело не в нем...
no subject
Date: 2009-09-24 06:06 pm (UTC)Релиз один раз сложили и до свидания. Это можно и без репозитория сделать. Сложить в любой каталог, который бэкапится. Разделив по версиям предварительно.
(no subject)
From:no subject
Date: 2009-09-24 06:19 pm (UTC)no subject
Date: 2009-09-24 06:23 pm (UTC)(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2009-09-24 08:10 pm (UTC)Это даже не про релиз-менеджмент, а про билд-менеджмент и деплоймент. Говно не должно попадать куда попало в принципе. Для этого можно разным пользоваться, не суть.
И еще, я считаю, на админах не надо экономить. Если админ нормальный, он такого не устроит. Почему-то считается, что админы должны быть дешевле разработчиков. (Или дурее?) Ну вот и жрите теперь сэкономленное.
no subject
Date: 2009-09-25 04:37 am (UTC)no subject
Date: 2009-09-25 09:38 am (UTC)