В открытой панели управления хостингом Zpanel выявлена (http://seclists.org/fulldisclosure/2013/Jun/39) критическая уязвимость, позволяющая любому пользователю, имеющему доступ к интерфейсу панели управления (в том числе клиентам и реселлерам), выполнить произвольные команды на сервере с правами пользователя root. Ошибка вызвана сочетанием отсутствия должных проверок входящих значений с наличием средств для выполнения произвольных операций с правами пользователя root.
В частности, пользователь может поменять пароль root указав вместо имени пользователя ";/etc/zpanel/panel/bin/zsudo "echo 'newpassword'" "| passwd --stdin root" #", а затем включить возможность входа пользователем root по ssh указав ";/etc/zpanel/panel/bin/zsudo sed '-i "s/#*\(PermitRootLogin\)/\1 yes
\#/" /etc/ssh/*hd*g' #". Проблема пока остаётся неисправленной и присутствует в последнем (http://www.zpanelcp.com/download/) стабильном выпуске Zpanel 10.0.0.2.URL: http://seclists.org/fulldisclosure/2013/Jun/39
Новость: http://www.opennet.me/opennews/art.shtml?num=37127
Вах-вах.
>> Вах-вах.Ы ы ы :)
некоторые панели управления хостингом пытаются рекламироваться исключительно подобным образом...
Да не, все проще. Лето. У школьников и студентов наступили каникулы. И это заметно :)
Интересен ход мыслей потенциального хостера-внедрителя подобной панели...
наверное что-то вроде... Круто в этой панели найдена уязвимость - необходимо установить ее как можно скорее.
> наверное что-то вроде... Круто в этой панели найдена уязвимость - необходимо установить
> ее как можно скорее.Между прочим, замечательная защита от забытого пароля рута. Можно даже удаленно восстановить.
Что-то вроде. Епа мать! * и руки сами набирают* chmod -x ...zsudo*
понятное дело, что хостеры для себя такое ставить не будут. А вот для клиентских ВПС как альтернативу вебмину - очень даже.
> некоторые панели управления хостингом пытаются рекламироваться исключительно подобным
> образом...Это как девушки из шоу-бизнеса у которых совершенно случайно на вечеринке спадает юбка,
и становятся видны все прелести? А потом - скандалы, интриги, расследования...
> некоторые панели управления хостингом пытаются рекламироваться исключительно подобным образом...Надо Марку идею подкинуть. Если он оценит - будет весело :)
наказали сами себя// похожие новости напоминают о том случае
Мде. Что-то больно часто стали выявляться дыры в админских панелях. Неспроста это.
тут надо задавать вопрос: кому это может быть выгодно.
У каких из коммерческих панелей в последнее время не находили серьезных уязвимостей?ЗЫ: просто мысли вслух )))
капча 33777В общем, если бы вы внимательно следили за новостями, то в прошлый раз причиной возможности получения рута - была беспрецедентная халатность разработчиков относительно безопасности.
> капча 33777
> В общем, если бы вы внимательно следили за новостями, то в прошлый
> раз причиной возможности получения рута - была беспрецедентная халатность разработчиков
> относительно безопасности.каюсь, не следил )))
> была беспрецедентная халатность разработчиков относительно безопасности.Ну так слабая валидация входных данных при этом является логичным следствием...
> В общем, если бы вы внимательно следили за новостями, то в прошлый
> раз причиной возможности получения рута - была беспрецедентная халатность разработчиков
> относительно безопасности.Эта халатность проявилась уже у 3-х панелей за эту неделю.
Какие-то другие закрытые продукты могут успешно не объявлять об уязвимостях или даже взломах, а хакеры помогать этим проектам открыто тоже не хотят
> Эта халатность проявилась уже у 3-х панелей за эту неделю.Насчет cpanel пока ничего не ясно, так что считаем только plesk и zpanel.
никому это не выгодно. Секрет очень прост - разработчики всех таких панелей низкоквалифицированные говнокодеры. Часто это даже обыкновенные пыхеры.
Секрет прост: подобный (около)корпоративный буллшит в 99% случаев только гoвнокодеры и пишут. Поэтому большая часть подобной энтерпрайзятины - тот еще крап.
>буллшит
>крапТы опять выходишь на связь? Ну хочется "херня" написать, так напиши, зачем язык-то коверкать ненужными англицизмами?
Буллшит и крап - это такие баззворды.
Зачем говорить какими-то баззвордами? Общайтесь при помощи кроссвордов!11
> Зачем говорить какими-то баззвордами? Общайтесь при помощи кроссвордов!11Лучше загадками:
Разноцветное коромысло над пыхом повисло.
Не лает, не кусает, и вообще всех пускает.
Без рук, без ног, и его пользователи такие же.
> Разноцветное коромысло над пыхом повисло.
> Не лает, не кусает, и вообще всех пускает.
> Без рук, без ног, и его пользователи такие же.Что характерно: если заменить "пых" на "пистон", будет лучше вписываться в стихотворный размер.
> а чего я... сам дурак...ваши доводы впечатляют
Буратина, залогинься :)
ваши доводы впечатляют
Ты у нас вообще очень впечатлительный :)
> Ты у нас вообще очень впечатлительный :)И исполнительный. Каюсь, не читал, что меня там впечатляет, но раз попросили...
>> а чего я... сам дурак...
> ваши доводы впечатляютНу при чем здесь я? Просто очень забавно наблюдать, как адепт пистона рассуждает о кривости пыха. Пчелы против меда, рок против наркотиков, и все такое :)
> Пчелы против меда, рок против наркотиковПистонщики против кривых недоязыков...
> тут надо задавать вопрос: кому это может быть выгодно.Выгодно разработчикам самой zpanel. Херак-херак - и в продакшен. Думать не надо, о безопасности париться не надо - красота!
>У каких из коммерческих панелей в последнее время не находили серьезных уязвимостей?А какие свободные и популярные панели мы знаем ?
> А какие свободные и популярные панели мы знаем ?Вы можете знать только о тех, о которых в ваших M$-методичках написано.
> Мде. Что-то больно часто стали выявляться дыры в админских панелях. Неспроста это.Cpanel (?), Zpanel, Plesk. Кто-то начала рыть методы или таки кто-то за аудит кода взялся? Всё это похоже на листья одного дерева (по сабжу дуб, но "1 раз - случайность, 2 - совпадение, 3 - происки врага").
Месячник панелей на Securityfocus.com...
> Месячник панелей на Securityfocus.com...Месячник ZPANEL, а не «панелей»?
>> Месячник панелей на Securityfocus.com...
> Месячник ZPANEL, а не «панелей»?http://www.opennet.me/opennews/art.shtml?num=37108 Опубликован zero-day эксплоит для атаки на системы с панелью управления Plesk
Учите концоль.
Вангую возвращение славных времен, когда администрирование web сервера, почтовика и так далее было уделом тех, кто понял как все это работает и что с ним делать, знает и любит концоль. Остальные дотыкаются в свои админ панельки и пойдут на рынок обратно торговать тряпками, где им и место.
"Удобности" и "красивости" - зло.
> "Удобности" и "красивости" - зло.Точно. Надо портировать с доса command.com и использовать его в качестве дефолтного шелла, а всякие bash и zsh выкинуть к такой-то матери. Ибо "удобности". Чем сложнее и тяжелее админу - тем лучше.
Вы не путайте богатство функционала с удобностью, позволяющей всякому умственно неполноценному в два с половиной клика "настроить сервер".
А что не так с функционалом у command.com? Выполнить внешние команды с параметрами позволят, потоки ввода/вывода перенаправляет, разве что login и job control нет, но ими и так мало кто пользуется. Так что функционал командной оболочки там на месте. А вот всякие history, readline и прочая это уже удобности, которые Ъ-админу не нужны.
> А вот всякие history, readline и прочая это уже удобности, которые Ъ-админу не нужны.Во! Очень точно выразил мысль.
> Вы не путайте богатство функционала с удобностью, позволяющей всякому умственно неполноценному в два с половиной клика "настроить сервер".Ну так bash и zsh тоже удобности для умственно неполноценных. То ли дело command.com! Настоящий хардкор.
Two-Factor Authentication on FreeBSD (QR)http://www.nytechgroup.com/2011/10/05/two-factor-authenticat.../
> Two-Factor Authentication on FreeBSD (QR)QR-коды - теперь и в ядре FreeBSD?
Очень открытая панель управления хостингом. Особенно красиво в данном случае звучит фраза, проблема пока остаётся неисправленной и присутствует в последнем стабильном выпуске Zpanel 10.0.0.2. К этому творению слово стабильный лучше вообще не употреблять.Ошибка разработчиков в том что они не прислушиваются к ценным замечаниям других разработчиков, которые на форуме регулярно пишут об ошибках. Вместо того что бы взаимодействовать с сообществом разработчики Zpanel сами придумали себе алтарь и ходят вокруг него с бубном туда сюда.
> Ошибка разработчиков в том что они не прислушиваются к ценным замечаниям других разработчиков, которые на форуме регулярно пишут об ошибках. Вместо того что бы взаимодействовать с сообществом разработчики Zpanel сами придумали себе алтарь и ходят вокруг него с бубном туда сюда.форкни её
> форкни еёОт форка этого кода нет никакого толку, нужно создавать с нуля в данном случае. И лучше вообще не на PHP
> От форка этого кода нет никакого толку, нужно создавать с нуля в
> данном случае. И лучше вообще не на PHPХм. А вот персонально вы - какой язык порекомендуете?
>> От форка этого кода нет никакого толку, нужно создавать с нуля в
>> данном случае. И лучше вообще не на PHP
> Хм. А вот персонально вы - какой язык порекомендуете?<trollmode>Erlang</trollmode> :D
>>> От форка этого кода нет никакого толку, нужно создавать с нуля в
>>> данном случае. И лучше вообще не на PHP
>> Хм. А вот персонально вы - какой язык порекомендуете?
> <trollmode>Erlang</trollmode> :DУ панелей специфика другая - конфиги перезаписывать да программы запускать. Даже sh тут был бы более уместным.
sh нигде не уместен
> У панелей специфика другая — конфиги перезаписывать да программы запускать.эрланг это может. честно-честно!
>> У панелей специфика другая — конфиги перезаписывать да программы запускать.
> эрланг это может. честно-честно!"Это могут" даже специально обученные и хорошо подкованные блохи.
> У панелей специфика другая - конфиги перезаписывать да программы запускать. Даже sh тут был бы более уместным.О, да. Особенно если учесть, что в плане работы с текстом (собственно конфигами и HTML-ем вебни) sh лишь костыльная пародия на перл...
> Хм. А вот персонально вы - какой язык порекомендуете?Лично я смотрел бы в сторону C/C++, можно написать в виде модуля для веб-сервера. И если не хочется зависеть от какого то конкретного веб-сервера то можно реализовать собственный миниатюрный веб-сервер который будет обслуживать только панель. Да, с одной стороны такая реализация сложнее, однако при правильном подходе такая реализация является очень гибкой. Например такая панель могла бы помогать администрировать сервер который не нацелен обслуживать веб сайты, но нацелен обслуживать другие сетевые службы.
>> Хм. А вот персонально вы - какой язык порекомендуете?
> Лично я смотрел бы в сторону C/C++, можно написать в виде модуля для веб-сервера.Прощай, безопасность.
>>> Хм. А вот персонально вы - какой язык порекомендуете?
>> Лично я смотрел бы в сторону C/C++, можно написать в виде модуля для веб-сервера.
> Прощай, безопасность.действительно. надо linux и bsd на бидоне переписать, а то никакой, понимаешь, безопасности.
>>>> Хм. А вот персонально вы - какой язык порекомендуете?
>>> Лично я смотрел бы в сторону C/C++, можно написать в виде модуля для веб-сервера.
>> Прощай, безопасность.
> действительно. надо linux и bsd на бидоне переписать, а то никакой, понимаешь, безопасности.достаточно посмотреть, какими средствами безопасности обкладыает веб-серверы тот же openbsd, чтобы понять, что такого уровня команда разработчиков панелей не достигнет в обозримые сроки. уж лучше python, где не нужно думать о тысяче неочевидных вещей, которые напрямую влияют на безопасность - команда панелеразработчиков просто не сможет это всё адекватно поддерживать.
уж лучше, действительно, sh.
> действительно. надо linux и bsd на бидоне переписать, а то никакой, понимаешь,
> безопасности.Все так, только s/бидоне/sh/ и s/безопасности/прозрачности/
> Прощай, безопасность.Конечно PHP куда безопаснее C/C++ это конечно шутка. И конечно OpenBSD наше все, за нею несомненно безопасное будущие, не смешите меня. Не только ОС должна следить что бы ПО не лезло туда куда не надо но и само ПО не должно лезть туда куда оно лезть не должно. И по факту, если на C/C++ добавить множество дополнительных проверок для повышения безопасности то такое ПО все равно будет работать быстрее чем аналогичный вариант ПО на PHP в данном контексте речь идет о веб-сервисе. Более того в случае с C/C++ еще можно применить различные оптимизации для повышения быстродействия. Но вот даже если применить к PHP всевозможные акселераторы то быстрее и безопаснее чем C/C++ он все равно не станет даже на OpenBSD.
Если не думать об не очевидных вещах, как вы говорите то ваша программа на любом языке будет дырой. Не обладают компиляторы таким интеллектом чтобы учесть все возможные варианты реализации кода. И да, веб-сервисы в виде модуля Apache и управляющего отдельного процесса, существуют и нормально поддерживаются разработчиками.
>> Прощай, безопасность.
> Конечно PHP куда безопаснее C/C++ это конечно шутка.Я тут уже наблюдал некоторых, с явным нервным тиком. Потому что все они совершали одну и ту же ошибку - заикались со мной о PHP.
> И конечно OpenBSD наше все, за нею несомненно безопасное будущиебудущие, будущие, шпи...
Как раз для C/C++ кода OpenBSD - помощник, потому что опции компилятора по умолчанию защищают от некоторых ошибкок. PHP-модели поведения не поможет уже ничего.
> лезть не должно. И по факту, если на C/C++ добавить множество
> дополнительных проверок для повышения безопасности то такое ПО все равно будет
> работать быстрее чем аналогичный вариант ПО на PHP в данном контекстеЕсли у васи почтовый ящик будет генерироваться 0.2 сек вместо 0.1 сек, он это не заметит. А если от его имени будут отправляться письма "наташка, ты дура!" - заметит.
Если на каком-нибудь python это будет занимать 50 простых строк, то на C - 400 сложных. И отлаживать их будет значительно сложнее. Вместо простого, скучного и не самого быстрого списка/словаря будут жутко эффективные для компьютера но страшно нечитаемые для человека структуры данных.
Это сложнее отлаживать, и больше шанс допустить ошибку. Нужна и более высокая квалификация, и внимательность, и усидчивость... и всё равно, даже опытные программисты могут допустить типичную (a=b) вместо (a==b). В python, кстати, такой вариант исключён.
Да, в python не нужно думать о куче мелких вещей, отвлекаться на них, поэтому и вероятностть допустить ошибки в своём варианте обработки структуры - меньше. Потому что их просто нет, можно делать простые вещи { 'a': 'b', 'c': {'d': ['e',4]}} легко и не задумываясь - разработчикb python уже подумали над тем, чтобы сделать их более-менее эффективными, они работают у многих и не вызывают проблем, и им можно доверять. Своим реализциям простых вещей можно доверять только после годов проб и ошибок.
> Но вот даже если применить к PHP всевозможные акселераторы то быстрее и безопаснее чем C/C++
> он все равно не станет даже на OpenBSD.Никто не пишет идеальный и безопасный код, ни на python, ни на c. Речь только о том, что в пяти очевидных наглядных конструкциях допустить ошибку сложнее, чем в группе нагромождений.
> И да, веб-сервисы в виде модуля Apache и управляющего отдельного процесса, существуют и нормально поддерживаются разработчиками.И их разработчиков можно посчитать поимённо. Но у тех разработчиков нет ни времени, ни интереса писать веб-панели. И много-много чего ещё у них писать желания нет.
Чтобы сделать что-то на C и особенно C++, нужно больше усилий, больше квалификации, больше внимания. А людей со встроенным безошибочным лексическим анализатором я пока не встречал - ошибаются все. И речь идёт только об уменьшении рисков.
Нервного типа у меня нет. Конечно язык программирования, может заведомо избавлять программиста от ряда ошибок. Чтобы его код был более профессиональным, несмотря на небольшой опыт программирования на данном языке. Но этого все равно сложно добиться, и такой язык со временем может превратится в ограниченный язык, поскольку жесткие рамки сужают круг возможностей.Использовать OpenBSD скажем из за опций компилятора, это значит изначально ограничить себя и свои возможности. Хорошим тоном будет знать, чем специфичны данные опции и насколько они уникальны для конкретной системы и главное насколько они необходимы.
Насчет времени генерации, представим что у вас на каждом повороте будет 0.2 вместо 0.1, для Васи сначала это заметно не будет, пока таких поворотов очень мало, но когда их станет больше Вася увидит падание производительности.
Вы хотите чтобы все за вас делал сам язык, и чтобы код был максимально корректным. Но этого не будет, хотя если через какое то время такая возможность появится то программисты не будут нужны. Это не утопия это прогресс или эволюция можно назвать как угодно, однако чтобы создать такой искусственный интеллект люди создавшие его должны это сделать исключая все ошибки.Например PHP простой и очень популярный язык, а теперь посмотрите например на Zpanel из за чего продукт получился небезопасным, из за языка или из за программиста который на нем пишет. На самом деле язык и программист в сумме дали такой результат. Но даже если бы программист добавил достаточное количество разнообразных проверок его код был бы более безопасным но и существенно медленным, и это огромный недостаток PHP.
Безопасного кода не бывает, для кого то это оправдание а для какого стимул доказать обратное. В любом случае не важно кем вы работаете программистом или оператором крана, надо делать свою работу максимально качественно и эффективно.
> Использовать OpenBSD скажем из за опций компилятора, это значит изначально ограничить себя
> и свои возможности. Хорошим тоном будет знать, чем специфичны данные опции
> и насколько они уникальны для конкретной системы и главное насколько они необходимы.Пытаться самому пройти весь путь openbsd - это немного глупо, не находите? Если нужна безопасность, то самый простой способ - это взять openbsd, где большинство типовых проблем уже решилось.
> Насчет времени генерации, представим что у вас на каждом повороте будет 0.2
> вместо 0.1, для Васи сначала это заметно не будет, пока таких
> поворотов очень мало, но когда их станет больше Вася увидит падание
> производительности.Оптимизацию снизу и начинать не стоит. Оптимизировать стоит то, что вызывает реальную проблему. Не надо представлять, на каком повороте что будет, нужно смотреть на всю задачу, а не на детали.
> Например PHP простой и очень популярный язык, а теперь посмотрите например на
> Zpanel из за чего продукт получился небезопасным, из за языка или
> из за программиста который на нем пишет. На самом деле язык
> и программист в сумме дали такой результат.Я объясню. Я несколько лет назад попробовал сделать некую узкоспециализированную панельку с мизерным размером под конкретную задачу. Собрал php4 только нужное, получилось 300 кб в сжатом виде. Ничтяк. Только уникода нет. :( И когда начал пытаться вызвать внешние инструменты - это вызывало проблемы, которое не хотелось решать - и я с чистым сердцем переписал панельку на busybox sh, который уже был в системе. Безопаснее не стало, но зато работало, речь не об этом. А речь вот о чём.
Когда мне понадобилось страждущим написать панельку для сканера, я её написал минут за 15 на месте, на python. И код был очевиден, даже ребёнок понял бы, как оно работало. Там не было шансов совершить ошибку в коде. Были шансы на ошибку внутри, но если в php этот механизм используют редко, то в python его используют очень часто, и в gui-приложениях, и в веб-приложениях, и в различных демонах и скриптах, там уже всё перепроверено миллион раз.
> Безопасного кода не бывает, для кого то это оправдание а для какого
> стимул доказать обратное. В любом случае не важно кем вы работаете
> программистом или оператором крана, надо делать свою работу максимально качественно и эффективно.И одним из таких шагов является смена мотыги на трактор. php - это каменный век разработки, к которому приклеивают фичи, которые там явно чужеродные (и поэтому каждый на php пишет по-разному). Дети! Не пишите на php, не мучайте себя!
Питаться самому пройти допустим путь OpenBSD, не глупость. Был паровой двигатель но этого было мало, так и пришли постепенно до двигателя внутреннего сгорания. Хотите сделать свое, нет проблем, не стоит думать о том что уже есть. Надо подумать над тем чем ваш вариант будет лучше, вот и все.Основная проблема некоторого ПО в том что вместо оптимизации, разработчики просто повышают системные требования, и тогда недостатки ПО покрываются за счет более мощного оборудования.
Возможно ваша программа не стала более безопасной, но если вы используете программу только для своих нужд то вы способны оценить все риски. Другое дело когда продукт типа Zpanel которая всегда подключена в интернету, имеет столь критические уязвимости.
На мой взгляд чистота кода это показатель знаний программиста, да что бы научится нужна практика. Но например Zpanel выбрали слишком специфичную категорию для создания практического полигона.
> форкни еёЗабыл добавить "будь мужиком".
> 10.0.0.2.Требую указывать здесь настоящий айпишник с этой панелью, а не 10.х :)
если Вас забанили на google -
Панелька красивая, жаль, что дырявая, кому не лень, отпишите им, что у них еще в форме логина инъекция, а-то совсем уж не красиво получается, не зная логина и пасса, авторизовался и делай от рута что хочешь.Зы: по линку выше сервак с вендой, багу из сабжа не тестил.
Zpanel понравилась, но ещё достаточно сыра и имеет множество багов.
Неделю назад сменили Zpanel на ISPConfig.
> Zpanel понравилась, но ещё достаточно сыра и имеет множество багов.И написана без security in mind. Впрочем, остальные судя по новостям не лучше.
> И написана без security in mind. Впрочем, остальные судя по новостям не лучше.И не только панели, а вся вебня. Кроме той, которую крупные профильные корпорации (типа гугла, фсбука, твиттера) пилят для себя. Но даже и там бывают инцидентики.
да всё нормально. люди, экономящие на нормальных администраторах и полагающиеся на всякие «панели», просто таки должны страдать.
Угу. Нормальный администратор -- это кто? Создаватель/удалятель vhost'ов по звонку из техподдержки?
Как вы думаете, почему не все идут работать дворниками? Работа ведь простая, и на свежем воздухе!
> Нормальный администратор — это кто?это нормальный администратор.
>> Нормальный администратор — это кто?
> это нормальный администратор.То есть, для вас данное понятие не определено. Тем не менее, вы им оперируете.
С тем же успехом вы могли бы рассуждать и про бармаглотов.
Rasch abkochen, dann Vormarsch nach Sokal.
[:||||\.../||:]
> Как вы думаете, почему не все идут работать дворниками? Работа ведь простая, и на свежем воздухе!Конкуренция большая. Половина бы пошла, если бы их взяли.