В проекте Webmin выявлена (https://sites.utexas.edu/iso/2014/09/09/arbitrary-file-delet.../) опасная уязвимость, позволяющая аутентифицированным пользователям удалить любой файл в системе. Операция удаления производится из обработчика заданий cron, выполняемого с правами пользователя root. Проблема вызвана некорректной обработкой файлов блокировки, которые создаются с использованием в имени файла содержимого одной из передаваемых пользователем переменных. Указав в переменной username относительны путь к файлу и разделив его нулевым символом (например, "../../../../etc/passwd%00"), будет осуществлён вызов unlink("../../../../etc/passwd\0.lock") в директории с файлами блокировки, что приведёт к удалению файла /etc/passwd.
Интересно, что проблема без лишней огласки уязвимости была устранена в майском выпуске Webmin 1.690 (http://www.webmin.com/). В примечании к выпуску был в общем виде было упомянуто устранение межсайтового скриптинга и исправление незначительных проблем. Уязвимость была исправлена (https://github.com/webmin/webmin/commit/c466161e513ae1c54461...) под видом добавления дополнительной проверки пользователя на предмет существования пользователя в системе.
URL: https://sites.utexas.edu/iso/2014/09/09/arbitrary-file-delet.../
Новость: http://www.opennet.me/opennews/art.shtml?num=40560
За использование этой хрени нужно бить по рукам.
"Эту хрень" тоже можно настроить так, что она будет безопасна в использовании. Перевесить на нестандартный порт, пускать только одного пользователя и т.д.
...отключить от интернета и закрыть в железный ящик...
А ящик поставить за забором, натянув колючую проволоку и выпустив злых собак. На всякий случай часовых поставить. Мало ли чего.
И пулемет на крышу поставим, консервы охранять... ©
+ров с пираньями или аллигаторами
и снайперов по периметру
"Безопасной можно считать лишь систему, котоpая выключена, замуpована в бетонный коpпус, запеpта в помещении со свинцовыми стенами и охpаняется вооpуженным каpаулом, — но даже в этом случае сомнения не оставляют меня." (c)
Несомненно. Но еще есть такое понятие как: "говнокод" ...
VPN будит такие же эмоции?
Школьные у вас представления о безопасности.
> "Эту хрень" тоже можно настроить так, что она будет безопасна в использовании.
> Перевесить на нестандартный порт, пускать только одного пользователя и т.д.Объективно, можно повесить за nginx + HTTP авторизация на самом nginx + валидный SSL сертификат.
Просто если webmin поломают - это атака на систему снаружи.
Если не поломаются - атака на систему изнутри (админа отучают от консоли).
В любом случае нехорошо.
>За использование этой хрени нужно бить по рукам.Пытался ее использовать несколько раз... Честно пытался - нифига не вышло :) А вот в исходниках чего-нибудь можно и очень даже интересное. :)
В Superb Mini Server 2.0.7 включен поправленный WebMin.
> В проекте Webmin выявлена опасная уязвимостьА где новость? ;-)
Никогда его нигде не ставлю. А там, где достается от старых админов - сношу практически сразу же.
Зачем?
Зашел в тему только чтоб похвастаться?
Вообще смысла не вижу в webmin, уж лучше сразу учиться работать в консоле для молодых админов. Тем более, что и M$ в поледние годы активно внедряет и переводит всех на Powershell.
> годы активно внедряет и переводит всех на Powershell.Даже до MS доползло. Правда, консоли и интерпретаторы они делать так и не научились. Консоль у...щна, а интерпретатор ворочает километровые пути и здоровенные команды при том что автодополнение вечно не дополняет.
> консоле
> еОткуда вы лезете?!
>> консоле
>> е
> Откуда вы лезете?!Сказано же. МС внедряет. МС админам становится стремно не знать элементарных команд -> они идут хвастаться, что осилили консоле. Без малейшего представления о том, что разные интерфейсы могут быть полезны и удобны.
Не нужно быть Онотоле,
Чтобы познать консоле...
аналог бесплатного webmin - vestacp.That's good...
Шо-то я не понял, что тут беплатное.
"бесплатного webmin", написано же.
Если нужен гуй, то Ajenti V неплоха. Она на Python, никакого php.
Ага, а вот Webmin вы и в глаза не видели.
> Если нужен гуй, то Ajenti V неплоха. Она на Python, никакого php.Акелло промахнулсо
Прикольные комментарии, у одного лютая ненависть, у другого полнейшее незнание, а остальным - по-болтать :)Не подходит вам, не применяйте, а если нужно то ставьте и настраивайте, удалив ненужные модули и выставив нужные права, но не нужно категорических всех с налету отталкивать, все там работает и все там ограничивается.
> Не подходит вам, не применяйте, а если нужно то ставьте и настраивайте,
> удалив ненужные модули и выставив нужные права, но не нужно категорических
> всех с налету отталкивать, все там работает и все там ограничивается.Беда в том, что потом так же успокаивающе пытаются заговаривать зубы и о, скажем, пропавших файликах -- как через озвученную недостаточность зачистки вводных. Потому что работает не просто "всё", а больше, чем хотелось бы.
Вы вот когда ставите-настраиваете-удаляете-выставляете -- прикрываете SSL, белым списком IP, HTTP Basic Auth (хотя бы чем-то из)?..
Дело не в успокаивании, а в том, что те, кто писал раньше реплики, сам никогда не работал с вебмином, а накосячить можно и через ssh и протчими действиями. Ну есть проблемы в вебмине, есть, все зависит от применимости его. Если я даю кому-то контроль через вебмин, то оставляю только то, что не принесет вреда, а сам работаю через ssh и поверьте, угрозы от этого серверу не меньше и файлы иногда пропадают :)На счет вопроса, то да, обычно пренебрежительно отношусь к безопасности :) Часто откладываю на потом :)
Подумайте о том, что уязвимость нашли в модуле заданий Cron.
Это не левый модуль, это один из самых что ни на есть базовых модулей.
И вы об уязвимости знаете только потому, что её нашли.
А сколько ещё не нашли - вы не знаете.> На счет вопроса, то да, обычно пренебрежительно отношусь к безопасности :) Часто
> откладываю на потом :)Есть два типа админов...
>unlink("../../../../etc/passwd\0.lock")разработчики перла так до сих пор и не догнали, что перловые строки с нулевым байтом в средине нельзя корректно преобразовать в Си-шные строки.
новость должна быть не "исправили баг в webmin", а "в webmin добавили костылей для обхода кривизны perl"
Где кривизна перла-то, клован?
> Участник: Нанобот
> Рейтинг: -7208 балловOH, SHI~! Дедуктивные способности меня не подвели. И в самом деле клован.
> Где кривизна перла-то, клован?
>> Участник: Нанобот
>> Рейтинг: -7208 баллов
> OH, SHI~! Дедуктивные способности меня не подвели. И в самом деле клован.пегл мертв. уже даже не воняет, выветрилось. но речь о том, что в 2014 году есть "клован" которые до сих пор используют вебмин. это-то и печально.
Удивительно :-)
> пегл мертв*побежал удалять SpamAssassin*
> *побежал удалять SpamAssassin*Давно пора
кривизна перла состоит в том, что вызов функции типа unlink("/etc/passwd\0ololo") не может быть корректно преобразован в системный вызов операционной системы. вместо того, чтобы сообщить об ошибке, перл игнорирует её и на морозе производит системный вызов в заведомо неправильным параметром "/etc/passwd"
Perl разрешает выстрелить себе в ногу, так как предполагает наличие разума у программиста. Если ты передал строку с \0, значит это было тебе нужно. А для защиты от прихода подобных данных извне в нем есть taint mode и регексы. Если разработчики webmin не используют taint mode, то это их проблема, а не perl.
Мне интересно, а какой язык считает себя умнее программиста в этом вопросе и как именно обрабатывает такой случай? Если вы пнули perl вам ведь не составит труда сказать, где "некриво".
щас меня опять говном закидают, но я все равно спрошу:
А что сразу нормально сделать нельзя что-ли ? Просто сесть, составить план проекта, и тщательно и скурпулезно выполнить свою работу, и каждый шаг проверять "а нет ли тут какой-нить дырки" ?
Вроде как не на ассемблере пишут.
> щас меня опять говном закидают, но я все равно спрошу:
> А что сразу нормально сделать нельзя что-ли ? Просто сесть, составить план
> проекта, и тщательно и скурпулезно выполнить свою работу, и каждый шаг
> проверять "а нет ли тут какой-нить дырки" ?
> Вроде как не на ассемблере пишут.конечно можно!и писать кот совсем без ошибок тоже можно, но не людьми!
Вы так делаете?
Получается?
Если на оба вопроса ответ положительный, ссылками на проекты с планами и проверками не поделитесь?
>>и скурпулезноВот именно как ты написал так и делают - скурпулезно.
> щас меня опять говном закидают, но я все равно спрошу:
> А что сразу нормально сделать нельзя что-ли ?Можно. Но это будет:
а) ОЧЕНЬ дорого;
б) ОЧЕНЬ медленно;Как вам разработка notepad за 100к $?
В ней не будет никаких ошибок, надежность её кода будет математически доказана.
Почему я привел в пример notepad? Чтобы показать цену разработки очень простого ПО.
По объему кода webmin на два-три порядка больше простого notepad.
Цена разработки (+ отлов ошибок и доказательство надежности) тоже вырастает на два-три порядка.
И на этом нельзя заработать - никому не нужны простые программы за дикие цены.
Там, где надежность действительно важна, давно так делают.
А остальной мир предпочитает дешевое/бесплатное и потенциально дырявое ПО.
Просто иногда вся планета срочно меняет пароли из за новой "внезапной" уязвимости.