Бюро кредитных историй Equifax обнародовало (http://www.prnewswire.com/news-releases/equifax-announces-cy... информацию о взломе, в результате которого в руки атакующих попали персональные данные 143 млн жителей США (44% населения США). Информация включает в себя имена, номера социального страхования (https://ru.wikipedia.org/wiki/%D0%9D%D0%... даты рождения, адреса и номера водительский удостоверений. Примерно для 209 тысяч человек дополнительно были получены номера кредитных карт, а для 182 тысяч - документы, связанные с урегулированием кредитных споров. Данные о кредитной истории, финансовых операциях и платежах не пострадали, так как хранились в не затронутой в результате атаки БД.
В отчёте (https://baird.bluematrix.com/docs/pdf/dbf801ef-f20e-4d6f-91c... компании William Baird & Co. утверждается, что взлом был совершён через уязвимость в web-фреймворке Apache Struts, который применяется на портале оказания online-услуг потребителям. Утечка была обнаружена 29 июля, но непосредственно взлом мог произойти в середине мая и около 2.5 месяцев злоумышленники имели неавторизированный доступ к системе. Не уточняется была эксплуатирована раскрытая (https://www.opennet.me/opennews/art.shtml?num=47139) несколько дней назад критическая уязвимость (CVE-2017-9805) или уязвимость, выявленная (https://www.opennet.me/opennews/art.shtml?num=46167) в марте (CVE-2017-5638). Обе проблемы позволяют выполнить свой код на сервере, при этом если web-приложение выполняется в контейнере Apache Tomcat, запускаемом (https://wiki.apache.org/tomcat/HowTo#How_to_run_Tomcat_witho... с правами root, в результате удалённой атаки может быть получен доступ с правами root.Фонд Apache опубликовал (https://blogs.apache.org/foundation/entry/apache-struts-stat... заявление, в котором пояснил свою позицию по поводу взлома. Так как атака произошла с мая по июль, для проникновения наиболее вероятно использовалась мартовская уязвимость, в этом случае серверы Equifax несколько месяцев заведомо продолжали использовать уязвимую версию Apache Struts, несмотря на начавшуюся волну атак и предупреждения о необходимости оперативного обновления. Если атака была совершена в при помощи сентябрьской уязвимости, то об этой уязвимости в мае-июле ещё не было известно и атакующие должны были сами её обнаружить или воспользоваться неизвестным 0-day эксплоитом. Манипуляции информацией о том, что сентябрьская уязвимость вызвана ошибкой, которая находится в коде уже 9 лет, неуместны, так как есть большая разница между выявлением ранее неизвестной ошибки и знанием о наличии неисправленной ошибки.
В качестве рекомендаций по обеспечению безопасности своей инфраструктуры Фонд Apache указал на необходимость соблюдения следующих правил:
- Отслеживание сведений об уязвимостях и новых версиях применяемых фреймворков и библиотек.
- Налаживание процесса оперативной установки обновлений с устранением уязвимостей - уязвимости должны устраняться за часы или считанные дни, но не спустя недели и месяцы.
- Готовность к тому, что любые сложные программные системы потенциально могут содержать уязвимости. Инфраструктура изначально не должна полагаться не то, что применяемое ПО безопасно.- Применение нескольких уровней защиты для публично доступных сервисов и отделение таких сервисов от внутренних систем и БД транзитными прослойками. Уязвимости во внешнем интерфейсе не должны приводить к компрометации бэкенда.
- Внедрение систем мониторинга и выявления аномалий для определения необычной активности при доступе к web-ресурсам.
Также можно отметить, что для проверки утечки данных пользователей в результате инцидента от имени Equifax был создан сайт equifaxsecurity2017.com (https://www.equifaxsecurity2017.com/), который предлагал ввести фамилию и 6 из 9 знаков номера социального страхования для определения степени утечки сведений о конкретном человеке. Сайт вызвал (https://arstechnica.com/information-technology/2017/09/why-t... подозрения в проведении фишинга и даже был заблокирован службой OpenDNS. Субъективно о фишинге свидетельствовало использование типового движка WordPress, запрос персональных данных, регистрация доменного имени на стороннее лицо и использование TLS-сертификата бесплатного HTTPS-сервиса Cloudflare.
URL: https://blogs.apache.org/foundation/entry/apache-struts-stat...
Новость: http://www.opennet.me/opennews/art.shtml?num=47170
Индейцы отомстили
Украсть != Использовать.
У америкосов номер соцстраха это примерно как у нас номер паспорта - называешь вместе с фио любому банку и он уже верит, что это ты.
> номер соцстрахаМне он читается как "номер общественной безопасности" [от человека], а по сути -- уникальный идентификатор. При чём тут страхование, кроме разве по 1984 -- понятия не имею.
"Social security" - переводится "социальное страхование", аналог нашего пенсионного (с некоторыми несущественными отличиями). Не переводите дословно, языки не совместимы.
Короче, это SS. :)
обычно сокращают как SSN (social security number).
но проблема жесточайшая. я боюсь что больше чем 140 млн человек могли пострадать и я среди них.
Можно получить новый номер. Проблема тогда обновить везде от телефонного контракта до банка. Ну и конечно ты потеряещь кред историю. Самая большая проблема это их договор, согнано ему ты не имеешь права судит их по лубой причине. Я не пользовался их сервисами напрямую но их используют для background check, и я боюсь что мой SSN тоже среди них.Сейчас нужно обязательно следить за аккаунтами. Достаточно позвонить в T-Mobile, нужно ФИО и последние 4 SSN номера, чтобы подтвердить владение, заказать новую симку. Затем использовать для получения контроля за банком или email, PayPal и так далее где можно сделать восстановление пароля через телефон, ну или почтой если смогут увести почту таким образом.
С очень даже существенными отличиями. Это можно сказать основной идентификатор человек для государства и банков тут. Например, без него не сделаешь две самые важные штуки: взять ипотеку и устроиться на работу. Также налоги тоже по нему в основном считаются, но для всяких разных ситуаций (например если не имеешь права работать и ССН ещё не получил), то можно получить другой номер, например ITIN, по которому можно заплатить свои налоги за год.
Вау. Несовместимые языки! Что за зверь такой? Чем определяется уровень совместимости, какие вы можете привести примеры совместимых языков?
>"Social security" - переводится "социальное страхование", аналог нашего пенсионного (с некоторыми несущественными отличиями).Хмм ... скорее - ИНН
> Мне он читается как "номер общественной безопасности" [от человека], а по сути
> -- уникальный идентификатор. При чём тут страхование, кроме разве по
> 1984 -- понятия не имею.Если отвечать в вашем стиле - а у россиян крпостных к столбу привязывают. И еще ИНН какой-то придумали. А тут еще и онлайн-кассы в обязаловку, чтобы про 1984 не забывали. Погодите, гэбисты вам все сделают. В штатах гражданское общество хоть какой-то стопор. В РФ этого стопора нет. Выводы делайте сами.
> В штатах гражданское общество хоть какой-то стопор.Какой к лешему стопор, если от телека входит в ступор и готово бомбить страны, которых на карте найти не может? Не смешите мои сандалии.
> В РФ этого стопора нет.
Ступора -- и впрямь нет, что не может не радовать.
PS: прочитал #196 в почте, здесь оно куда-то вместе с подветкой делось, а жаль -- ну ладно, постараюсь не огорчать слишком коллег-комодов или даже автомодератора...
PPS: ну вот, оторопь выразилась в лишней запятой. Доведёте вы меня, шутники :]
> Какой к лешему стопор,Ну вот такой. EFF в штатах почему-то никто не гнобит, хоть они и позволяют себе невкусные высказывания про АНБ, правительство США, копирастов и проч. Получается некий баланс интересов разных групп. В РФ я сравнимый пример даже подобрать не смогу. Его нет. Советник по "развитию" интернета прямым текстом сказал что ему икра на хлебе важнее принципов. Этот человек не впряжется рисковать теплым местом за мои права. Все пришло к тому что в стране не осталось тех кому мои права были бы не пофиг. Значит буду заботиться о них самому, в меру умений.
> если от телека входит в ступор и готово бомбить страны, которых на карте
> найти не может? Не смешите мои сандалии.К россиянам это описание подходит не хуже. Даже лучше. Вообще, государство должно прежде всего заботиться о своих гражданах. А остальные - в лучшем случае союзники, в хучшем - противники. Спасибо если потенциальные и вероятные. Штаты эту часть социального договора гражданин-государство выполняет. А россияне... в РФ государство почему-то считает особым шиком натянуть, кинуть и прокатить своих же граждан. Не понимаю зачем. Пусть кто понимает тот и наслаждается жизнью в таком государстве.
>> В РФ этого стопора нет.
> Ступора -- и впрямь нет, что не может не радовать.Активный дррак хуже пассивного. Я думаю что вам еще выпадет испытать много радости, когда "ради безопасности" вскармливаемый и лелеемый спрут сожрет вас и не подавится, устроив 1984 в лучшем виде. У вас хватает ума обвинять в этом штаты? Никак не могу припомнить за штатами такой объем цензуры в интернете как в РФ. Если кто-то без цензуры не может - мне с ним все понятно, на предмет доверия к таким деятелям.
> PS: прочитал #196 в почте, здесь оно куда-то вместе с подветкой делось,
А мне не получилось ответить в другом месте. Наверное это к лучшему, все-равно у нас слишком разные принципы.
> Ну вот такой. EFF в штатах почему-то никтоТебе виднее. Конечно. Конечно.
https://duckduckgo.com/?q=blacks+heroin+criminalizing+disrup...
Дайте ссылку, откуда скачать можно дамп
> Бюро кредитных историй Equifax обнародовало (http://www.prnewswire.com/news-releases/equifax-announces-cy...
> информацию о взломе, в результате которого в руки атакующих попали персональные
> данные 143 млн жителей США (44% населения США).
> при этом если web-приложение выполняется в контейнере Apache Tomcat, запускаемом (https://wiki.apache.org/tomcat/HowTo#How_to_run_Tomcat_witho... с правами root, в результате удалённой атаки может быть получен доступ с правами root.Как же так? Оказывается, ни новомодные игрушки, ни даже cосвем-не-тормозящая-и-почти-обогнавшая-сишку-!-!-1 жабка, ни огуречно-свекольное смузи не спасают от рукожопия?
> от рукожопия?Не стоит называть это рукожопием, и вот почему: жаба программист не должен думать ни о каких эксплойтах (кроме ну совсем банальных) вообще. Выполнение машинного кода процессом jvm строго говоря находится за пределами его компетенции, в этом весь смысл высокоуровневости и безопасности платформы. Это всё равно, что назвать рукожопом дизайнера, или менеджера.
> Не стоит называть это рукожопием, и вот почему: жаба программист не должен
> думать ни о каких эксплойтах (кроме ну совсем банальных) вообще.Это уже не руко-, это голово-.
> Выполнение машинного кода процессом jvm строго говоря находится за пределами
> его компетенции, в этом весь смысл высокоуровневости и безопасности платформы.А это так называемый hype.
> Это всё равно, что назвать рукожопом дизайнера, или менеджера.
Вы не сталкивались с четверорукими представителями данных профессий?.. бывают, как и везде.
А как же разделение труда?
Какое разделение труда? У него каждая кухарка может управлять государством.
Каждая кухарка не может, миллион кухарок может в 100 раз эффективнее любого чинуши.
А сколько обезьян надо, чтобы быть эффективнее 1 кухарки?
> миллион кухарок можетУ кого-то опять миллионная фиксация в вакуумной коробке, принимающей лозунги без малейшей попытки собственно найти подтверждение тому, что в себя ест? Жизнь такое вправляет. Порой, правда, уже смерть -- зато надёжно.
Каждый должен заниматься чем он лучше всего умеет. Умеешь делать UI и не умеешь защищаться от эксплоитов - отдай задачу защиты другому, кто любит и умеет это делать лучше.В противном случае сейчас бы все умели все и одновременно ничего не делали, потому что не хаватало бы на все внутренних ресурсов одного индивида.
> Каждый должен заниматься чем он лучше всего умеетДля этого нужна сущая мелочь - чтобы другие, от качества работы которых зависят результаты вашего собственного труда, тоже делали свою работу качественно. И если в производстве потребительских товаров вы хоть как-то защищены (можете отсудить миллион за таракана в булочке, не в России, к сожалению), то при установке ПО, в том числе платного, вас вынуждают согласиться, что оно "as is" и вам никто ничего не должен. Не нравится - пошёл вон. В такой ситуации единственное, что остаётся - внимательно смотреть самим, что вам подсовывают. А для этого надо хотя бы в какой-то минимальной мере разбираться в соответствующих вопросах, пусть и за пределами своей непосредственной компетенции.
> Для этого нужна сущая мелочь - чтобы другие, от качества работы которых
> зависят результаты вашего собственного труда, тоже делали свою работу качественно. И"качественно" не означает "идеально", увы.
> если в производстве потребительских товаров вы хоть как-то защищены (можете отсудить
> миллион за таракана в булочке, не в России, к сожалению), тои много внеросии отсудили у тойеты за залипающую педаль газа? По-моему, там даже не всем досталась новая тойета взамен приехавшей в стену.
А это ведь не таракан в булочке, тут и самому уе..ся недолго, и подсесть лет на энцать за то, что у...л кого другого.
И это был характерный индусский ко...зачеркнуто, инженеринг, не случайная ошибка, которых невозможно избежать. Никто не наказан, начальник отдела не сделал себе сепукку заодно с начальником hr, нанявшим тех придурков.> смотреть самим, что вам подсовывают. А для этого надо хотя бы
> в какой-то минимальной мере разбираться в соответствующих вопросах, пусть и за
> пределами своей непосредственной компетенции.ну и как, ты уже умеешь быстренько на коленке развести и напечатать новый контроллер управления для тойеты?
Разве я утверждал, что уеб-кодер должен уметь быстренько на коленке написать альтернативную реализацию фреймворка? А Ваш пример именно об этом.
> Для этого нужна сущая мелочь - чтобы другие, от качества работы которых зависят результаты вашего собственного труда, тоже делали свою работу качественно.Проблемы от того что потребитель не умеет пользоваться ПО правильно - запускать все в изолированных средах, с дополнительными контролирующими прослойками. Ведь потребитель самостоятельно принимает решение использовать это ПО? Не так ли? Значт он самостоятельно должен позаботиться о собственной защите. Аналогия: чтобы вынуть горячую сковородку из духовки - вы ведь надеваете средства защиты, за вас ведь никто эти средства защиты не наденет...
> Какое разделение труда? У него каждая кухарка может управлять государством.Вместо умничания на форумах и бездумной копипасты можно было бы и прочитать оригинальное высказывание.
> Мы не утописты. Мы знаем, что любой чернорабочий и любая кухарка не способны сейчас же
> вступить в управление государством. В этом мы согласны и с кадетами, и с Брешковской, и с
> Церетели. Но мы отличаемся от этих граждан тем, что требуем немедленного разрыва с тем
> предрассудком, будто управлять государством, нести будничную, ежедневную работу управления
> в состоянии только богатые или из богатых семей взятые чиновники. Мы требуем, чтобы
> обучение делу государственного управления велось сознательными рабочими и солдатами и
> чтобы начато было оно немедленно, то есть к обучению этому немедленно начали привлекать
> всех трудящихся, всю бедноту.
> Какое разделение труда? У него каждая кухарка может управлять государством.Можно ссылочку? Если нет -- шмякните себя по лживой роже канделябром, что ли.
> Вы не сталкивались с четверорукими представителями данных профессий?Ты, дружок, пока писал совй умный коммент с жабистами-ассемблерщиками, курящими новые коммиты Oracle в GC, похоже забыл о чем новость вообще.
> Выполнение машинного кода процессом jvm строго говоря находится за
> пределами его (жаба программиста) компетенции, в этом весь смысл
> высокоуровневости и безопасности платформы.Ну офигеть. То есть мы тут уже который год совершенно напрасно критикуем явистов за то, что они дальше своей JVM ничего не знают и не видят. Ну совсем-совсем зря мы это делаем, потому что, ВНЕЗАПНО, ТАК И ЗАДУМАНО. :)
Да идите вы все нафиг. Программист ОБЯЗАН знать, как устроена вышестоящая система. Виртуалки нынче используются много где: Racket, OCaml, LLVM, но только в JVM программисты почему-то считают, что на ней мир и заканчивается.
То, что Вы говорите, это какой-то мерзкий хайп, вброс, который оправдывает рукожопость. Тфу гадость.
> Да идите вы все нафиг. Программист ОБЯЗАН знать, как устроена вышестоящая система.э... зачем? Их вот сейчас поимели прямо в рамках их же жабоприложения, без всяких вышестоящих систем (и рут унаследовали от жабаприложения же, а не из вышестоящей системы добыли [что иногда случается с сишными демонами, не до конца сбрасывающими привиллегии])
Там апаче ясно дал понять, что архитектура должна предусматривать транспортные протоколы, дабы если один из приложений-клиентов будет скомпрометирован - не было возможности слить всю БД. И тут как раз рукожопость архитекторов, а не Java программистов.
Или я что то не так понимаю?
посмотрел багу, реально рукожопость. Жабиный шеллкод-то выполнялся.
> Там апаче ясно дал понять, что архитектура должна предусматривать транспортные протоколы,желательно - закрытые.
Если "транспортный протокол" позволяет, как это у нас пишут в бумажке-отписке ПНД "хранить, изменять, удалять" ваши данные - то все, приехали, это может сделать любой, кто перехватил управление.
А если не позволяет - нахрена он такой нужен и что тогда делает ваша программа?
>> Там апаче ясно дал понять, что архитектура должна предусматривать транспортные протоколы,
> желательно - закрытые.
> Если "транспортный протокол" позволяет, как это у нас пишут в бумажке-отписке ПНД
> "хранить, изменять, удалять" ваши данные - то все, приехали, это может
> сделать любой, кто перехватил управление.
> А если не позволяет - нахрена он такой нужен и что тогда
> делает ваша программа?Ломали не транспортный протокол а ось, и через ось сливали данные БД, которая видимо там же и располагалась. Разделение фронтендов и бэкендов позволяет этого избежать. Сам транспортный протокол может и не такой ломучий.
> желательно - закрытые.Надеешься что реверсеры глупые и не разберутся? Совершенно напрасная надежда. Если будет что брать - разберутся как делать нефиг.
> Надеешься что реверсеры глупые и не разберутся?придется сперва дожидаться уязвимости во внешней обертке, потом - в узком промежутке между ней и исправлением - добираться до протокола и пытаться его отреверсить.
Что дает нехилый такой шанс успеть заткнуть дырку раньше.
> Что дает нехилый такой шанс успеть заткнуть дырку раньше.DigiNotar'у это расскажи. Comodohacker не только вынес всю активную директорию, перехватив админские права, но и распетрушил какую-то проприетарную систему которая отвечала за подписывание сертификатов, убедив эту штуку подписать массу интересных сертификатов. Несмотря на их особый уличный ЯП и что там еще. А так то diginitar запатчился. Насовсем.
лол опять в убийстве нож виноват. а потом удивляешься, что тебя дядьки посмекалистей пялят в одно-ж-место
> лол опять в убийстве нож виноват. а потом удивляешься, что тебя дядьки
> посмекалистей пялят в одно-ж-местоВ данном случае это больше похоже на бег с ножницами в руках по лестнице с завязанными глазами, без попыток задуматься о возможном развитии этой ситуации.
случай данного взлома настолько банален, там просто можно захреначить жаба-код в хттп-запрос, и либа после непойманного эксепшена его выполнит.
Да, ок, это - реальная ошибка программиста, и результат полного долбо-ящеро-ибизма, как и отсутствия адекватного тестирования в системе, которая требует подробного тестирования.Тем не менее, я констатировал факт. В более классическом случае, когда выполняется бинарный код, и не в результате того, что программа сама его взяла из сетевого пакета, ни жабист, ни сишарпщик, к примеру, не имеют АБСОЛЮТНО НИКАКОЙ возможности это предупредить, и думать об этом. Они ПОЛНОСТЬЮ БЕСПОМОЩНЫ перед бинарными эксплойтами, ввиду того, что не могут знать, как внутри устроена каждая деталь интерпретатора.
Это не значит, что нативный код лучше или хуже, это только лишь производная от того факта, что не все абстракции доступны для анализа. И чем больше абстракций - тем больше дыр.
Вы же, увидели в этом страшнейшую религиозную угрозу, будто КТО-ТО ПРЕДЛОЖИЛ НЕ ДУМАТЬ, и начали старательно бороться за свои мирки "нерукожопия", повторяя молитвы о том, что код нужно "писать нормально".
Я ничего не предполагал, жабисты все время сами настаивают что хотят только писать свою программу и вообще совсем ничего не знать о внешнем мире, рантайме и прочих неидеальностях. А вот это гнилой подход, гарантирующий массу неприятных сюрпризов. Наверное советы быть не рукожопым в таком контексте уместны? У жабистов это очень распостраненная проблема.
> То есть мы тут уже который год совершенно напрасно критикуем явистов за то, что они дальше своей JVM ничего не знают и не видят.Я тоже который год критикую явистов за то, что они дальше абстракции не видят. И не только их, но и всех остальных. Давно надоело. Это философская проблема.
> Ну совсем-совсем зря мы это делаем, потому что, ВНЕЗАПНО, ТАК И ЗАДУМАНО
Добро пожаловать.
Что, оно не так задумано?> Программист ОБЯЗАН знать, как устроена вышестоящая система
Развивайте мысль дальше.
> Виртуалки нынче используются много где: Racket, OCaml, LLVM, но только в JVM программисты почему-то считают, что на ней мир и заканчивается.Ничего они не считают. Оно так и есть в любых интерпретаторах.
Давай обязуем при написании баш-скрипта знать на зубок код баша.
А потом выяснится, что версии принципиально отличаются архитектурно.
>> Программист ОБЯЗАН знать, как устроена вышестоящая система
> Развивайте мысль дальше.Уже развивал:
https://www.opennet.me/openforum/vsluhforumID3/111842.html?n...> Давай обязуем при написании баш-скрипта знать на зубок код баша.
Ну зачем же назубок. Я говорю о том, что надо хотя бы иметь представление о том, как оно изнутри работает.
а можно ещё дальше. Подключил либу, ой, а в ней эксплойт.
> а можно ещё дальше. Подключил либу, ой, а в ней эксплойт.Вы не путайте знания реализации вышестоящей системы со знаниями её архитектуры. Реализации меняются, архитектура поддерживается.
pripolz> жаба программист не должен думатьВся суть поста :) Не благодари ...
томкет от рута запустить -- это настоящее рукожопие, да. он по умолчанию так не делает. просто кто-то очень сильно хотел его повесить на 80/443 порты и не знал, как.
> просто кто-то очень сильно хотел его повесить на 80/443 порты и не знал, как.Не знал, как повесить его на 11443 и пробросить на 443 через iptables? Да разве такие бывают? Таких гнать из профессии надо ссаными тряпками!
> Не знал, как повесить его на 11443 и пробросить на 443 через
> iptables? Да разве такие бывают? Таких гнать из профессии надо ссаными
> тряпками!бывают-бывают. лично я два года назад с руганью выпиливал такую же схему, доставшуюся в наследство. кабы не её автор ниже по треду рассказывает, что томкет от рута запускать это ок.
>как повесить его на 11443 и пробросить на 443 через iptables?Не очень то это удобно.
Я уже хз сколько времени на фронт вешаю nginx и кручу-верчу как хочу :) Но видимо даже это слишком сложно для цЫрка :-\
> Не очень то это удобно.для больших, типа екифака, это не то что неудобно, это скорее всего просто не работает. Но админам локалхостов не понять.
> Я уже хз сколько времени на фронт вешаю nginx и кручу-верчу как
> хочу :) Но видимо даже это слишком сложно для цЫрка :-\до момента, когда тебя начальник не спросит, какого хрена в логе приложения (а не в твоем nginx, от которого проку ноль, поскольку там нет логики приложения) все ip адреса - 127.0.0.1, и кого за эту самодеятельность сейчас покрутят-повертят как захотят.
Вариант с натом хорош хотя бы тем, что там этой проблемы нет.
Кстати, мужики! Мне тут рассказали про capabilities. Оказывается, нынче не надо запускаться от рута и сбрасывать потом права, а достаточно лишь сказать вот так, и приложение сможет слушать порт < 1024:setcap 'cap_net_bind_service=+ep' /path/to/program
И это -- лучший вариант, который я до сих пор видел. Более того, он существует уже хз сколько, просто мы все тут в танке. Даже в centos6 есть. :)
То ли еще будет, когда ты обнаружишь что в Linux есть namespaces и seccomp...
> Кстати, мужики! Мне тут рассказали про capabilities. Оказывается, нынче не надо
> запускаться от рута и сбрасывать потом права, а достаточно лишь сказать вот так, и
> приложение сможет слушать порт < 1024:а заодно, если поймаешь в нем remote exec - то же самое сможет делать и экзекнутый код. Причем, в таком варианте - любой свободный порт, не только 80й.
Не надо так делать, если только программа об этом всем не в курсе, и умеет и эти привиллегии сбросить (это гораздо нетривиальнее и системозависимо).uid0+listen+set(e)uid - значительно более надежный и безобидный набор (поскольку в этом месте не обрабатываются данные из недоверенных источников, обоcраться тут сложно). Попутно можно сделать еще много всего интересного, что нежелательно оставлять открытым - поднять max sockets, открыть рутовые логи, недоступные дочерним процессам даже на чтение, и т д (chroot, на худой конец - после того, как все нужное выше точки уже открыто или обработано и закрыто).
ну, понятен, жабоедам это все малодоступно, разьве что через пресловутый jsvc (опять на сях, да шо ж это деется-то?) - который, кстати, в линуксе вроде и seccomp умеет.
>> Кстати, мужики! Мне тут рассказали про capabilities. Оказывается, нынче не надо
>> запускаться от рута и сбрасывать потом права, а достаточно лишь сказать вот так, и
>> приложение сможет слушать порт < 1024:
> а заодно, если поймаешь в нем remote exec - то же самое сможет делать и экзекнутый код.Понял. Буду иметь в виду.
А чем вариант с setcap лучше/хуже старого доброго authbind?#touch /etc/authbind/byport/{80,443}
#chmod 500 /etc/authbind/byport/{80,443}
#chown tomcat:tomcat /etc/authbind/byport/{80,443}и запускаем:
ExecStart=/usr/bin/authbind --deep /opt/tomcat/latest/bin/catalina.sh start
> все ip адреса - 127.0.0.1X-Forwarded-For? Нет, не слышал...
> X-Forwarded-For? Нет, не слышал...слышал. А в логах struts'овой мега-системы - 127.0.0.1
иди учись дальше, школьничек. Может узнаешь, что все эти xforwarded не являются достаточным условием, особенно, если система не твоя и ты в ней ничерта не сечешь.
То есть, струц не умеет скидывать в лог то, что нужно хозяину? Богатая мегасистема. Куда уж всякаим поднелкам до её убер-фич.
> То есть, струц не умеет скидывать в лог то, что нужно хозяину?во-первых, struts - это фреймворк, в лог будет скидывать то, что на нем написано.
во-вторых, это написанное - писал не ты, и даже если дать тебе исходники - ты над ними тихо помрешь, поскольку это обычно кровавый энтерпрайз, с мегатоннами напластований.
в-третьих - а теперь подумай, если есть чем, это вот не тобой на нем написанное - оно в курсе "что нужно хозяину", или все же - банально рассчитано на типовую установку, шаг вправо, шаг влево - неподдерживаемая конфигурация, потому что там внутренних проблем полно, еще не хватало решать внешние.> Богатая мегасистема. Куда уж всякаим поднелкам до её убер-фич.
вон в соседнем топике про циску - выбираешь любые две строчки, разбираешься, что это, ищешь хоть одно предприятие с числом сотрудников >=1000, использующее вместо них - всякие поделки. Просишь поделиться, выслушиваешь ответ, идешь куда послали.
не поделятся, понятно, не потому что жадные.
> в лог будет скидывать то, что на нем написаноТо есть, в веб-фреймворке нет возможности писать в лог заданный в конфиге заголовок http-запроса?
> шаг вправо, шаг влево - неподдерживаемая конфигурация, потому что там внутренних проблем полноНу, блин, приехали... После этого сабж даже и палочкой тыкать не хочется.
> То есть, в веб-фреймворке нет возможностито есть ты так ни одного слова и не понял?
в веб-фреймворке я хз - может (наверное) и есть, для него это просто заголовок - один из многих. В продукте, написанном на этом фреймворке для конкретной корпорации, может двадцать лет назад - скорее всего - нет. В том числе потому, что слепо доверять этому заголовку нельзя (и готовые, а не наколенные, механизмы появились совсем недавно).
> Ну, блин, приехали... После этого сабж даже и палочкой тыкать не хочется.
срочно убейся апстену.
В всего лишь банальном apache httpd имени RHEL/CentOS 6 - там версия 2.20, а не 2.4 - "нет штатной возможности", а нештатные разваливаются под нагрузкой. Вот в 1.3 - есть, а для этого - хрен (точнее, хрен ты найдешь работающий вариант)
Хотя вроде как универсальный опенсорсе софт, используемый миллионом леммингов, а не экзотика, которой ты никогда в жизни не увидишь.
Вот сразу сишника видно. Все думали он джаву пинает, а он прото тупит.
>> просто кто-то очень сильно хотел его повесить на 80/443 порты и не знал, как.
> Не знал, как повесить его на 11443 и пробросить на 443 через
> iptables? Да разве такие бывают? Таких гнать из профессии надо ссаными
> тряпками!Да не, дать бинарнику CAP_NET_BIND_SERVICE.
Только что на джавистов гнал. Неужели дошло. Не верю.
>томкет от рута запустить -- этострашилка для маленьких мальчиков. Сервер приложений все одно запускается с правами достаточными, чтобы читать из базы. На фоне украденной базы рут - Неуловимый Джо. :)
читайте новость. rce возможно только, если слишком умный админ запустил сервер приложений от рута.
Нет, и в новости все правильно написано, чего не скажешь о твоем выражении> Обе проблемы позволяют выполнить свой код на сервере, при этом если web-приложение выполняется в контейнере Apache Tomcat, запускаемом с правами root, в результате удалённой атаки может быть получен доступ с правами root.
Это сколько надо боярышника, чтобы баг фреймворка валить на язык? Следуя вашей же логике - это си облажался, веть жаба на нем написана.
> Манипуляции информацией о том, что сентябрьская уязвимость вызвана ошибкой, которая находится в коде уже 9 лет, неуместны, так как есть большая разница между выявлением ранее неизвестной ошибки и знанием о наличии неисправленной ошибки.Ну конечно, а другие её не могли найти раньше, ага.
Могли и другую найти, поныне не закрытую.
> Могли и другую найти, поныне не закрытую.Более того, скорее всего, нашли. Каков шанс, что хакер найдет дыру и раскажет о ней? А какой процент хакеров среди честных людей?
> Более того, скорее всего, нашли. Каков шанс, что хакер найдет дыру и
> раскажет о ней? А какой процент хакеров среди честных людей?Хрен бы его знает, но они делятся на white hats, gray hats и black hats. В любом случае, если есть bug bounty, шансы на то что баг будет отрапортован а не слит на черный рынок здорово повышаются. В конце концов, откровенное black hat'ство всегда идет в комплекте с некоторым риском, отсутствующим в подходе white hat-ов.
Вижу следующие проблемы:
- криворукость сетевого администратора в организации
- отсутствие сетевого администратора в организации
- целенаправленная халатностьЕсли сказать Tomcat запускаться на 80 порту, то он стартанет, но 80 порт слушать не сможет по причине:
Failed to initialize component [Connector[HTTP/2-80]]
org.apache.catalina.LifecycleException: Protocol handler initialization failed
Caused by: java.net.SocketException: Permission deniedВина java здесь в том, что она просто-напросто не может творить чудеса - слушать привелигированный порт в рамках пользователя операционной системы, которому такие действия запрещены.
Да что вы заладили root да root? Прав непревелигерованного пользователя, под которым запущен томкат вполне хватит, что бы получить доступ к данным, к которым есть доступ у веб сервера. В данном случае- доступ в бд на чтение.
>бы получить доступ к данным, к которым есть доступ у веб сервераФронтенд инициирует создание сессии, получает некий токен, с ним ходит в СУБД.
Сломав фронтенд можно максимум получить информацию из других АКТИВНЫХ сессий.
Это если думать не попой.
>Это если думать не попой.А зачем ты ею думаешь а не головой?
Сказано "в течении 2 месяцев скачали данные 143 миллионов американцев". Ты полагаешь за эти два месяца эти сто сорок три миллиона американцев ходили на сайт этого бюро?
Явно же медленно незаметно сдампили БД.Для этого не нужен root, и этому не помешает дополнительная "прослойка" между frontend и BD.
Прослойка помешает.
Максимум вытянешь данные залогиненных пользователей и то если получишь токены из памяти.
Другое дело, что в сабже этого не было сделано и все(или почти) данные слили.
Это архитектурная недоработка в безопасности ифраструктуры.
К тому же в памяти можно хранить "сырые" токены и только в момент передачи их в БД сервис, дешифровывать по определенному алгоритму.
В этом случае даже получение такого токена из памяти ничего не даст, пока ты не разберешся как его дешифровать, ибо БД сервис не будет его принимать.
Отличный подход: Понадеяться на прослойку/БД и писать плохой код!
Как вам удалось сделал такой вывод из сказанного мной?
Пишите хороший.
Прослойку это не отменяет.
Зачем нужна прослойка при хорошем коде?
> Да что вы заладили root да root?Я человек простой - читаю текст новости и строго по нему спамлю в комментах.
Исключительно по тексту новости:
"Обе проблемы позволяют выполнить свой код на сервере, при этом если web-приложение выполняется в контейнере Apache Tomcat, запускаемом с правами root, в результате удалённой атаки может быть получен доступ с правами root."Они первые начали :)
Так в том то и дело, что в новости написано: "если web-приложение выполняется ... с правами root", но при этом нигде не написано, что у Эквифакса оно работает от рута. А все почему то прочитали это как: "Эквифакс не умеет в томкат и запускает его от рута".
На мой взгляд вина Эквифакса варьируется между "не умеют выбирать стек приложений" (apache struts известен большим количеством критических уязвимостей), если их поимели через CVE-2017-9805 и "не умеют патчится", если их поимели через CVE-2017-5638. К первому особо не докопаешься, потому что 0-day и такое может случиться с любым стеком технологий. Если второе, то тут конечно серьезнее. 2 месяца не патчить RCE - за такое надо наказывать -рублём- долларом.
> Да что вы заладили root да root? Прав непревелигерованного пользователя, под которым
> запущен томкат вполне хватит, что бы получить доступ к данным, к
> которым есть доступ у веб сервера. В данном случае- доступ в
> бд на чтение.Блин, тут говорят что подстановка байт кода в запрос. Теперь подумай достучаться до оси, инструментарий которой тебе известен, или подставить код, который вставит твой функционал в приложение, т.е. обратится к БД и сольёт тебе данные. Второе вообще не так тривиально и у хацкеров вызывает сегфолты и эксепшены, а не хеппи сливы.
> Вина java здесь в том, что она просто-напросто не может творить чудесаКстати, может хоть вы мне объясните, почему Java-программисты испытывают затруднения с тем, чтобы, запустившись, сбросить права до нужных?
Java-то не может творить чудеса, но программист на то и программист ведь.
Все они могут.
В новости линк же есть:
https://wiki.apache.org/tomcat/HowTo#How_to_run_Tomcat_witho...
> В новости линк же есть:этот линк как раз демонстрирует их полную беспомощность - от советов запускать через прокси, до совершенно безобразного сетуид-скрипта (который вообще неясно, зачем нужен - ну мышление жабоедов логике неподвластно), запускающего от рута шелл-скрипты томкэта (обосраться и не жить, вот это секьюрити)!
А понизить привиллегии после присасывания к 80-му порту, как делают все нормальные программы - нет, это не жабий метод.
Впрочем, действительно, и зачем? У сервера кредитного бюро хоть от какого пользователя его запусти, есть доступ к данным кредитного бюро. А больше ничего и не надо. Можно даже автосливалку этих данных с удобствами написать на жабе-ee, а чо, прикольно.
> А понизить привиллегии после присасывания к 80-му порту,
> как делают все нормальные программы - нет, это не жабий метод.Наилучшим, по их мнению путем, является старт Tomcat в качестве нативной для linux программы:
https://tomcat.apache.org/tomcat-9.0-doc/setup.html#Unix_daemonРазве она не делает то, что вы описали -- понижает привилегии после присасывания к 80-му порту.
Вот цитата:
"jsvc has other useful parameters, such as -user which causes it to switch to another user after the daemon initialization is complete. This allows, for example, running Tomcat as a non privileged user while still being able to use privileged ports. Note that if you use this option and start Tomcat as root, you'll need to disable the org.apache.catalina.security.SecurityListener check that prevents Tomcat starting when running as root."
> Разве она не делает то, что вы описали -- понижает привилегии после присасывания к 80-му порту.jsvc конечно же делает то, что надо, вот только подход с jsvc не всегда применим как минимум из-за того, что не всегда допустимо демонизировать процесс средствами java, как это в нём делается.
Банальный пример: есть большой проект, в котором куча демонов, написанных на разных языках, которые общаются друг с другом через API. Для них используется djb's daemontools для унификации управления набором демонов. При этом подходе демоны должны запускаться в foreground. Но с jsvc этого сделать нельзя.
Речь о том, что права должны сбрасываться самим процессом, а не специальной приблудой в виде jsvc. Сброс привилегий -- это задача запускаемой программы, а не сторонней утилиты.
Спасибо за разъяснение.
Честно говоря я не думал об этом.
И соглашусь с вами, что разработчики java могли бы для своего процесса предусмотреть сброс привилегий.По всей видимости есть этому объяснение какое-нибудь, хотя я не могу найти таких объяснений. Они комбайн сделали из этой джавы, что если они что-то не делают, то это не просто так, может не могут :)
В принципе ничего же нет такого особенного в задаче сброса привилегий процесса.
> По всей видимости есть этому объяснение какое-нибудь, хотя я не могу найти таких объяснений.Наверное дело в том, что сброс привилегий производится по-разному на разных платформах и из-за этого в оракловую яву этих изменений не принимают. Хотя это конечно всего лишь предположение.
Мне почему-то кажется, что обязательность кроссплатформенности не является основной причиной. Я повторюсь, джава это атомный комбайн всего чего только можно и большинство из этого, если не все, кроссплатформенно. Уж задать эффективного юзеро могли бы состряпать.Вобщем, решил спросить у типо шибко умных:
http://mail.openjdk.java.net/pipermail/core-libs-dev/2017-Se...если я там вопрос задал некорректно, можете присоединиться при желании :)
> Мне почему-то кажется, что обязательность кроссплатформенности не является основной причиной.
> Я повторюсь, джава это атомный комбайн всего чего только можно и
> большинство из этого, если не все, кроссплатформенно.
> Уж задать эффективного юзера могли бы состряпать.Да, это было бы здорово. Если найдётся когда-нибудь такой способ, я бы протолкнул его нашим явистам.
> Вобщем, решил спросить у типо шибко умных:
> http://mail.openjdk.java.net/pipermail/core-libs-dev/2017-Se...core-libs-dev@openjdk.java.net ?
> если я там вопрос задал некорректно, можете присоединиться при желании :)
Корректно. Я пока послежу в режиме ro.
PS: Спасибо, кстати, за рассылку. Я вот с явой имел чисто потребительские отношения и не знал, куда писать с такими вопросами.
PPS: Подписался на gmane.comp.java.openjdk.core-libs.devel
> core-libs-dev@openjdk.java.net ?
> PS: Спасибо, кстати, за рассылку.
> Я вот с явой имел чисто потребительские отношения и не знал,
> куда писать с такими вопросами.Здесь все рассылки разрабов OpenJDK(читайте разарабов Java):
http://mail.openjdk.java.net/mailman/listinfo> Корректно. Я пока послежу в режиме ro.
Уже задали следующий вопрос:
http://mail.openjdk.java.net/pipermail/core-libs-dev/2017-Se...что ответить я не знаю. Неужели в венде все так плохо с изменением эффективных юзеров? )))
> что ответить я не знаю. Неужели в венде все так плохо с изменением эффективных юзеров? )))ЕМНИП, в винде система прав сильно отличается от юниксовой. Там просто нет таких понятий.
С другой стороны, для сброса привелегий jsvc в винде что-то ведь делает. Я по исходникам прошёлся, но пока не смог найти этого места. Буду признателен, если Вы составите мне компанию.
> С другой стороны, для сброса привелегий jsvc в винде что-то ведь делает.
> Я по исходникам прошёлся, но пока не смог найти этого места.
> Буду признателен, если Вы составите мне компанию.В первом приближении я пока думаю, что они просто создают новый процесс)))
https://github.com/apache/commons-daemon/blob/6702852984689b...
> В первом приближении я пока думаю, что они просто создают новый процесс)))
> https://github.com/apache/commons-daemon/blob/6702852984689b...Вот-вот, как раз шёл сюда отписать то же самое.
Тут ведь фокус в том, что в виндах для определения прав процесса используется Access Token[0], который свой для каждого пользователя. Причём в отличие от Unix-сиситем, где можно на лету изменить uid/gid, процесс в винде, работающий с правами администратора, не может изменить токен текущего процесса [1].
[0] https://msdn.microsoft.com/en-us/library/windows/desktop/ms6...
[1] https://salesforce.stackexchange.com/questions/15201/how-do-...
В венде сейчас есть такое решение:
https://technet.microsoft.com/en-us/library/cc771525.aspxТут ключевое слово "сейчас".
В Java помимо кроссплатформенности есть еще такая бооольшая проблема как обратная совместимость.
Как вариант, плюсом к вашему предположению, разарабы java может сейчас и могут пользоваться RUNAS на венде, но на старых версиях венды это точно не работает и нет никакой гарантии, что будет работать в последующих версиях венды. А обратная совместимость это из-за чего на java сидят коммерцы.[0] https://superuser.com/questions/973349/is-there-a-windows-eq...
Ну, тут в общем-то обсуждается не фунцкия setuid, а скорее setuid bit. :)
runas позволяет именно что запустить программу из-под другого юзера, то есть по факту является windows-аналогом sudo/su. А вот изменить токен процесса после запуска возможности всё равно нет.
Гуд, значит стопроцентов дело в ведре.
Ваш пример не банальный, а глупый. Сишников не учат, что свой API не системные порты нельзя вешать? Может образование подтянуть, тогда и позориться не придется
> Разве она не делает то, что вы описали -- понижает привилегии после
> присасывания к 80-му порту.jsvc-то делает, но как-то на удивление криво, нужна еще стройная система костылей и подпорочек.
А по той, первой ссылке - ад, треш и кабздец, чтобы без нее обойтись (совсем уж ужасными костылями).Понятно, что я бы, в подобной жизни-катастрофе, вероятнее всего просто спрятал это уродище за nginx, оно еще от статридцатитрех болезней помогает, но и там придется побороться - оно ж (точнее, то что на нем накодят) захочет реальных ip, или еще какой муры, совершенно не умея стандартных средств работы с проксями.
Ну и от помянутых двух cve - ничем бы все равно не помогло - мой /root/.pron/ конечно, остался бы неукраденным, а таза банных - увы-с.
> jsvc-то делает, но как-то на удивление криво,
> нужна еще стройная система костылей и подпорочек.разъясните пожалуйста про костыли и подпорочки, мне для понимания надо
> Ну и от помянутых двух cve - ничем бы все равно не помогло
> - мой /root/.pron/ конечно, остался бы неукраденным, а таза банных - увы-с.спасет корректная архитектура приложения.
Вот Ку объяснил:
http://www.opennet.me/opennews/art.shtml?num=47170#26
>> jsvc-то делает, но как-то на удивление криво, нужна еще стройная система костылей и подпорочек.
> разъясните пожалуйста про костыли и подпорочки, мне для понимания надоНу, чёткого определения костыля вообще нету, обычно эти слова произносятся в зависимости от того, насколько было уязвлено "чувство правильной вещи" комментирующего.
Но вообще понять его можно: человек видит, что для того, чтобы банально сбросить права после выполнения привилегированных операций, в JVM требуется аж целый супервизор и своя видоизменённая процедура запуска ява-машины. И человека от этого (естественно) трясёт.
)))))
А ведь вы правы. Многих после такого:
http://radikal.ru/fp/rfy4trkjz5uoaначнет слегка потряхивать))))
> А ведь вы правы. Многих после такого:
> http://radikal.ru/fp/rfy4trkjz5uoa
> начнет слегка потряхивать))))Да ладно, это как раз-таки нормально. Тут хотя бы есть стопудово рабочий способ. :)
А вот я недавно бился со сборкой Boost и Racket: так там в сборочных сценариях строчки вида
CXX = g++ ${CXXFLAGS} ${OTHER_OPTS}Вот за такое хочется руки оторвать, когда у тебя в системе стоят несколько компиляторов разных версий. Причём в некоторых проектах, с которыми я сталкивался, ещё есть возможность вычленить эти места и заменить там g++ на $(CXX_SUBST), после чего выполнить CXX_SUBST=/usr/bin/g++-4.8 make -e, однако в вышеобозначенных двух такая хитрая мешанина из cmake/libtool, что у меня руки опускаются.
Вот от этого -- реально трясёт. А от jsvc не трясёт. Это ещё более-менее. :)
> Вот за такое хочется руки оторвать, когда у тебя в системе стоят несколько компиляторов
> разных версий.вообще-то _правильно_ установленный "компилятор разных версий" умеет переключаться ключиком -V, задаваемым, банально, в cflags. В данном случае -V 4.8 Авторы boost не вполне виноваты в том, что современные gcc собрать так, чтобы этот ключик работал и ничего другое при этом не сломалось в дистрибутиве - отдельное удовольствие.
Но их детское удивление, что могут быть другие с++ кроме g, вообразить, конечно, можно.
>> Вот за такое хочется руки оторвать, когда у тебя в системе стоят несколько компиляторов
>> разных версий.
> вообще-то _правильно_ установленный "компилятор разных версий" умеет переключаться ключиком
> -V, задаваемым, банально, в cflags. В данном случае -V 4.8Приветствуем крионавта :)
http://gcc.gnu.org/gcc-4.6/changes.html
> GCC 4.6 Release Series
> Changes, New Features, and Fixes
> Caveats
> The options -b <machine> and -V <version> have been removed because they were unreliable. Instead, users should directly run <machine>-gcc when cross-compiling, or <machine>-gcc-<version> to run a different version of gcc.
>
> Приветствуем крионавта ;)ну я же предупреждал, что не так прямо все легко. До 4.7.2 код еще с нами, afair, просто отключен, и, к счастью, его присутствие нужно только в собственно /usr/bin/g{cc,++} - если не новый-модный дистрибутив, велик шанс что там еще установлено что-то совместимое.
> Вот за такое хочется руки оторвать, когда у тебя в системе стоят несколько компиляторов разных версий.mkdir bin
export PATH="`pwd`/bin;$PATH"
ln -s /usr/bin/cool-c++-compiler ./bin/g++
>> Вот за такое хочется руки оторвать, когда у тебя в системе стоят несколько компиляторов разных версий.
> mkdir bin
> export PATH="`pwd`/bin;$PATH"
> ln -s /usr/bin/cool-c++-compiler ./bin/g++Ну да. Ведь сделать "СXX ?= g++" отдельной строчкой сложно, пускай лучше пользователь мудохается с костылями.
> Ну да. Ведь сделать "СXX ?= g++" отдельной строчкой сложно, пускай лучше
> пользователь мудохается с костылями.канешна - это ж надо сообразить, из какого места модной аутолибульной хрени оно выползает (передаем пламенный привет последним чудесам в области "изобретем симэйк с квадратными колесами, ибо ниасилили даже документацию на него дочитать до середины" - там ты вообще никогда не найдешь это место. Кстати, помнится, буст как раз собирались куда-то туда мигрировать?)
>> Ну да. Ведь сделать "СXX ?= g++" отдельной строчкой сложно, пускай лучше
>> пользователь мудохается с костылями.
> канешна - это ж надо сообразить, из какого места модной аутолибульной хрени оно выползаетДа не нужно гадать.
>>> так там в сборочных сценариях строчки вида
>>> CXX = g++ ${CXXFLAGS} ${OTHER_OPTS}
>> костыль с ln
> "СXX ?= g++" отдельной строчкой сложно, пускай лучше пользователь мудохаетсяТ.е. делать так нужно как раз в аутолибульной хрени. Или в генерированном симейком мейке.
> канешна - это ж надо сообразить, из какого места модной аутолибульной хрени
> оно выползает (передаем пламенный привет последним чудесам в области "изобретем симэйк
> с квадратными колесами, ибо ниасилили даже документацию на него дочитатьПохоже на описание meson'а, чтоли.
>> Вот за такое хочется руки оторвать, когда у тебя в системе стоят несколько компиляторов разных версий.
> mkdir bin
> export PATH="`pwd`/bin;$PATH"
> ln -s /usr/bin/cool-c++-compiler ./bin/g++О! А вот это мне в голову не приходило. Завтра попробую, спасибо. :)
>> Вот за такое хочется руки оторвать, когда у тебя в системе стоят несколько компиляторов разных версий.
> mkdir bin
> export PATH="`pwd`/bin;$PATH"
> ln -s /usr/bin/cool-c++-compiler ./bin/g++Увы, это не помогло. Помог вариант с user-config для bjam.
Но на будущее этот костыль тоже буду иметь в виду. Пригодится для чего-нибудь. )
>>> Вот за такое хочется руки оторвать, когда у тебя в системе стоят несколько компиляторов разных версий.
>> mkdir bin
>> export PATH="`pwd`/bin;$PATH"
>> ln -s /usr/bin/cool-c++-compiler ./bin/g++
> Увы, это не помогло. Помог вариант с user-config для bjam.
> Но на будущее этот костыль тоже буду иметь в виду. Пригодится для
> чего-нибудь. )Хм... Очевидно мало было только симлинк на другой компилятор подсунуть, надо было ещё что-то. Но если это интересно, я могу порекомендовать глянуть в гентушный скрипт gcc-config[1], он перенастраивает все симлинки system-wide, с одной версии компилятора на другую. Это может быть в образовательных целях полезно, чтобы понять какие пути вообще важны, ну и практически тоже: вероятно, этот скрипт можно перелопатить, чтобы он без рутовских прав делал то же самое, играясь с переменными окружения и симлинками.
> Но если это интересно, я могу порекомендовать глянуть в гентушный
> скрипт gcc-config[1], он перенастраивает все симлинки system-wide, с
> одной версии компилятора на другую.Хм. Перенастраивать все симлинки system-wide - это может быть и неплохо для последовательно работающего emerge, но на сборочном сервере такой фокус не прокатит: что, если начнут собираться одновременно два компонента, требующие разных версий тулкита gcc? Один или даже оба огребут. Но вообще да, посмотреть пути полезно. Я вижу, там надо ещё поправить путь к include-ам было как минимум. Но в любом случае спасибо. Хорошо знать, что можно и так, и эдак, и через плечо. Спасибо. )
> Boost
> строчки видаЭто где это в boost такое? Сколько раз собирал его кастомным компилятором, никаких проблем.
>> Boost
>> строчки вида
> Это где это в boost такое? Сколько раз собирал его кастомным компилятором,
> никаких проблем.Это какая-то дремучая версия буста, на которую завязались ряд наших компонентов, и которая мне досталась от предшественника.
Старше 15 лет, что ли (или когда они bjam туда вкорячили)? Так и надо сразу уточнять, а то вон один тролль уже начал сочинять сказки про разработчиков буста, не знающих о существовании разных компиляторов.
> уже начал сочинять сказки про разработчиков буста, не знающих о существовании разных
> компиляторов.ну я рад услышать, что они хотя бы за пятнадцать лет догадались, но кому и пятнадцать-то лет назад могло придти в голову использовать гвоздем прибитое гнутое имя компилятора?
> Старше 15 лет, что ли (или когда они bjam туда вкорячили)? Так
> и надо сразу уточнять, а то вон один тролль уже начал
> сочинять сказки про разработчиков буста, не знающих о существовании разных компиляторов.Хм. Мне думется, что ей лет 10-12, но bjam там кстати есть.
UPD: нашёл версию в факлике index.html: 1.43.0
Значит, 2013го года.
Раз так, то он должен собираться bjam'ом, и компилятор можно задать через user-config: http://www.boost.org/build/doc/html/bbv2/overview/configurat...
> Раз так, то он должен собираться bjam'ом, и компилятор можно задать через
> user-config: http://www.boost.org/build/doc/html/bbv2/overview/configurat...Спасибо, попробую.
> Раз так, то он должен собираться bjam'ом, и компилятор можно задать через user-configСпасибо! Собралось отлично с нужной версией компилятора! :)
> Но вообще понять его можно: человек видит, что для того, чтобы банально
> сбросить права после выполнения привилегированных операций, в JVM требуется аж целый
> супервизор и своя видоизменённая процедура запуска ява-машины. И человека от этогоне забудьте еще предусмотреть супервизор этого супервизора, а то оно умеет навернуться - впрочем, там, помнится, на роль этого чуда в штатных хауту назначен системде.
> не забудьте еще предусмотреть супервизор этого супервизора, а то оно умеет навернуться
> - впрочем, там, помнится, на роль этого чуда в штатных хауту
> назначен системде.В нем все это сделано и даже достаточно прилично. В Linux есть такая штука - watchdog. Если нет аппаратного, можно программный использовать, в ядре есть такая фича, хоть это и менее надежно. Аппаратный лучше, можно и оба сразу.
Системд обязан дергать вачдог, для доказательства что он не помер. Остальные процессы которые он мониторит обязаны дергать системду, чтобы доказать что живые. Получается нормальная иерархия проверок, корень дерева иерархии в лучшем случае вообще на железке. В случае с аппаратным вачдогом система придет в нормальный вид даже при зависании ядра, поскольку железку не интересует причина по которой ее не обслужили вовремя. А вот как подобие этого делают без системды и с какими допущениями...
> В нем все это сделано и даже достаточно прилично. В Linux есть
> такая штука - watchdog. Если нет аппаратного, можно программный использовать, в
> ядре есть такая фича, хоть это и менее надежно. Аппаратный лучше,
> можно и оба сразу.
>
> Системд обязан дергать вачдог, для доказательства что он не помер. Остальные процессы
> которые он мониторит обязаны дергать системду, чтобы доказать что живые. Получается
> нормальная иерархия проверок, корень дерева иерархии в лучшем случае вообще на
> железке.Вот же феерический бред. Нет, ну надо же! *Аппаратный* вачдог для мониторинга работы *процессов*! :)
> В случае с аппаратным вачдогом система придет в нормальный вид
> даже при зависании ядра, поскольку железку не интересует причина по которой
> ее не обслужили вовремя.Системдешники такие наивные теоретизаторы, аж слеза наворачивается. :)
А как же смена контекста в планировщике? Как же IO, как же сеть? :)
> А вот как подобие этого делают без системды и с какими допущениями...
А в мире без системды считается, что программы падать не должны, и если они постоянно падают -- то эти программы плохие, и их выкидывают. А supervise (в ваших терминах -- watchdog) используется в исключительных случаях для крайне ненадёжных программ, которые выкинуть не получилось в силу обстоятельств.
Если я все правильно понимаю, то они это делают вот так:
https://github.com/apache/commons-daemon/blob/6702852984689b...
>[оверквотинг удален]
> этот линк как раз демонстрирует их полную беспомощность - от советов запускать
> через прокси, до совершенно безобразного сетуид-скрипта (который вообще неясно, зачем
> нужен - ну мышление жабоедов логике неподвластно), запускающего от рута шелл-скрипты
> томкэта (обосраться и не жить, вот это секьюрити)!
> А понизить привиллегии после присасывания к 80-му порту, как делают все нормальные
> программы - нет, это не жабий метод.
> Впрочем, действительно, и зачем? У сервера кредитного бюро хоть от какого пользователя
> его запусти, есть доступ к данным кредитного бюро. А больше ничего
> и не надо. Можно даже автосливалку этих данных с удобствами написать
> на жабе-ee, а чо, прикольно.Т.е. по вашему это джависты сервер приложений на проде запускают? Сишник?
> В новости линк же естьСпасибо, поржал. Особенно над suid-ником. Не, всё правильно: запускать-то из-под юзера можно будет. Правда, работать он будет под рутом, ну да пофиг же, кому какое дело!
Нет, правда, до такой феерической тупости ещё додуматься надо. :)
PS: И это в HowTo на wiki.apache.org :)
Да, нет же.
Работать оно будет под непривилегированным пользователем:
http://joxi.ru/12M1MRlH41bZ82Скажите где у меня ошибка в рассуждениях.
Ваша ошибка в том, что я говорю о варианте с suid-ником, а Вы -- о варианте с jsvc.
Извините, я действительно не уточнил, что говорил про использование стартера jsvcЕсли вам не сложно, прокомментируйте пожалуйста вариант с jsvc.
Насколько по вашему мнению такой подход корректен?
Можно ли лучшее решение найти?Я, к примеру, считаю что лучше всего использовать вариант:
- A another way is to use Iptables to redirect Port 80 and 443 to user ports (>1024)
* /sbin/iptables -A FORWARD -p tcp --destination-port 443 -j ACCEPT
* /sbin/iptables -t nat -A PREROUTING -j REDIRECT -p tcp --destination-port 443 --to-ports 8443
* /sbin/iptables -A FORWARD -p tcp --destination-port 80 -j ACCEPT
* /sbin/iptables -t nat -A PREROUTING -j REDIRECT -p tcp --destination-port 80 --to-ports 8080
/sbin/iptables-save or /etc/init.d/iptables save
If you'd like "localhost:443" to also redirect to "localhost:8443", you'll need this command as well:
* /sbin/iptables -t nat -A OUTPUT -p tcp -o lo -destination-port 443 -j REDIRECT --to-ports 8443
Also note that if you have existing rules defined in your chains, you will need to make sure that the rules above are not ruled-out by another rule when using -A to add the above rules. For example, if you have an existing FORWARD rule that says "-j REJECT" than adding the FORWARD rule after it will have no effect.
> Извините, я действительно не уточнил, что говорил про использование стартера jsvc
> Если вам не сложно, прокомментируйте пожалуйста вариант с jsvc.Прокомментировал в #49.
> Насколько по вашему мнению такой подход корректен?
Он корректен не всегда, потому что форсирует демонизацию процесса.
> Я, к примеру, считаю что лучше всего использовать вариант
Да, мы сейчас для наших явовских демонов так и поступили.
> Можно ли лучшее решение найти?
Я собственно в #29 и спрашивал, почему у явистов такие проблемы со сбрасыванием привилегий. Лучшего решения пока не нашли, что поделать.
Вот ссылка на исходник, где они устанавливают id:
https://github.com/apache/commons-daemon/blob/6702852984689b...Вы считаете, что они это делают некорректно?
Если так, то приведите пожалуйста свой вариант.
>> Вина java здесь в том, что она просто-напросто не может творить чудеса
> Кстати, может хоть вы мне объясните, почему Java-программисты испытывают затруднения с
> тем, чтобы, запустившись, сбросить права до нужных?
> Java-то не может творить чудеса, но программист на то и программист ведь.Объясняю - никаких затруднений ибо java здесь абсолютно ну никаким боком. Да не их это зона ответсвенности. А чюдеса творит не java и не с, а человек. И портачат точно так же люди. А так хочется быть умным по определению, потому что с. И автоматом пинать тех кто не согласен. Довольно убогий подход. Вам не кажется?
Эм, а какое отношение сетевой администратор имеет к root на сервере?
Ну, хорошо, замените "сетевой администратор" любым другим устраивающим вас текстом, который идентифицирует должностное лицо, ответственное за вцелом работоспособность операционной системы компьютера, на котором запущен сервер Tomcat.
Что-то в предыдущей теме могучие сишники так и не назвали правильный web2.0 MVCшный фреймворк, написанный не на противной жабе.Только не надо про пых, джанго и РоР...
>Только не надо про пых, джанго и РоР...Почему? Потому что они распространены и не написаны на Яве? И это портит твою уютную Ява-фантазию?
Патамучта решeто на порядок большее.
> Патамучта решeто на порядок большее.Эврика. Лютый жабист утверждает, что жаба -- решeто. :)
На си же написано. От яблони далеко не укатишься.
> На си же написано. От яблони далеко не укатишься.Далеко не укатишься, имхо, если считать что во всем виноват си, а думать за програмера должен рантайм. Рантайм не заменяет бошку и security minded программирование. Помнишь как мозиллу в JS разломали? Moinmoin на питоне? Arian5 грохнулся несмотра на Ada. Шелскрипты dhcp позволяли получить рут. Php не ломает только ленивый. Все еще веришь в серебряные пули?
<жирнота>asp.net mvc</жирнота>
Ты же худой как узник концлагеря. Вот жирнота:
Ява. Очень распространённый фреймворк для веба, написанный не на Яве.
> Ты же худой как узник концлагеря. Вот жирнота:
> Ява. Очень распространённый фреймворк для веба, написанный не на Яве.погугли что такое "фреймворк для веба". Чтобы не пердеть в лужу.
go + gorilla
> Что-то в предыдущей теме могучие сишники так и не назвали правильный web2.0
> MVCшный фреймворк, написанный не на противной жабе.
> Только не надо про пых, джанго и РоР...Treefrog, например.
> Treefrog, например.Позырил, посмеялся. Ты всерьёз это аналогом jsf или struts считаешь?
На здоровье. Я тоже над Вашим комментарием посмеялся.
>> Treefrog, например.чорт, плохая идея была искать одно это слово. Как теперь развидеть все зеленое и пупырчатое?
> Позырил, посмеялся. Ты всерьёз это аналогом jsf или struts считаешь?
там не смеяться, там выть надо. В XXI веке они пишут сайты на c++... долбануться...
(судя по "дизайну" сайта с картинками 300x200 "попробуй разгляди", это, конечно, привет из века XX'го. Годов так начала 90х. Хотя уже тогда для работы с шаблонами, текстовыми данными и формами был изобретен хотя бы перл.)
на самом деле главная уязвимость была вовсе не в Struts, а вот здесь: https://pbs.twimg.com/media/DJMm2IbXgAAbSvh.jpgи что-то мне подсказывает, что она не устранена
> на самом деле главная уязвимость была вовсе не в Struts, а вот
> здесь: https://pbs.twimg.com/media/DJMm2IbXgAAbSvh.jpgрасскажи, какого именно образования ты ждешь от человека, пришедшего в IT в 2002м году?
Даже если бы в те годы где-то кого-то и учили на "security officer", он вынес бы из этого обучения только стойкость к пролому бетонной стены дюйм/час, и тому подобные нужные и полезные знания, из ibm'овской книжки 70х (не то чтобы они стали бесполезны, но, как видим, бетон не помогает от бетона в мозгу разработчиков)Все остальное, дорогой мой вчера-родился, приходится постигать самому, на горьком опыте.
По идее эксперт безопасности должен бы донести до разработчиков и их руководства о том что они делают не так. Иначе зачем эксперт деньги получает, если все приходит к таким вещам? На месте специалиста по безопасности в такой ситуации уместно только уволиться и заняться чем-нибудь другим. Если вы строили мост и он обвалился - будем считать что строительство мостов не ваш конек. Займитесь чем-нибудь другим, более безопасным для окружающих.
> По идее эксперт безопасности должен бы донести до разработчиков и их руководства
> о том что они делают не так.какое отношение это имеет к скриншоту?
И что, собственно, было "не так", кроме факта использования того же софта, что у многих других больших корпораций? (и выбирать-то толком не из чего)> Иначе зачем эксперт деньги получает
например, затем, что все же заметил, что систему-то кто-то того-сь, поимел. Пусть даже и с опозданием на пол-годика. А не молча накатил апдейт на уже поломанную, и с чувством выполненного долга пошел спать.
> , если все приходит к таким вещам? На месте специалиста по
> безопасности в такой ситуации уместно только уволитьсяэпикфе...простите, экифак с нетерпением ждет вашего резюме. Не забудьте отразить в списке побед, сколько именно инцидентов подобного рода вам случилось предотвратить вовремя.
> Если вы строили мост и он обвалился
потому что просчитать что-то было невозможно или выбора материалов не было - то, конечно, надо уволиться, а рабочее место освободить болтуну с опеннета с правильным образованием.
Уж он-то на славу построит. С первой же попытки.
В 2002 году можно было бы хотя бы материалы дел Митника почитать.
Лучше бы написали, что же они теперь то будут делать?https://www.wired.com/story/the-equifax-breach-exposes-ameri...
> Лучше бы написали, что же они теперь то будут делать?в смысле? Они ничего не будут делать, им-то зачем... Жаль что эти ребята не наcрали им в базу, это было бы действительно полезно и прикольно.
А вот если данные где-то всплывут - куче народа придется жить в режиме identity theft. Это когда ты банально счет за электричество не можешь получить на свое имя. (и нет, ничего с этим сделать нельзя)
> Они ничего не будут делать, им-то зачем...Затем, что на них в суд классовый иск подан, а это им грозит в худшем случае выплатой каждому пострадавшему компенсации в полкилобакса. Что для Эквифакса равносильно банкротству. Так что что-то им делать придётся.
https://www.bloomberg.com/news/articles/2017-09-08/equifax-s...
> Затем, что на них в суд классовый иск подан, а это им
> грозит в худшем случае выплатой каждому пострадавшему компенсации в полкилобакса.ну что вы, право, это грозит выплатой юристу пары сотен. Они у нас хорошо откормленные.
>> Затем, что на них в суд классовый иск подан, а это им
>> грозит в худшем случае выплатой каждому пострадавшему компенсации в полкилобакса.
> ну что вы, право, это грозит выплатой юристу пары сотен. Они у
> нас хорошо откормленные.При миллиардном иске? Пара сотен? Пара сотен тысяч, ты имеешь в виду?
> Пара сотен тысяч, ты имеешь в виду?ну да, а чо такого-то? лоер - он полезный, в отличие от каких-то там админов-шмадминов, компания наскребет.
>> Пара сотен тысяч, ты имеешь в виду?
> ну да, а чо такого-то? лоер - он полезный, в отличие от
> каких-то там админов-шмадминов, компания наскребет.Мне вот интересно, откуда вдруг взялась мода на слово "лоер"? Это анонимы опеннета таким образом хвастаются тем, что они знают как произносится слово lawyer? Или они вкладывают в слово "лоер" какой-то особый смысл, который не отражён в слове "юрист"? Расскажи мне про этот смысл, пожалуйста.
> в отличие от каких-то там админов-шмадминов, компания наскребет.
Да. Таким образом бесплатно это эквифаксу не обойдётся. Не хочет кормить админов, будет кормить юристов.
> Мне вот интересно, откуда вдруг взялась мода на слово "лоер"? Это анонимы"адвокат" просто выписывать дольше.
> Да. Таким образом бесплатно это эквифаксу не обойдётся. Не хочет кормить админов,
> будет кормить юристов.ну, тех-то еще по тридцати трем причинам кормить надо.
хотя, конечно, на банкротство эпикфейла посмотреть было бы занятно, с безопасного расстояния. Но, сдается мне, не дождемся.
> Лучше бы написали, что же они теперь то будут делать?Выдавать. Либо новые СНИЛСы, либо кредиты. Всем подряд. :)
>> Лучше бы написали, что же они теперь то будут делать?
> Выдавать. Либо новые СНИЛСы, либо кредиты. Всем подряд. :)Чтобы получит новые СНИЛС им придется провести референдум по присоединению к РФ.
Американский НГШ украдкой смотрит в словарь как пишется "референдум", что это такое и почему раньше обходились без него :)
хрен там. Нету возможности сменить ssn. Говорят, если кто-то когда-то получит на того же человека другой ssn, сразу же затрубит Хеймдаль, Великий Волк сожрет МКС, в общем, рагнарок, п-ц и ядерная зима.У нас-то хоть паспорт можно "потерять" почти без вреда для себя.
> Лучше бы написали, что же они теперь то будут делать?Займутся тем, чем им давно бы пора - модернизацией процесса аутентификации и вопросами безопасности. Вся эта система с SSN была придумана очень давно, с тех пор почти не менялась (американцы вообще ужасно консервативны), и совершенно не отвечает нынешним реалиям.
В этом смысле то, что утечка такая огромная - это даже плюс. Утекло бы 10 тыщ - поохали бы и положили болт. А так получился очень хороший пинок под зад.
Это «покруче» Ирмы будет...
раньше по этим данным можно было кредитку получить, возможно и сейчас это существует:)
Да чего там кредитку. Самое интересное другое: зная имя и SSN, можно заполнить форму tax return (Form 1040). Там можно указать любой банковский счет для возврата. Налоги возвращаются (при относительно небольшой сумме верят на слово), через пару лет налоговая таки проверяет, видит, что оснований для возврата не было... Oops.
Какую-то ерунду написал...
ОпенСорс - это не общее понятие.
Это может быть и умирающий Amarok на которому всем плевать, или линуксовое ядро, развиваемое огромными ресурсами.
И работают в ОпенсОрсе вобщем далеко не за бесплатно.А LO - просто старый и глючный проект с кучей трудностей. Открытость/закрытость его тут не особо принципиальна. Так же можно накатать огромный список проприетарных продуктов, которые скатились.
Это обычное дело, что проекты рождаются и умирают.
> Почему на сайте про open source не пишут, про то, что мода
> на опенсорс прошла, люди стали умнее и беднее и за бесплатнопотому что это глупость. Мода, к сожалению, не прошла, а наоборот, превысила уже разумные пределы. Мода, но не развитие цивилизации, увы.
> уже никто работать не хочет. Куча всего с полной занятости (виды
> работ) перекатилось во фриланс.казалось бы - наоборот, освобождая время для опенсосия. Впрочем, знаем мы тот фриланс на надувании нефтяного пузыря - сдать квартиру в Москве, на вырученные бабки уехать жить в Тай, эпизодически подкалымливать дерьмосайтами на пехепе и говорить всем что "фрилансер". На деле - банальный рантье. Разумеется, чорта с два такой экземпляр что полезное для окружающих наляпает.
> Молодого притока почти нет, олдскульные опенсорсники постарели
молодой приток все там же где и был - mit, cmu, из беркли вот давно что-то ничего путевого не видно, но может не знаем куда смотреть. Это студенты и аспиранты, умеющие выдавать свою возню с опенсосием за научную работу, чтобы получить вожделенный phd. Как оно было _всегда_ (ибо нет никакой "научной работы" в IT, псевдонаука одна - и не было никогда).
> нормально промыть мозги, как их предшественникам и они не поднимают опенсорс,
> люди больше не верят в реальный социализм/коммунизм и рай на Земле,люди верившие в сосализм и коммунизм ничего не создали, кроме gnu emacs. Да и тем никто никогда не пользовался, пользовались форками, сделанными людьми чтоб работать и зарабатывать деньги, а не ради веры в светлое завтра. Потом появились нормальные ide, сделанные коммерческими разработчиками за деньги, и пользоваться emacs разучились совсем.
Линусу и Хаббарду хотелось не сосать задарма, а "настоящий юникс" себе на домашний компьютер своими руками.> Даже основные проекты, которые не поддерживают гиганты, вроде Libre Office загибаются.
он и при жизни не отличался, хм.
Создала его вполне коммерческая компания, и результат ее деятельности уже работал и позволял редактировать документы word, за что саном и оплачен. Все что сделали опенсосники - это мелкие улучшизмы (а местами и ухудшизмы).Большой проект, сделанный именно опенсорсием и именно с нуля - это, как ни удивительно, мазила (то что унаследовано от netscape, выброшено еще на ранних этапах). Кажется, кому-то не нравятся анальные зонды?
> У прокта Тор перестают разрабатывать расширения для браузеров.
авторы тора ими не пользуются, за тремя идущими в комплекте исключениями - что с их стороны вполне разумно. Уследить за всем этим барахлом нереально, и скорее оно тебя деанонимизирует, чем поможет.
> И такая ситуация везде. И все говорят, что у них просто не
> хватает свободных рук, у них нет бесплатных разработчиков.и всегда так говорили. Причем количество этих самых разработчиков выросло в геометрической прогрессии. Количество людей, способных реально что-то делать - увы, не особо изменилось.
> По LO прекрасно видно и то, что стало меньше людей работающих над
> исправлением багов и вероятно, тех, кто отправляет информацию о них. Хотяопенсосие _всегда_, со времен начала 90х было знаменито своим умением вытирать жопу чужим трудом и нежеланием сотрудничать. Отдельные редкие исключения существовали и существуют, но живут каждое недолго.
> Можно сделать общий вывод, что Open Source действительно умирает.
по сравнению с closed source - чувствует себя все лучше и лучше. В том числе - за счет моды инв...спекулянтов, слетающихся как мухи на это самое, на слова "наш проект разрабатывается опенсосным способом" (они думают, что так их "инвестиции" защищены, и что они как-то при этом контролируют процесс)
> потому что это глупость. Мода, к сожалению, не прошла, а наоборот, превысила
> уже разумные пределы. Мода, но не развитие цивилизации, увы.А я то думал потому что так быстрее и дешевле. Отсталое проприетарное нечто, с мощным достоинством "затосвое"? Удачи в продажах. Для кастомеров это вообще баг а не фича.
> и говорить всем что "фрилансер". На деле - банальный рантье. Разумеется,
> чорта с два такой экземпляр что полезное для окружающих наляпает.Однако офисная работа в целом по отрасли начала проседать. Вообще по планете. Как рантье могут вызывать такие эффекты? Не логично.
> люди верившие в сосализм и коммунизм ничего не создали, кроме gnu emacs.
А также gcc, linux kernel, ... :) ну в общем всего ничего операционки и софт вокруг.
> Потом появились нормальные ide, сделанные коммерческими разработчиками за деньги,
Это те которые до сих пор C99 не умеют? Ты удивишься сколько мощных разработчиков с виндовым бэкграундом открыли для себя gcc, clang, ubuntu и проч, наевшись досыта :)
> Линусу и Хаббарду хотелось не сосать задарма, а "настоящий юникс" себе на
> домашний компьютер своими руками.Одно другому не мешает. Линус прекрасно все сбалансировал и как одну из причин почему он в это ввязался он называл конские условия лицензирования minix.
> чужим трудом и нежеланием сотрудничать.
Чтобы с тобой сотрудничали - для начала не надо вести себя как *дак, которому все должны. Это не про проприетарщиков. Которые все время пытаются обжулить, прокатить и присвоить чужой труд. Лохотрон - невыгодная форма сотрудничества. А из програмеров неважные лохи. Хитрые и контратакующие.
> но живут каждое недолго.
Потому что житье в аквариуме с акулами ведет к съедению. Кого не съели помирает от голода. Экосистема у вас так устроена.
> на это самое, на слова "наш проект разрабатывается опенсосным способом" (они
> думают, что так их "инвестиции" защищены, и что они как-то при
> этом контролируют процесс)Как ни странно, если тебе дают исходники - контроля над процессом больше. Можно даже перепоручить его кому-то еще. Это страхует клиентов от жестких кидков и дает пространство для маневра.
Вообще прикольный плач. Не получается больше клиентам яйцы прищемлять? Хорошо.
> А я то думал потому что так быстрее и дешевле.считал, или "думал"? Обычно так нифига не дешевле - хотя да, "быстрее", потому что есть готовое что стырить, а не самому думать надо. То что это готовое до тебя клепали десять лет и совершенно не за спасибо - как-то выносится за скобки, деньги ж не твои.
> Для кастомеров это вообще баг а не фича.
обычный кастомер чего-нибудь типа struts совершенно не может быстренько подпилить его напильником, чтобы закрыть еще неизвестные ему уязвимости. Тем более не может этого сделать кастомер какой-нибудь циски, получившей от нее уязвимость в комплекте с софтом, из-за "быстрее и дешевле" (там и известные не закроешь без чужого участия).
> Однако офисная работа в целом по отрасли начала проседать. Вообще по планете.
в скольки местах на планете лично вам довелось побывать, чтобы делать подобные глубокомысленные выводы? Или вы просто повторяете желтую статейку, одно время имевшую популярность?
> А также gcc, linux kernel,
скачай _тот_ gcc, _тот_ кернел - и посмотри хотя бы глазами код. Особенно во втором. Это примерно 2.7, 1.0.x - пользоваться лучше не пробуй, стошнит (отдельно подумай, как выглядел мир, когда это писали, и откуда брались деньги на еду у тех, кто писал).
А то что делается сейчас - делается вовсе не забесплатно, а за бабки тех же самых корпораций.>> Потом появились нормальные ide, сделанные коммерческими разработчиками за деньги,
> Это те которые до сих пор C99 не умеют?ты ide от c99 не научился отличать? Ну, в общем, понятно, с кем я спорю.
> Ты удивишься сколько мощных разработчиков с виндовым бэкграундом открыли для себя gcc,
> clang, ubuntuсколько? И что они разработали? А то, сдается мне, не умея отличить ide от компилятора, вряд ли ты относишься к первому кругу знакомых хоть одного "мощного разработчика", а не очередного горе-аутсорсера.
> Чтобы с тобой сотрудничали - для начала не надо вести себя как *дак, которому все
> должны.ну так научитесь, впрочем, опять же, кому это я пишу...
А то вам багрепорты - вы "кто ж пользуется этим", вам уже даже не багрепорты, а патчи - вам не так подано, "докажите что вы не рептилоид", "у нас другая концепция"...> Как ни странно, если тебе дают исходники - контроля над процессом больше.
если у тебя бесконечное время и деньги...э, впрочем, зачем тогда исходники, надо купить разработчиков - вместе с лавкой.
Если время и деньги ограничены и их еще заработать надо суметь - от исходников толку никакого, у тебя свои исходники, которые некому за тебя развивать.
Вон, надысь в своем хобби-проекте взял я один когда-то хороший (и опенсорснутый за ненадобностию) инструмент - исправил там одну бредятину (потеряв время, которое мог бы ковыряться в своем коде), написал автору (он знакомый, там не надо пробиваться через фильтр автобагзилы или писать в рассылку на деревню дедушке) - получил в ответ "ну, место неудоботестируемое, хз как тут правильно". Исправлено оно не будет, я в следующий раз выберу что-то без проблем в этом месте. Проприетарное? Почему бы и нет, если оно лучше и работает.
> Обычно так нифига не дешевле - хотя да, "быстрее",Быстрее - значит дешевле. Мало кто хочет бесплатно работать над чужими задачами.
> потому что есть готовое что стырить,Стырить? Авторы разрешили взять и использовать в лицензии. Я их пожелания уважаю и соответствую. Или не беру код. Если авторы хотели иного - пусть пишут в лицензии. А я буду думать надо ли это мне.
> а не самому думать надо.
И до какого уровня я должен игнорировать наработки предшественников? Изобрести сам колесо? Огонь? Электричество? Транзистор? Микросхему? Так глупо купить микросхему за 2 бакса. Попробуй за 2 бакса производство наладь?!
> То что это готовое до тебя клепали десять лет и совершенно
> не за спасибо - как-то выносится за скобки, деньги ж не твои.Почему же выносится? Авторы написали лицензию которая их устраивала. Я их лицензию уважаю и соответствую. Или не пользуюсь. Все так как копирасы завещали.
> обычный кастомер чего-нибудь типа struts совершенно не может быстренько подпилить его напильником,
> чтобы закрыть еще неизвестные ему уязвимости.Он может скачать обновленную версию у авторов. Если ее нет - дать денег кому-то кто это может (начиная с авторов как самых логичных). И так далее.
> Тем более не может этого сделать кастомер какой-нибудь циски, получившей
> от нее уязвимость в комплекте с софтом, из-за "быстрее и дешевле"Наверное логично первым делом задать вопрос туда куда платил деньги, то-есть циске?
> (там и известные не закроешь без чужого участия).
Это рынок. Если кто платит деньги, наверное условия устраивали. Иначе зачем он деньги платил?
> в скольки местах на планете лично вам довелось побывать, чтобы делать подобные
> глубокомысленные выводы?Я смотрю что творится вокруг меня. Многие мои знакомые послали к черту офисы. Такой критерий пойдет?
>> А также gcc, linux kernel,
> скачай _тот_ gcc, _тот_ кернел - и посмотри хотя бы глазами код.Это странно? Люди учились в процессе. То что со временем стало лучше - наверное ожидаемо. Я не понимаю почему есть противопоставление людей и корпораций. Корпорации состоят из людей. Почему им всем нельзя друг у друга учиться - не понимаю. Если вы вместо этого предпочли грызню - это не их вина.
> А то что делается сейчас - делается вовсе не забесплатно, а за
> бабки тех же самых корпораций.Если корпораций устроили правила игры и они наняли половину вчерашних любителей делать то же самое на фултайм - не вижу почему это плохо. Многие рожи те же. А то что они со временем стали писать код лучше, люди со временем улучшают свои навыки и процессы. Иначе это деграданты. Отработанный материал.
> ты ide от c99 не научился отличать? Ну, в общем, понятно, с кем я спорю.
Это зарисовка о качестве кой-каких коммерческих IDE, задолбавших полпланеты.
> сколько? И что они разработали?
Алгоритмисты всякие, махровые сишники и плюсовики. Это хорошее приобретение для экосистемы. Они увидели что есть и другие пути чем взаимное кидалово. Хорошо.
> хоть одного "мощного разработчика", а не очередного горе-аутсорсера.
Например, см как гугл, мозилла, циска и еще толпа пилят новый кодек. Кто присоединился к новому альянсу, что за имена попадаются. Даже MS каким-то чудом признал очевидное - старые форматы протухли и не работают. Вместе с бесполезным ISO. MS там конечно декоративен, но хотя-бы внедрит сразу после релиза, и на том спасибо.
> ну так научитесь, впрочем, опять же, кому это я пишу...
Мне это не требуется. На этой планете полно людей с которыми приятно и результативно взаимодействовать в форматах отличных от лох-кидала. Мне хватит. Если тебе что-то надо - ты и дергаешься. Не хочешь - не дергайся. Мне все-равно, ключевые процессы интересующие меня от тебя не зависят.
> даже не багрепорты, а патчи - вам не так подано, "докажите
> что вы не рептилоид", "у нас другая концепция"...Ты так говоришь, как будто к тебе кто-то приперся и что-то от тебя потребовал. Это неправда.
> если у тебя бесконечное время и деньги...э, впрочем, зачем тогда исходники, надо
> купить разработчиков - вместе с лавкой.LSE оказалось дешевле купить разработчиков чем доиться в пользу партнеров MS. Так тоже бывает. А так доплатить за доработку готового дешевле чем заказать разработку с ноля. У проприетарщиков же опция доплатить и заказать или отсутствует или на невменяемых условиях.
> Если время и деньги ограничены и их еще заработать надо суметь -
> от исходников толку никакого, у тебя свои исходники, которые некому за
> тебя развивать.Мои исходники могут пользоваться рядом либ, а еще линуксный кернел и проч. Поскольку мой исходник на этом держится - я заинтересован в участи апстримов. Если им будет плохо, будет плохо и мне. Альтернатива писать свой кернел? Тогда следующие тысячи человеколет я буду озадачен чем-то отличным от изначальной задачи. Зачем? Не думаю что смогу лучше Торвальдса и его команды, значит это будет напрасной тратой ресурсов.
> тут правильно". Исправлено оно не будет, я в следующий раз выберу
> что-то без проблем в этом месте. Проприетарное? Почему бы и нет,
> если оно лучше и работает.А я тут каким боком? Я не собираюсь в проприетарь вляпываться, наелся уже рассказов какие мне должны быть удобны ОС и проч. Удобное рабочее окружение мной рассматривается не как опция а как mandatory для моей комфортной и эффективной работы. С опенсорсом это достижимо, с проприетарью - нет. А еще я ни за какие деньги и ни с какими ресурсами не смогу изогнуть винду так как могу изогнуть Linux.
> По LO прекрасно видночто офисные комбайны всё меньше востребованы.
Скорее она занимает свою историческую нишу... Сдвинуть основы экономики опенсорсу не удалось, количество пока не перешло в качество в этом смысле.
Хозяйке на заметку: сообщения 174, 172, 165, 164, 163, 156 пришли с одного адреса.Как оно само и попросило в #164 -- комменты склизкого жирного вбросчика удалены на основании п. 6 http://wiki.opennet.ru/ForumHelp
Призовая ссылка: http://wiki.opennet.ru/MSSP
> Призовая ссылка: http://wiki.opennet.ru/MSSPну и где моя бонусная лицензия и путевка, блин (только, чур не во Львов)?
откат как-то раз за внедрение прокто-веба предлагали, в смысле, за помощь с внедрением (с касперского хрен), а за ms что-то нифига не несут :-(
По-моему, уверены, сволочи, что и так никуда не денемся.бритва хэнлона, знаете ли, подсказывает, что ms за такие потоки сознания вовсе не настроена платить.
> бритва хэнлона, знаете ли, подсказывает, что ms за такие потоки сознания вовсе
> не настроена платить.Она, видать, тупая и просится в мусорку. Потому что аналогичное же поведение было замечено (в т.ч. здесь) за шляпой, после чего я сперва офигел, потом поразмыслил и всё встало на свои места.
http://lists.openoffice.ru/pipermail/oo-discuss/2006-May/019...
http://lists.altlinux.org/pipermail/legal/2006-May/002438.htmlPS: разумеется, дешовле распространять требуемые эмоциональные реакции на халяву -- сравните с http://hippy-end.livejournal.com/1380853.html (кратенько можно сразу п.5); поэтому среди доблестных майданщиков/западников/некрософтщиков всегда находятся не только "десятники" на денюжке, но и дураки за так.
> http://lists.openoffice.ru/pipermail/oo-discuss/2006-May/019...
> http://lists.altlinux.org/pipermail/legal/2006-May/002438.htmlну так 2006й год, и, заметь, речь шла не о "выброси свой линух, поставь..." что там - XP? А о банальном "сдай свой корпоративный мэйл и прочие интересные детали непойми какому сайту - а потом удивляйся, что вместо бонуса случился налет налоговиков" (они в то время активно собирали дань за контрафактные винды), я как-то примерно так тогда прочитал, с соответствующим не-деланием по результату.
Ну, или, если верить людям - то "уговори начальство заменить ворованную винду на лицуху - им скидка, а тебе персонально бонус выйдет". Про вредные линуксы на этом belegal нихренашеньки не было.
Это, заметим, совсем не "уговори начальство поставить именно дыр-веб, получишь телевизер" (увы, похоже, не сохранил). Год примерно тот же.
> Про вредные линуксы на этом belegal нихренашеньки не было.Следующий ход очевиден -- "проблемы нет, вы же легализовались, а перейти на линукс -- потерять вложения" (не напоминать же, что по плану через несколько лет очередная дойка).
> Следующий ход очевиден -- "проблемы нет, вы же легализовались, а перейти нахз - про следующий ход из этого источника мне ничего не приходило, наверное, не поверили в мое искреннее желание легализоваться (как раз в тот момент я работал в конторе,где на моем рабочем месте стояла freebsd, поэтому, увы, не сложилось ;-)
К слову об утечках персданных:---
Сегодня, 26 сентября, оператор мобильной связи "Киевстар" открыл доступ следователям ко всему оборудованию компании с целью получения любой интересующей информации о телефонных разговорах и переписке.
--- https://varjag2007su.livejournal.com/1546271.htmlКак же хорошо, что полтора десятка лет назад я туда не пошёл работать.
> Как же хорошо, что полтора десятка лет назад я туда не пошёл
> работать.Мы узнаем о вступлении яровой на опенет -- по твоей отставке из? =Кенарем будешь?