Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Регистрируясь, я даю согласие на обработку данных и условия почтовых рассылок.
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр Испытайте захватывающие сражения Второй мировой войны: быстрые бои, огромный арсенал, настройка, танки и стратегия на разнообразных картах!

Warfare 1942 - онлайн шутер

Мультиплеер, Шутер, Мидкорные

Играть

Топ прошлой недели

  • cristall75 cristall75 6 постов
  • 1506DyDyKa 1506DyDyKa 2 поста
  • Animalrescueed Animalrescueed 35 постов
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая «Подписаться», я даю согласие на обработку данных и условия почтовых рассылок.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Маркет Промокоды Пятерочка Промокоды Aroma Butik Промокоды Яндекс Путешествия Промокоды Яндекс Еда Постила Футбол сегодня
0 просмотренных постов скрыто
DmitriitheFals
Лига Сисадминов
Серия Кудахтеры

Пока новый Титаник, то есть Linux , плывет⁠⁠

7 дней назад

Для лиги лени: экосистема Linux продолжает деградировать

Начало: Про СПО сектантов, и что с этим делать. Вступление к пособию по карго-культам в ИТ

Если чего-то нет в линуксе, то оно нинужно.

Если речь о функционале, который есть в линуксе, упоминается всё, что бывает в теории, включая функционал дорогих энтерпрайзных закрытых дистрибутивов типа RedHat’а. Всё это автоматически считается “есть в линуксе, а это тождественно тому, что есть в любом линуксе”.

Если у какого-то кроссплатформенного софта есть версия под linux, то этот софт является линукс-софтом и все возможности этого софта автоматически приплюсовываются к возможностям линукса. Появление этого софта на других платформах автоматически считается “а, из линукса украли” – даже если этот софт создан до создания linux.

Если речь об уязвимостях, то линукс это только ядро, софт отношения к нему не имеет. Уязвимости софта – это не проблема линукса.

Шпаргалка по общению с СПО-сектантами

Прошедшие пару недель ознаменовались очередным расширением списка дырищ в экосистеме Linux.
Согласно мнению некоторых персонажей, в опенсорсе присутствуют волшебные бесплатные фиксики, поэтому, если в опенсорсе и есть какие-то баги, живущие там десятилетиями, то это пропаганда Microsoft, Oracle, IBM (все трое – крупнейшие из разработчиков Opensource\Linux, IBM с недавних пор – владелец Red Hat).

В реальности

Пока новый Титаник, то есть Linux , плывет

В одной из вариаций на тему Git – Gogs, еще 23 декабря 2024, год назад, нашли дыру с дверь ангара для Боинга: CVE-2024-55947
Спустя год оказалось, что дыру не закрыли, а кое-как залатали досками, и теперь владельцев сервиса, злые люди активно пользуют в ту же самую дыру, только с другим названием - CVE-2025-8110. Новость в мире появилась еще вчера на  theregister (Wed 10 Dec 2025 // 21:31 UTC), сегодня ее потащили по новостным каналам.

В Tika (сервис по определению типа файла и его метаданных)
20 августа 2025 в нем нашли дыру на 10 из 10 - CVE-2025-54988. Вроде кое-как заколотили досками, но – 4.12.2025 ни разу не было и вот опять, CVE-2025-66516.

Что тут сказать? Полгода-год, на повторную дыру, это еще быстро. Серьезные дыры в базовых сервисах Linux существуют годами, как Heartbleed (CVE-2014-0160) и SambaCry (CVE-2017-7494), а просто кривой код на уровне ядра, типа проблемы планировщика Completely Fair Scheduling (CFS) может быть и лет 10, может и больше, начиная с kernel 2.6.38+ и далее.

На фоне таких новостей очень интересно читать рассекреченные документы АНБ – и про то, что Windows стал очень плохо взламываться, и про то, что в сообщество Linux разработки вполне удается проносить специально ослабленный код, как было с Dual_EC_DRBG (Dual Elliptic Curve Deterministic Random Bit Generator), и не только:

Команда специалистов по кибербезопасности из китайской Pangu Lab опубликовала отчет, посвященный бэкдору Bvp47, работающему в операционных системах семейства Linux. Программу связывают с хакерской группировкой (APT) Equation Group, которая, по данным аналитиков, действует в интересах Агентства национальной безопасности (АНБ) США.
В ОС Linux 10 лет работает «жучок» АНБ США, следящий за «военкой» и телекомом по всему миру

Очень мне в свое время понравился метод - Обход шифрования диска в Linux через непрерывное нажатие клавиши Enter.

Заключение

Тут должна быть умная мысль, но мне недавно люди, не отличающие vi от chown, популярно пояснили, что перевод бабушек через дорогу, и почты из Microsoft Exchange в PostgreSQL (PostgreSQL Global Development Group,  Regents of the University of California) – это успешный успех импортозамещения.

Все идет по прежнему ..

Замена американской ОС Windows на американскую ОС на базе linux называется “импортозамещением”.
Шпаргалка по общению с СПО-сектантами

Есть во всем происходящем какая-то сложно уловимая ирония.
Но я подумаю про нее завтра – у меня до сих пор не получается собрать на орбите транспорт до Мюн. Мне до КР-700 (Кербинская ракета - 700) еще как .. Впрочем, сравнение придумайте сами.

Хорошо хоть с понедельника у основных заказчиков приостановка работ, в связи с близким рождеством. Можно будет не выкатывать и откатывать до ночи, но спокойно собрать ракету и написать документацию.

HO. HO. HO. Happy Hogswatch!

PS. Прошу при комментариях не забывать про новую классику, в том числе "я сама дочь офицера разработчик программист и не все так однозначно" и классику, не устаревшую за 100 лет:

1. Despicere (смотреть свысока - лат.), или прием первый.
Состоит  в  том,  что  участник  диспута  должен  дать  почувствовать противнику свое интеллектуальное  и моральное  превосходство, иными словами, дать  понять, что противник  -  человек ограниченный, слабоумный,  графоман, болтун,  совершенный нуль, дутая  величина, эпигон,  безграмотный  мошенник, лапоть,  плевел, подонок и  вообще субъект, недостойный того,  чтобы  с  ним разговаривали. Такая априорная  посылка дает вам затем право на тот барский, высокомерно-поучающий  и  самоуверенный тон,  который неотделим  от  понятия "дискуссия". Полемизировать,  осуждать  кого-то, не соглашаться  и сохранять при этом известное  уважение к противнику - все это не входит в национальные традиции.
Карел Чапек. Двенадцать приемов литературной полемики или Пособие по газетным дискуссиям

Если кто хочет комментировать, а вот беда - не может, то он всегда может написать опровержение, и даже написать его на сайте новостей Минцифры. Там сейчас вообще что угодно можно писать, и про живую воду, и про Эльбрус-128к.
Я такое провержение даже, наверное, прочитаю, если пришлют. Но это не точно.

Показать полностью 1
[моё] Linux Windows Импортозамещение Microsoft Программа Информационная безопасность IT Длиннопост
36
191
DmitriitheFals
Лига Сисадминов
Серия Кудахтеры

Импортозамещение в ИТ в РФ. Итоги 2025 или 4 года импортозамещения⁠⁠

11 дней назад

Для лиги лени. Не произошло. И не планировалось.

Особенно в русскоязычном сообществе мне нравится то, что и про импортозамещение "вообще", и про переход на опенсорс, рассказывают люди, не способные выйти из vi, считающие query execution plan – ругательством, а FORCED PARAMETERIZATION – призывом демонов.
Мне же иногда пересылают ссылки на телеграм и форумы, причем такие, что по прочтении у меня глаз дергается, и начинаются флешбеки из 2015 года, рассказы одного Ильи.
Писать про это скучно, читать тоже, и вообще, «who cares where they come down? That's not my department!» says Wernher von Braun. Но, напишу. Раз в квартал можно.

Рассказы и приказы про импортозамещению идут с середины 2000х, начиная с планов, что в 2008 в России возьмут и везде перейдут на Linux. Скоро 20 лет, как переходят.

Начну с самого начала. С разработки «общей схемы» своего кремния.
Его почти нет. Почему «почти»? Потому что ядро Эльбруса, каким бы ущербным с точки зрения производительности, при использовании в гражданском секторе, оно не было, его все же разработали, и даже произвели. Дальше начинаются не озвучиваемые проблемы с мостами, QPI, и так далее. Разработчиков наградить, производство наградить, связистов не наказывать.
Не ядром единым жива вычислительная техника. Нужны контроллеры для Interconnect, нужны ASIC \ FPGA для сетей, нужны видеокарты, нужны дисковые контроллеры, нужны SSD контроллеры, и так далее, вплоть до SFP модулей.  
В мире такой разработкой занимается может по 5, может по 10, фирм по каждому направлению. Занимаются очень давно, еще до времен массовых слияния и поглощений.
Скажем, слияния тех же Burroughs Corporation и Sperry в 1986. Или AMD - Xilinx. Или делают что-то комплексное, например Apiary: An OS for the Modern FPGA.
В России этим тоже занимались. При советской власти, то есть с середины 70х развития почти не было.
Что нужно, чтобы такие люди и разработки были? Да почти ничего. В мире есть 100-200 (просто 100-200) человек, на 10-20 дизайн бюро, которые этим занимаются. 200 человек, отобранные из, условно, миллиарда населения Китая и миллиарда объединенного населения Европы и США. Всего то нужно отобрать 200 из 2.000.000.000. И немного их учить, лет так с трех. Желательно учить не учителями по $300, и не в стандартной школе. И немного передавать им производственный опыт, что было сделано, и почему. Мелочи.

Затем теоретическую схему надо переложить на кремний. Что с ним, за исключением отсутствия производства расходных материалов, производства полуфабрикатов, и производства самих станков и запчастей к ним в РФ?
Есть Микрон, и есть линии 180 и 250 нм на нем. Годятся, чтобы делать чипы для паспортов, банковские карты, карты для метро, сим карты, и так далее. Раньше, давно, могли делать первые серии Эльбрусов. Сейчас - уже не могут. Почему – потому. Автор фразы «Птичка упала за террикон» находится в местах, не столь отдаленных. Про связь какой-то птички и ASML догадайтесь сами.

Что в наличии? Есть линии, от ASML и STMicroelectronics. Громко рекламируемый ребрендинг белорусского Интеграла на 350 нм списан на склад, пока не сгниет. Как сгнила купленная еще 2006 линия AMD Fab 30 (Дрезден).

Дальше готовые чипы нужно усадить на материнскую плату, которую тоже надо спроектировать. Современные платы, а не те, на которых деды нынешних экспертов в школе играли в «Ну погоди» - это 22-26 слойные платы, которые тоже надо спроектировать, произвести, и установить на них не только чипы, но и микрокомпоненты. Про микрокомпоненты раньше в школе рассказывали – индуктивности, конденсаторы, все это. Вручную такой сборкой почти не занимаются, для этого станки есть. Еще лет 10-15 назад, бывало, и вручную ставили. Производство микрокомпонентов в РФ и вызывало грусть, и вызывает. Не само производство, а качество (и его отсутствие), и подход к поставкам, номенклатуре, итд.

Можно сказать, что «российского» в импортозамещенном железе столько же, сколько в Москвиче-3.

Закончив с железом, перейду к софту.
Пропущу такие интересные вещи как сети, межсетевые экраны, NGFW и управление ими, а точнее AI анализ трафика, системы хранения данных, и прочее железно-программное. И их возможности, и цены. Даже ролик с рассказом испанца (Хуан Хойя Борха) пропущу.

На замене софта начинается просто праздник.

Есть две большие группы людей.
Одни не могут выйти из vi, и воспринимают Excel , как тетрадь в клеточку.
Другие используют формулы, макросы, VBA, подключаемые внешние источники, AI аналитику, и теперь Python, и все внутри Excel.

У одних база данных на 100 гигабайт – это все данные за пять лет работы фирмы.
У других 100 гигабайт – это объем транзакционных логов за час, если не меньше.

Одни не могут пару лет купить SSD на терабайт, потому что им дорого.
Другие плачут, что 8 терабайт оперативной памяти не хватает для In-memory.

То же самое везде – Tivoli Directory Server против Samba, VIOS против KVM, Pure против Ядро, и так далее.

Первым можно хоть сейчас заменить Excel на Лексикон.Мегатаблицы.
Вторым предлагают вместо Caterpillar D11 купить отвал на джип.

Caterpillar D11

Caterpillar D11

Отвал для снега

Отвал для снега

Пропущу специализированный софт, все эти REVITы и солидолы.

Самое сладкое начинается в управлении всем этим софтом, а точнее процессами, стоящими за этим софтом. Начинаются требования не к самому софту, "чтобы работал", а к процессам, которые обсепечивает этот софт.

На все вышеперечисленное накладывается четыре фактора

Фактор первый. Смена технологического лидерства, а точнее новый передел мира. Сделка века Газ-Трубы от 1970 года закончилась. Если кто прогуливал историю, то 1 февраля 1970 года между СССР и ФРГ (капиталисты, не путать с передовым социалистическим ГДР) была подписана сделка, определившая историю Европы на 40 лет.
Европа получала газ из Сибири (и нефть, и много чего еще).
СССР получал поставки бесшовных труб большого диаметра (не умели их делать в СССР), технологии их производства, и много чего еще. В том числе технологии турбин для газоперекачки, к ним системы управления, плюс поток валюты, плюс командировки для элиты (номенклатуры) для обмена опытом.

Сейчас в Старой Европе все сложно. Настолько сложно, что достаточно посмотреть рейтинг АфД.
Производство уезжает от дорогих кадров, дорогого социального обеспечения, и налогов на поддержку всяких дармоедов, и людоедов, в Китай.
В том числе поэтому в Европе мало что можно купить. Мерседес можно. Airbus можно. Линию нельзя.

Фактор второй. Смена технологического уклада, переход от остатков четвертого технологического уклада в шестой. Паровозы, то есть автономные домашние сервисы, типа внешних USB дисков, еще ездят, но все уже централизовано, хранится в сети, и предоставляется по запросу. Если работает, а не опять упало, потому что индус, которым импортозаместили разработчика в Cloudflare, опять накосячил.
Поэтому стащить не получается.

Фактор третий. Смена поколений. 30 лет назад, когда уже не молодой Ричард Мэттью Столлман выступал за «даешь опенсорс бесплатно в массы», и проекты были попроще, и нагрузки поменьше, и код почище, и трава получше, и из Южной америки поставлялись экологически чистые продукты, а из Европы – лучшее из Грибоедова (Clavicipitaceae и Strophariaceae).

Сейчас продукты стали сложнее, нагрузка на работника повыше, и желания заработать «для себя» - побольше. Уже много лет идет отмирание опенсорса. Часть продуктов закрывается, часть переписывается с ноля (и не делается при этом лучше), часть меняет лицензии.
Разработчики уходят - Brendan Gregg announced he has resigned from Intel.
В большом ИТ идет индусозамещение.

При этом персонажи, которые уже освоили выход из vi, и даже сделали один раз
git clone https://github.com/Hello/world.1
говорят, что это же так просто, склонировали себе продукт на пару миллионов строк и переписали. Конечно просто. Взять и склонировать. И хотя бы прочитать. Включая зависимости.
Тот же KVM:
150 тысяч строк кода (и это не ядро, это сам KVM)
90 тысяч строк тестов
Это только один модуль.

Теперь сейчас еще и половину настроек k8s переписывать, для перехода с Ingress NGINX на Gateway API. Я сегодня планировал искупаться и поплавать, ну поплавал максимум в бассейне, сижу, читаю, и плачу. В перерыве плачу с бывшими коллегами, потому что у меня то только k8s, а у них еще и «импортозамещение». Истории в нем – одна удивительнее другой, а уж какие планы, ой.

Фактор четвертый. Уход с рынка ряда коммерческих продуктов

14 сентября 2022 года Microsoft обьявила про завершение жизненного цикла Exchange 2019.
14 октября 2025 года история Exchange offline закончилась, теперь только Exchange SE по подписке. Заменять его нечем в РФ, и нечем в мире.
2 октября 2025 года закончилась поддержка offline VMware by Broadcom, теперь только по подписке, и задорого. То же самое Broadcom устроила с FC коммутаторами. Чрезвычайно уважаемые люди еще тогда предвидели - будет как в Computer Associates и UCC-7 - CA-7.
Заменять Broadcom тоже нечем.

Ряда продуктов просто не существовало, и не существует, в опенсорсе. Знающие люди мне уже давно насовали ключевых слов, типа SpaceWalk:Satellite(CentOS:RHEL),  AptcacherNG, Foreman и Katello, но это очень не то же самое, чем русифицировать salt stack и назвать это импортозамещением, и не имеющим аналогов убийцей SCCM (ранее System Center Configuration Manager, теперь  Microsoft Configuration Manager).

Итоговые ошибки внедрения и тестирования «типа импортозамещения» просто не выносят из изб. Такой .. тяги и коричневых потоков не было с 6 июля 2012 года, если вы понимаете, о чем я.

Прорыв реальных новостей

Прорыв реальных новостей

О каком импортозамещении и переходах "на опенсорс" речь, если только за последний месяц случились React2Shell CVE-2025-55182 и Grafana CVE-2025-41115, какой там "контроль кода".
И это в масссово используемых продуктах, уже повсеместно.

Нельзя просто так взять продукт для малого и очень малого бизнеса, хоть  Samba Server, хоть Postgres SQL, с их врожденными ограничениями, и натянуть на хотя бы среднего размера инфраструктуру. Ирония в том, что ограничения указаны прямо в документации, причем в документации на русском:

Максимальное количество столбцов таблицы дополнительно уменьшается в связи с тем, что сохраняемый кортеж должен умещаться в одной странице размером 8192 байта. Например, если не учитывать размер заголовка, кортеж, состоящий из 1600 столбцов int, будет занимать 6400 байт и поместится в странице кучи, тогда как 1600 столбцов bigint займут 12800 байт и в одной странице не поместятся. Поля переменной длины, например типов text, varchar и char, могут храниться отдельно, в таблице TOAST, когда их значения достаточно велики для этого. При этом внутри кортежа кучи должен остаться только 18-байтовый указатель. Для более коротких значений полей переменной длины используется заголовок из 1 или 4 байт, и само значение сохраняется внутри кортежа в куче.

Теоретически каждая таблица может хранить до 2^32 отделённых значений. Более подробно такие значения описаны в Разделе 66.2. Данное ограничение вызвано использованием 32-битных OID для идентификации каждого такого значения. В реальности же лимит значительно ниже, поскольку как только всё пространство для OID занято, найти свободный OID становится сложно, что замедляет работу операторов INSERT/UPDATE. Обычно это происходит только с таблицами объёмом в несколько терабайт.

Приложение K. Ограничения PostgreSQL

Заключение

Построишь? Куплю.

Построишь? Куплю.

Классика советской мультипликации, но почему-то летающие корабли не продаются всем подряд. Единственное, что точно удалось национализировать, это один из сайтов по рассказм про все подряд, превратившегося из сайта «про ИТ» в сайт с разрешенными новостями от Минцифры.
Бывает. Press F.
Странно, что сайт целиком не купила Астра, и что Астра даже не стала покупать на нем блог, ограничившись платными статьями. Но, это дело тех, кто платит еще и этот своеобразный налог, окончательно завалив сайт сгенерированными статьями, и статьями космического масштаба и космической же глупости.

Литература

У истоков российско-германского энергетического взаимодействия (70-е годы ХХ века)
Приложение K. Ограничения PostgreSQL
IBM Tivoli Directory Server for IBM i (LDAP)
Exchange Server 2019 and 2016 end of support roadmap
Apiary: An OS for the Modern FPGA.

Показать полностью 8
[моё] Windows IT Импортозамещение Microsoft Опыт Linux Программа Автоматизация Длиннопост Политика Негатив
246
6
DmitriitheFals
Лига Сисадминов
Серия Кудахтеры

Импортозамещение: Гитфлик (GitFlic)⁠⁠

1 месяц назад

Для лиги лени: продукт есть, но есть куда расти. Некоторые вещи вызывают недоумение.
Медведь годный.

Годный медведь

Годный медведь

Учебник по интиму часть 1. Введение
Часть 2. Стоит только нам взять телескоп и посмотреть вооружённым глазом
Часть 3. Давайте пробовать поставить
Часть 4. Немного душноты
Часть 5. Gitflic api
Заключение

Учебник по интиму часть 1. Введение

Пришли ко мне в личку, в запрещенной в РФ сети, бывшие коллеги с вопросом, а знаю ли я, а могу ли я посмотреть, и им показать, что такое гитфлик (GitFlic). Я про такое первый раз слышу, потому что за импортозамещением в ИТ в РФ не слежу. Нет смысла следить за переименованиями, типа Debian 10-11-12 – Astra, Samba – ALD, Панголин – PostgreSQL, и так далее.

Тут вот, свой продукт.

Погуглил.
На сайте новостей Минцифры – две рекламные статьи, обе от 2021 года:
Первая - GitFlic. Российский GitHub и вторая, ответ на нее, «GitFlic: нас обвинили в «распиле». На этом все.
Остальное – 3 рекламные статьи, и два треда на лоре «как это работает вообще без техподдержки».
И, внезапно, статья от 1с – Инфостарт, Автоматизация процесса разработки с помощью сервиса GitFlic.
Пока дописывал статью, нашлась еще одна минцифровая статья «Cборка Java-проектов в GitFlic Kubernetes-агентом»

GitFlic не является форком какого-либо решения. Он написан с нуля и создан без иностранного участия, поэтому не зависит от внешних факторов и сторонних разработок.

В отличие от GitLab и GitHub, которые разработаны на Ruby и Ruby on Rails, GitFlic написан на Java. Это обеспечивает стабильность и производительность даже для крупных проектов.

Это Java то про производительность? Ну ладно

В 2023 году продукт был куплен Астрой

ГК «Астра» продолжает реализацию стартовавшей в 2020 году M&A-стратегии и объявляет о вхождении в контур группы ООО «РеСолют», разработчика GitFlic —сервиса для работы с исходным кодом и его хранения. Сделка проводится в два неразрывных этапа, по завершении которых в конце текущего года ГК «Астра» получит мажоритарную долю 51%. Оставшаяся часть акций будет по-прежнему принадлежать основателям компании: Алексею Синицину, Максиму Козлову, Тимуру Миронову, Денису Рамазанову и Константину Леоновичу. Стратегические договоренности компаний предполагают, что в дальнейшем ГК «Астра» сможет еще увеличить свою долю в разработчике.

Ну был и был, мало ли чего скупила Астра.

Часть 2. Стоит  только нам взять телескоп и посмотреть вооружённым глазом

Продукт позиционируется как комбайн с вертикальным взлетом – тут и хранение кода (вместо GitLab Self-Managed), и хранение итогов сборок вместо Maven (Реестр пакетов Maven), Nexus, и так далее. С релиза 3 объявили что «Релиз 3.0.0 отличается удобным интерфейсом, развитой функциональностью и способен стать полноценной заменой зарубежных продуктов GitHub, GitLab, Nexus, Artifactory, Jenkins и т.д.»

Пишут, что теперь работает и с OneScript (это для 1с).
Обещают замену не только хранению кода, но и CI\CD, почти как в GitLab Runner или в GitHub Actions.
В версии 4.6 пообещали что уже добавили:
Проксирование реестра пакетов Deb
Проксирование реестра пакетов Helm
Прочее - 4.6.0 Что нового
Обещают, что к проекту подключилось 100500000000 пользователей, но на этом все. Просто все.
Зато в 4.4 отобрали манифесты:

Из стандартных пакетов убраны манифесты для k8s. На смену им пришли Helm Charts

При этом примеров «как это работает» и рассказов, кроме «мы внедрили, интерфейс красивый» - нет. Реклама есть. Сообщества нет. Примеров нет. Чат в телеграмме есть.

У продукта два исполнения – облачное и self-hosted. Облачное ни коллегам, ни мне не интересно, а на self-hosted можно и посмотреть.

Дальше я буду попутно сравнивать с GitLab Community Edition. Не потому, что он какой-то супер, а потому что я его видел, и с ним время от времени сталкиваюсь. У GitFlic Self-Hosted возможностей вроде сильно побольше, но посмотрим.

Gitlab CE (Community Edition ). Ставится в одну команду по инструкции с официального сайта -
sudo EXTERNAL_URL="https://gitlab.example.com" apt install gitlab-ce

Все.
На самом деле нет, если посмотреть Gitlab CE Self-compiled installation, то там английским по белому написано:  In GitLab 18.0 and later, PostgreSQL 16 or later is required.

GitFlic Self-Hosted. Требует Redis и PostgreSQL.
Зачем им редис – не понимаю. Но, GitLab Community Edition включает NGINX, Postgres, Redis, так что, есть и есть, как и у GitLab CE

Сама web страница загрузки (их репо) малость странное. Сверху указывается «N дней назад», и только внизу указано 2025-11-06, причем зачем-то этот фрагмент как-бы-защищен (нет) от выделения и копирования.

В реестре контейнеров последний бесплатный дистрибутив -
gitflic-server-ce
Бесплатный дистрибутив GitFlic
Версия latest
Опубликован 26 марта 2025 г.

Скачан целых 5 (пять) раз.

Дистрибутивы: Gitlab CE в варианте gitlab-ce_18.3.6-ce.0_arm64.deb.
GitLab Community Edition (including NGINX, Postgres, Redis)
Package Size 1.31 GB
Installed Size 3.55 GB
MD5  7244b435f26e74991f02a6525c4d3d26
SHA1  11c154d0bb4df6e9be39af864185d0cdfac7ea9e
SHA256  6b3e1ae33d8dd89c7344338fc51f98e39d992b2c87e6b6e0167d91b496390868
SHA512  479be83c2f8eb0247637097e5b1863f2eafe1787ed9e9b843e470eed343e8328799187b5153d723b6c756405e64005fd9b4faa59da471ded412a259643e254cf

Все вместе с опубликованными MD5 лежит открыто.

Дистрибутивы:gitflic .. все сложно.
По ссылке – лежит описание по 4.6.0
По другой ссылке
Лежит короткий readme, ссылка на сам файл gitflic-server_onpremise_4.6.0.zip, и ничего кроме.
MD5 ? SHA? Не завезли.
Ссылку для wget ? Не завезли.

Прямая ссылка на сейчас -
https://gitflic.ru/project/gitflic/gitflic/release/7f32e898-...

Файл gitflic-server_onpremise_4.6.0.zip размером 780590717 байт.
MD5 25C91261305A3EDA778684363D1D9D4F
SHA256 67DE3A8EFAD516DB39196E9DA6726E4A5287D51F60950951C62106C22CC4301D

На момент начала написания статьи обновление вышло буквально вчера (статья писалась почти 2 недели, работы привалило, откуда не ждали). Буду смотреть сразу свежее.

Часть следующая, давайте пробовать офлайн

У дебиан опять поменялась страница загрузки, так что, например, отсюда
https://cdimage.debian.org/debian-cd/current/amd64/iso-dvd/
берем debian-13.2.0-amd64-DVD-1.iso
Тестовая VM, 2 vCPU, 4 Гб памяти, 45 Гб жесткий диск, Debian 13. Next-next-без графики-готово-забираем обновления – готово.
Правим /etc/network/interfaces и /etc/apt/sources.list
Заодно правим /etc/sysctl.conf от ipv6 и /etc/resolv.conf для DNS
Убеждаемся в  том, что по неведомым причинам /usr/sbin/ так и не прописан в путях по умолчанию, делаем ребут.
/usr/sbin/shutdown

Смотрим – получилось меньше 5 Гб всей виртуальной машины.
Заливаем туда gitflic-server_onpremise_4.6.0.zip, отключаем сеть на уровне гипервизора и идем читать инструкцию

В инструкции куча слов про создание папок и установку из zip, но ни слова про то, что jar файлы по умолчанию запускать нечем.
Между тем, ПО идет как jar -
gitflic.jar, размером 444275979,
MD5  7ADC17898B22007B71C8C3D305777B42
SHA256  19468BAE05E83ADB6F56792C7BB6C946CE40CFD2F35F47B72BF77CAF879DF7B4

Поэтому, кроме упомянутого в руководстве apt install unzip , нужно сделать и apt install default-jdk. Еще в инструкции по установке везде стоит sudo, его тоже нет в debian по умолчанию. Хотите – ставьте.
Дальше хотелось бы делать по инструкции, но так не выйдет.
Потому что инструкцию надо было читать с самого начала, раздела «Предварительные условия», а не как я, сразу перейдя к установке приложения.

В предварительных условиях указано:
OpenJDK 11
default-jdk на момент написания статьи - openjdk 21.0.9 2025-10-21, OpenJDK Runtime Environment (build 21.0.9+10-Debian-1deb13u1)

Затем, везде в инструкции стоит использование sudo. Его по умолчанию нет в Debian, поэтому
apt install sudo

В инструкции указан PostgreSQL 11. Последняя версия, 11.22, вышла два года назад, 2023-11-09.
Актуальная версия – 18.1, или хотя бы  17.7. А тут 11.

Попробую с 16, что еще делать.
curl -fsSL https://www.postgresql.org/media/keys/ACCC4CF8.asc|sudo gpg --dearmor –o /etc/apt/trusted.gpg.d/postgresql.gpg
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
apt install -y postgresql-16

и дальше пойдем по инструкции из раздела Астры для PostgreSQL 11.
Файла мандатного доступа etc/parsec/mswitch.conf у меня нет, и хорошо.  В инструкции в пути мелкая опечатка, и в части установки расширений забыли написать \q
дальше ставим Redis, ну или keyDB. Я поставил Redis - apt install redis, redis-cli ping отработал.

Остается сразу перевесить порт сервера с 22 на, скажем, 1122. Найду конфиг
find / -name "sshd_config" , и поправлю. Потом ребут, и

Перейду к самой установке по инструкции
mkdir /tmp/gitflic
unzip gitflic_*.zip -d /tmp/gitflic – эта команда не сработает с ошибкой
unzip:  cannot find or open gitflic_*.zip, gitflic_*.zip.zip or gitflic_*.zip.ZIP.

Будьте добры писать команду целиком,
unzip gitflic-server_onpremise_4.6.0.zip -d /tmp/gitflic
cd /tmp/gitflic

for d in cicd repo img releases registry; do sudo mkdir -p "/var/gitflic/$d"; done;
эта команда .. ну, я от рута делал, так что на sudo ругнется.
sudo mkdir -p /opt/gitflic/bin
sudo mkdir -p /etc/gitflic
sudo mkdir -p /var/log/gitflic
sudo cp gitflic.jar /opt/gitflic/bin
sudo cp application.properties /etc/gitflic/application.properties
sudo mkdir -p /opt/gitflic/cert
sudo ssh-keygen -t ed25519 -N "" -q -f /opt/gitflic/cert/key.pem

И так далее. Шаг 13, конечно, тоже не сработает – нужно не useradd, а
/usr/sbin/useradd --no-create-home --system --shell /sbin/nologin gitflic

Дальше в инструкции идет раздел «Конфигурация SSH порта». На .. то есть – зачем?
Раздел «Конфигурация SSH порта» ссылается на следующий раздел, «Конфигурация и запуск». Это многое объясняет.
Если же читать инструкцию с начала, а не с середины, то в разделе «Предварительные условия» написано – зачем:

Для того, чтобы было возможным использовать remote-url вида git@gitflic.ru:gitflic/gitflic.git, необходимо освободить стандартный 22 порт ssh сервера!

Раздел написан корректно, но можно чуть-чуть улучшить. Например, переписав весь список главы «установка под Астру» в раздел «просто установка». Но, можно и не переписывать, продукт куплен Астрой.

Все бы хорошо, но нельзя просто так и сделать только по инструкции. Не работает. Например, сделав
systemctl status gitflic-server.service
видно, что сервис есть, а веб консоли – нет.  Почему? Потому что надо смотреть инструкцию лучше, сервис по умолчанию стартует как [::ffff:127.0.0.1]:8080

В инструкции написано:

После запуска перейдите по адресу, указанному при конфигурировании и проверьте работоспособность сервиса

Но в инструкции нет пункта «адрес конфигурации».
Точнее, в самом начале инструкции указано:
Перед конфигурацией приложения, ознакомьтесь с назначением параметров на странице Конфигурация application.properties

По пункту 9 инструкции по установке понятно, что параметры лежат в
/etc/gitflic/application.properties, и внутри там написано
# Дефолтное значение адреса localhost
server.address=127.0.0.1
gitflic.base.url=http://localhost:8080 .
Заодно и логи указано где хранить, logging.file.name=/var/log/gitflic/server.log

Ну, окей, все понятно, слушаем на локалхосте. Ничего такого. Там же указано:
# При необходимости также можно указать порт, на котором будет запущен SSH сервер для работы
# SSH транспорта git. Дефолтное значение порта 22
ssh.server.port=2255

Ничего не понятно, но очень интересно.

Ну да ничего. Правим в конфиге IP и делаем systemctl restart  gitflic-server.service. Перезапускается пару минут (в ограниченной по ресурсам виртуалке), и появляется WEB консоль.
Медведь хороший, мне нравится! Настолько хороший, что я выкинул из черновика картинки Kadabrus.
Остается зайти:
Стандартный пользователь и пароль
Почта - adminuser@admin.local
Пароль - qwerty123

Зашло. Работает.
И даже работает после перезагрузки.

Итого по установке
Медведь выбран удачно.
Инструкция достаточна для установки. Есть мелкие недоделки, типа пропущенного в одном месте слеша, или \q для выхода из psql, но ничего критичного.
PostgreSQL 11 надо менять на 16, 17 или лучше сразу 18. 11 – устарел.
JDK тоже указан старый.
В инструкции по LDAP авторизации сделано что-то не очевидное, но сейчас с этим разбираться лень

Часть 4. Немного душноты

С чем у коллег проблемы? Проблемы с тем, что они не разработчики, и им Git не нужен. Зато нужно брать секреты из Vault, и забирать к себе готовые плейбуки, ямл, открытые ключи, скрипты и так далее. И, кстати, контейнеры.
Что умеет забирать файлы из онлайна?
Если говорить про Linux, то это curl, wget, docker - docker push, далее со всеми остановками вроде Automate Ansible With GitLab и Build enterprise-grade IaC pipelines with GitLab DevSecOps.
Если говорить про Windows, то есть Desired State Configuration, но иногда людям хочется интима и единообразия, так что мы получаем invoke-webrequest и Invoke-RestMethod. И то и другое относится к (кажется) System.Net.Sockets, но про это не будем.
В Windows есть и wget, но это оболочка для invoke-webrequest, и есть два curl:  один как командлет, и отдельный curl как честный curl.exe. Вот с этим всем и надо попробовать, как чего работает.

Часть 5. Gitflic api

Что есть в документации? Есть документация по  REST-API. И есть небольшая репа gitflic-api, которую надо читать.

Начало простое:
Отправка любого REST-API метода требует авторизации. Для этого необходимо создать токен доступа и указать его в заголовке запроса в следующей форме ..
Создам проект MyNewproject01, в нем ветку master, в нем файл myfile01 с содержанием content01.

Для создания токена доступа через интерфейс необходимо:
Перейти в профиль пользователя
Перейти в раздел API токены
Нажать кнопку Создать

Сказать что инструкция «не очевидная» - это ничего не сказать. Профиль пользователя виден и в левом меню, и в правом верхнем. И токены API генерируются в правом верхнем меню

Вот сюда не надо!

СЮДА НЕ НАДО

СЮДА НЕ НАДО

Надо вот сюда!

Надо вот сюда!

Надо вот сюда!

Токены то есть, но токена «чтобы только читал» там нет.
В Gitlab сделано понятно, надо дать
read_repository: Grants read-only access to repositories on private projects using Git-over-HTTP or the Repository Files API.
read_user (Grants read-only access to your profile through the /user API endpoint, which includes username, public email, and full name. Also grants access to read-only API endpoints under /users. )
read_api (Grants read access to the API, including all groups and projects, the container registry, and the package registry.)

а тут как?
Просмотр информации о пользователе – ну, допустим.
Просмотр информации о проектах пользователя – окей,
Просмотр информации о реестре пакетов
Создание пакетов реестра
Удаление пакетов реестра

Где простой read_repository_only ?
Дам все права сразу, потом разбираться буду.

Замечу, что кроме API токенов и транспортных токенов, в проекте есть еще какие-то токены развертывания, но перечня «есть три типа токенов» в руководстве нет. Или где-то дальше, как транспортные токены.

Впрочем, не важно.
сообщение про токен читаемое, в моем случае:

Скопируйте токен. Он показан один раз и при перезагрузке страницы его получить иными способами не получится: af71db42-9683-40b4-b615-d31c9e5f7a16

Что с ними делать?

Для того, чтобы создать REST-API запрос, необходимо обратиться на определенный адрес (endpoint), который должен иметь следующее начало:

api.gitflic.ru для работы с API на gitflic.ru
localhost:8080/rest-api для работы с API в self-hosted сборках

Домен и порт при работе с self-hosted решением могут отличаться.

Для взаимодействия с публичным API GitFlic необходимо указать полученный access token в заголовке запроса в следующей форме:
Authorization: token <accessToken>

Что мешало написать пример для curl или хоть чего-то?

Пример с настройкой header для любителей Windows:

$headers = @{
'Content-Type' = 'application/json'
'Authorization' = 'Bearer your_access_token'
'X-Custom-Header' = 'MyCustomValue'
}
Invoke-WebRequest -Uri 'https://api.example.com/data' -Method 'GET' -Headers $headers

Примеры для моего случая, правильные и неправильные

$headers01 = @{'Authorization: token' = 'af71db42-9683-40b4-b615-d31c9e5f7a16'}
$headers02 = @{'Authorization' = 'token af71db42-9683-40b4-b615-d31c9e5f7a1'} # однозначно ошибочный токен
$headers03 = @{'Authorization' = 'token af71db42-9683-40b4-b615-d31c9e5f7a16'}

Делаем пример 01:
Invoke-WebRequest -Uri 'http://192.168.21.61:8080/rest-api' -Method 'GET' -Headers $headers01 –Verbose
Получим ошибку:
Specified value has invalid HTTP Header characters.
Parameter name: name

Делаем пример 02:
Invoke-WebRequest -Uri 'http://192.168.21.61:8080/rest-api' -Method 'GET' -Headers $headers02 –Verbose
Очевидно, тут в токене сознательно сделана ошибка, и результат:
The remote server returned an error: (403) Forbidden.

Делаем пример 03
Invoke-WebRequest -Uri 'http://192.168.21.61:8080/rest-api' -Method 'GET' -Headers $headers03 –Verbose
Результат:
VERBOSE: GET with 0-byte payload
Invoke-WebRequest : The remote server returned an error: (404) Not Found.

Ну … ладно. Оно, допустим, работает, но можно же было бы и вернуть «токен ОК, а дальше не знаем». Но ответ (404) Not Found - пугает.

Можно же было сделать пример для запроса «токен ок, запросите чего-то еще». Валидации токена не хватает. Или я не искал и не нашел.  А он – есть.

Ты проверку токена видишь? И я не вижу

Ты проверку токена видишь? И я не вижу

Методы для работы с данными пользователей
Поиск пользователей
GET admin/user?email={email}&username={userAlias}

Сделаю чуть меньше букв

$h04 = @{'Authorization' = 'token af71db42-9683-40b4-b615-d31c9e5f7a16'}
$Ad02 = 'http://192.168.21.61:8080/rest-api/admin/user'
iwr -Uri $Ad02  -Method 'GET' -Headers $h04  -Verbose

Ответ:
VERBOSE: GET with 0-byte payload
VERBOSE: received -1-byte response of content type application/hal+json
StatusCode  : 200
StatusDescription :
Content  : {123, 34, 95, 101...}
RawContent  : HTTP/1.1 200

Если посмотреть чуть внимательнее, и сделать
$Ret01 = iwr -Uri $Ad02  -Method 'GET' -Headers $h04  -Verbose

И посмотреть $Ret01.RawContent, то мы увидим

{"_embedded":{"restUserAdminModelList":[{"id":"()","username":"adminuser","email":"adminuser@admin.local","name":"Admin user","surname": null,"fullName":"Admin user","avatar":"http://localhost:8080/static/image/avatar.jpg","cover":"http://localhost:8080/static/image/user-cover.png","confirmed":true}]},"page":{"size":10,"totalElements":1,"totalPages":1,"number":0}}

Стало быть, работает.

Получение настроек сервиса
GET /admin/settings
Запрос возвращает объект со всеми настройками сервиса.

Делаем:


$h04 = @{'Authorization' = 'token af71db42-9683-40b4-b615-d31c9e5f7a16'}
$Ad03 = 'http://192.168.21.61:8080/rest-api/admin/settings'
$Ret03 = iwr -Uri $Ad03  -Method 'GET' -Headers $h04  -Verbose
$Ret03.RawContent

Ответ содержит вполне понятный строчный объект, типа
{"disableLdapAuth":false,"disableSamlAuth":false,"disableOidcAuth":false, и так далее}

Уже неплохо. Наверное, его можно даже распарсить в какой-то объект, но это не является темой для статьи

Через curl тоже работает:
curl.exe --verbose --header "Authorization:token af71db42-9683-40b4-b615-d31c9e5f7a16" $Ad03
Ключ --verbose, конечно, мне был нужен только для отладки, и в таком виде только для читаемости
Так что в windows можно делать
$Ret032 = curl.exe --header "Authorization:token af71db42-9683-40b4-b615-d31c9e5f7a16" $Ad03


В Linux все как-то не так.

head1='Authorization:token af71db42-9683-40b4-b615-d31c9e5f7a16
ad03='http://192.168.21.61:8080/rest-api/admin/settings'
echo $head1
echo $ad03
curl --header $head1 $ad03


Вот так мы не работает, нам видите ли токен не нравится. "status":403 и до свиданья
Зато вот так

curl --header "Authorization:token af71db42-9683-40b4-b615-d31c9e5f7a16" $ad03


все работает. Причем кавычки я, конечно, проверил и одинарные и двойные, все равно что-то не идет токен через переменные.

Методы получения проектов
Получение списка публичных проектов
GET /project?q={title}

Делаем:

$Ad04 = 'http://192.168.21.61:8080/rest-api/project'
$Ret04 = iwr -Uri $Ad04 -Method 'GET' -Headers $h04 –Verbose
$Ret04.RawContent

Ответ несколько непредсказуем. Заголовок – есть, ответ StatusCode: 200 есть, а внутри – ничего нет. Ни массива, ничего. Потому что публичных проектов у меня нет. Хотя бы вернули 200, а не (404) Not Found.

Получение проекта по псевдониму
GET /project/{ownerAlias}/{projectAlias}
Запрос возвращает проект с указанным псевдонимом

Делаем:

$Ad05 = 'http://192.168.21.61:8080/rest-api/project/adminuser/mynewproject01/'
$Ret05 = iwr -Uri $Ad05 -Method 'GET' -Headers $h04 –Verbose
$Ret05.RawContent

Работает. Возвращает
{"id":"(какой-то)","title":"MyNewproject01","description":"","alias":"mynewproject01"," итд}

Метод для получения содержимого файла
GET /project/{ownerAlias}/{projectAlias}/blob?commitHash={commitHash}&file={fileName}
Запрос возвращает содержимое файла, который был изменен в указанном коммите, строкой. Если размер файла больше, чем 15МБ, или же он бинарный/картинка необходимо использовать следующий метод
commitHash. Обязательный параметр. Хэш коммита, который хранит необходимое состояние репозитория

И как это понимать? Какой еще хеш коммита? Зачем ?
Сравните для Gitlab  :

curl --header "PRIVATE-TOKEN: glpat-norDQhvwoTxyAtM9ANhV" http://192.168.1111.2222/api/v4/projects/2/repository/files/first.sh/raw?ref=main -o ot08.txt

И вот это. Какой еще коммит? Если мне надо не коммит, а всегда latest, то что?

Но, метод работает. Одна проблема, где взять хеш коммита. И вторая, как указать ветку, видимо по хешу. Очень странно.
С хешем просто. Его можно получить двумя способами.
Первый способ, простой. Нужно зайти в историю коммитов файла в GUI и справа будет 7 значный (почему 7 ?) номер коммита

Второй способ, чуть сложнее. Нужно ткнуть на RAW, откроется длинная ссылка вида
http://192.168.21.61:8080/project/adminuser/mynewproject01/blob/raw?file=myfile01&commit=9e12345(длинный хвост)
Первые 7 цифр в ID коммита – хеш. Остальное – даже не представляю, UUID какой-то.

Код

$Commi2 = '9e12345'
$Long4S08 = http://192.168.21.61:8080/rest-api/project/adminuser/mynewproject01/
$Ad08 = $Long4S08 + "blob?commitHash=" + $Commi2 + "&file=myfile01"
$Ret08 = iwr -Uri $Ad08 -Method 'GET' -Headers $h04 –Verbose
$Ret08.Content

И теперь то же самое для curl

curl.exe --verbose --header "Authorization:token af71db42-9683-40b4-b615-d31c9e5f7a16" $Ad08


--verbose, конечно, мне был нужен только для отладки, и в таком виде только для читаемости

Метод для получения списка файлов
GET /project/{ownerAlias}/{projectAlias}/blob/recursive?commitHash={commitHash}&directory={directory}&depth={depth}

Запрос возвращает список файлов с информацией о них, начиная с определенной папки и до определенной глубины. Папки не возвращаются.

Опять commitHash. Опять «Обязательный параметр. Хэш коммита, который хранит необходимое состояние репозитория».

Заключение

Приложение работает, API работает.
Документация вызывает ряд вопросов, но их уже без меня пусть бывшие коллеги решают.
Получение файла и чего угодно вообще через хеш коммита, а не последней (текущей) версии файла выглядит крайне странно. Как и часть инструкции, где этот хеш коммита упомянут, а где его брать – нет.
Не очевидно оформляется токен, где не совсем понятно, как сделать read_repository_only
Как это будет работать с докером, ансиблом, и так далее – не проверял, и не хочу. Наверное, как-то работает.

PS.
Пока писал статью: оказалось что дело было не в бобине, и коллеги и сами справились. Просто у них опять кое-кто накрутил с сертификатами, проверками, и прочей безопасностью, и не сознавался.
Пока писал статью: программа набрала 10000000 очков в рейтинге - GitFlic признана лидером среди российских DevOps-платформ по версии CNews.

Литература

Автоматизация процесса разработки с помощью сервиса GitFlic
GitLab Community Edition

Показать полностью 6
[моё] IT Опыт Импортозамещение Windows Git Microsoft Автоматизация Длиннопост
5
9
DmitriitheFals
Лига Сисадминов
Серия Кудахтеры: Ansible

Ansible для детского сада. Часть 3. Настраиваем подобие безопасности и все остальное⁠⁠

2 месяца назад

Почему я вообще пишу эту статью? Почему нет готового решения «делайте хорошо, плохо не делайте»?
Как жесток и несправедлив этот мир!
У меня постоянное ощущение того, что я описываю не велосипед с костылями, а велосипед, который давно изобретен, на котором все катались лет 15 назад, если не 20. Что-то типа «введение в линукс и все вокруг для 10 класса». Что на информатике учат.
Серия «Кудахтеры: Ansible»

Ansible для детского сада в скольки то частях. Часть 1.Про все сразу
Ansible для детского сада в скольки то частях. Часть 2. Костылируем жалкое подобие WSUS - Linux Server Update Services (LSUS)
Ansible для детского сада. Часть 3. Настраиваем подобие безопасности и все остальное
Подготовка Git
Ansible для детского сада. Часть 4. Первичная настройка конечного клиента
Ansible для детского сада в скольки то частях. Часть 5. Приделываем костыли

Еще раз объясняю принципы СПО.
Видишь голую жопу - сшей трусы и отдай владельцу жопы.
Не умеешь шить - сообщи владельцу жопы, где трусы можно купить.
Не знаешь где купить - просто скажи владельцу жопы "А у вас жопа голая!".
Не хочешь делать ничего из предложенного - заткнись, не твое дело.

Интересно разделился ИТ мир

В одном отделе (у соседей) n8n подняли и тыкают в него палкой. В другом, у бывших коллег на новом месте работы, оказывается, нет инструмента для сбора статистики обновлений. И вообще ничего нет, кроме папки с сотнями Excel файлов. И те не актуальны.

Ничего против Excel не имею. Инструмент удобный, и внутри можно сделать много чего на VBA – но нужно ли? Но, текст не про философию.

Для того, чтобы Ansible отработал задачу на хосте, необходимо:

Чтобы на целевом (target) хосте существовал нужный пользователь, с нужными правами на исполнение
Чтобы целевой пользователь имел права на вход по ssh
Чтобы (если требуется) на целевом хосте были прописаны, или стали прописаны, нужные репозитории
Чтобы Ansible доверял ssh сертификату целевого хоста. Потому что до первого входа, по умолчанию, и так далее, ничего подобного не будет, никакого доверия.

Дальше мы переходим к вопросу регулярной смены или пароля, или сертификата, или и пароля и сертификата для служебного пользователя.

Становится очевидно, что, чем больше пользователей имеет доступ к Ansible серверу, тем желательнее (скорее, обязательно) заводить отдельный сервер для инфраструктурных задач, в отдельной подсети, с серьезными ограничениями по доступу к серверу, и отдельный сервер для dev\test окружений, с своими правилами и задачами. В идеальной среде, где все профессионалы и друг друга уважают, и думают, что делают.. В идеальном мире можно сразу дать всем пароль от рута. В реальном мире необходим баланс между ограничениями всеми и всего.

Придется начинать с установки и настройки fail2ban и настройкой полуторафакторной авторизации (сертификат с паролем) для серверов с git и ansible. При этом к git нужен будет доступ «от всех серверов локальной сети», а к ansible, без pull модели, не со всех.

Видимо, придется потом сесть и писать длинную статью «я так вижу про безопасность в Linux».

Будет еще одна недописанная статья, кроме «Инвентаризация инфраструктуры и сети. Пометки для начинающих». Что-то такое один дьяк писал в 1415, со словами «житие мое..» , будет «10 лет спустя».

Пока думаю, и пока коллеги думают, сделаю в стиле «для домашней лаборатории сойдет» -

В гите есть public repo, в котором лежит:
1 ssh файл для прописывания первичных настроек и юзера для Ansible.
2 открытая часть сертификата юзера для Ansible, при этом сертификат генерируется с паролем
3 Остальные преднастройки для работы Kerberos + AD

Подготовка Git

Что в наличии: Бесплатный Gitlab в контейнере, Version v18.2.1 (gitlab/gitlab-ce; latest).

Создам там юзера из GUI - (панель админки внизу слева, рядом с help)
Admin > Users > New user > Name: Preset; mail: firstname.lastname@example.com
Admin > Users > Preset > Password: Pa$$word1234
Создам токен; Name: Token01
Через : Admin – Users - Preset Impersonation Tokens for preset с правами:
read_repository: Grants read-only access to repositories on private projects using Git-over-HTTP or the Repository Files API.

Получу токен. Токен выглядит вот так:
glpat-MFuiWVjB1BTngs-6wyHj

Там же, в управлении токенами, сразу сделаю ему rotate.

Создам группу: Linuxpregoup2.
тип: Private (The group and its projects can only be viewed by members.)
Почему так: просто так, потому что все равно токен сделал.

Создам в Gitlab проект:
имя и все прочее: linuxpreset01
Тип: Private (Project access must be granted explicitly to each user. If this project is part of a group, access is granted to members of the group.
Можно делать и Internal, и Public (The project can be accessed without any authentication.), но зачем ?

Создам в проекте файл first.sh
С текстом

#!/bin/bash
date

И сделаю copy permalink. Получу, поскольку у меня не настроен DNS и мне не хочется прописывать что-то в /etc/host -
http://192.168.1111.2222/linuxpregoup2/linuxpreset01/-/blob/какойтодлинныйтокен/first.sh

Добавление пользователя preset к проекту linuxpreset01

Gitlab содержит 7 ролей из коробки: Guest (This role applies to private and internal projects only.) ; Planner; Reporter ; Developer;  Maintainer;  Owner; Minimal Access (available for the top-level group only)

Дам права Guest и попробую зайти.
При входе получу предупреждение:
Update password for Preset . Чтож, сменю пароль и зайду уже с новым паролем, и увижу проект, и в проекте увижу ничего.
По прямой ссылке тоже увижу то самое ничего. И с правами reporter то же самое, то есть ничего. Только роль Reporter (и выше) имеет права на чтение файлов. Ничуть не удивлюсь, если при аудите окажется, что всем подряд выданы роли Maintainer.
Понять это из документации, наверно, можно. Но я не смог.
Хорошие новости: отредактировать файл все равно нельзя.
Новости так себе: можно сделать fork и получить две ветки. Можно почитать Default branch file and directory locks, и все равно задуматься.
Что еще интереснее, я, как user Preset вижу ветку patch-1, а как админ – не вижу. И это несколько странно, как и то ,что создался новый проект - Preset/linuxpreset01
Но, на данном этапе не важно.

Токен к проекту (Project access tokens) я не создавал, а, наверное, зря. Судя по теме How to curl single file using deploy token, я не один такой тупенький.
Создам . User – Preferences – access tokens - Personal access tokens
Add a project access token
Name: Token02Personal; read_repository
Замечу, что эти злые люди переделали (опять) интерфейс, и теперо Project ID живет не там, где раньше

Что я забыл?

практика показала, что, раз я сделал только read_repository, но не сделал в токене:
read_user (Grants read-only access to your profile through the /user API endpoint, which includes username, public email, and full name. Also grants access to read-only API endpoints under /users. )
read_api (Grants read access to the API, including all groups and projects, the container registry, and the package registry.)

То получу {"message":"401 Unauthorized"}

Это еще ничего. Потому что если адрес совсем неправильный, то я получу
<html><body>You are being <a href="http://192.168.1111.2222/users/sign_in">redirected</a

Управление токенами в бесплатной версии поначалу вызывает того самого кота

Потому что выглядит вот так.

Токен можно посмотреть один раз при перевыпуске, и все, давайте досвиданья.
Посмотреть значение уже выпущенного токена нельзя.
Можно перевыпустить или отозвать
Можно посмотреть сразу после выпуска. Все.

Токен

Токен

Теперь понятно, почему на управление токенами тоже могут забивать. Потому что это надо 5 минут потратить, разобраться.

Если почти все правильно, кроме токена, то будет ошибка:
{"error":"invalid_token","error_description":"Token was revoked. You have to re-authorize from the user."}

Если токен корректен, но что-то не то с путем, то получим:
{"message":"404 Commit Not Found"}

Итого

Неправильно: использовать токен с недостаточными правами, или выписанный «не там». Роль «вон того токена» надо изучить отдельно.

Неправильно: использовать путь из WEB, например
curl --header "PRIVATE-TOKEN: glft-h5DSfGmqiVESDZ7kQJMz" http://192.168.1111.2222/linuxpregoup2/linuxpreset01/-/raw/main/first.sh

Неправильно: прописывать master, хотя у тебя ветка main, например:
curl --header "PRIVATE-TOKEN: glpat-norDQhvwoTxyAtM9ANhV" http://192.168.1111.2222/api/v4/projects/2/repository/files/first.sh/raw?ref=master -o ot05.txt

Работает:
прописывать токен с нужными правами, прописывать путь через API и project ID, использовать нужную ветку (main):
curl --header "PRIVATE-TOKEN: glpat-norDQhvwoTxyAtM9ANhV" http://192.168.1111.2222/api/v4/projects/2/repository/files/first.sh/raw?ref=main -o ot08.txt

И, конечно, неправильно публиковать любые токены в статьях. Вдруг они еще рабочие.
но я не очень беспокоюсь за мою домашнюю виртуальную машину, и перевыпустил токен еще до того, как дописал это предложение.

Дальше проще. Изян: stackoverflow

curl --header "PRIVATE-TOKEN: glpat-norDQhvwoTxyAtM9ANhV" http://192.168.1111.2222/api/v4/projects/2/repository/files/first.sh/raw?ref=main -o

http://192.168.1111.2222/linuxpregoup2/linuxpreset01/-/blob/(какой-то UUID)/ansible

и остается только положить нужные файлы (открытую часть сертификата) в gitlab, и переписать стартовый скрипт.

Итоговый скрипт у меня на домашнем стенде у меня будет выглядеть так, что оказалось что проще написать отдельную статью:

Ansible для детского сада. Часть 4. Первичная настройка конечного клиента

Заключение

У меня постоянное ощущение того, что я описываю не велосипед с костылями, а велосипед, который давно изобретен, на котором все катались лет 15 назад, если не 20. Что-то типа «введение в линукс и все вокруг для 10 класса». Что на информатике учат.
Потому что тут коллеги n8n крутят, а я описываю, как с гита файл скачать с токеном.

Костыли и велосипеды

Костыли и велосипеды

Литература

Основы Ansible для сетевых инженеров
Etckeeper - ставим под контроль изменения конфигурации сервера
Ansible Community Documentation Managing vault passwords
Ansible Community Documentation 2.8 Using Vault in playbooks > The documentation regarding Ansible Vault has moved. Encrypting content with Ansible Vault

RBAC Ansible Tower
RBAC Ansible AWX
RBAC Red Hat Ansible Automation Platform

gitlab signup users without email confirmation

Gitlab docs Roles and permissions
Перевод из 2017 года от ruvds Bash-скрипты: начало. Оригинал: Shell scripting step by step tutorial
Gitlab forum How to curl single file using deploy token
Gitlab forum Curling raw file fails
Medium How to curl single file using access token in gitlab
digitalocean How to Download Files with cURL
Reddit Creating System Users for Ansible Execution

@editors, мне бы тег Ansible, выдайте пожалуйста

Показать полностью 5
[моё] IT Linux Windows Импортозамещение Bash im Длиннопост Ansible
2
47
DmitriitheFals
Лига Сисадминов
Серия Кудахтеры

SSSD или приключения Linux в домене Windows (MS AD)⁠⁠

3 месяца назад

Для лиги лени: не все так просто и легко

Примечание: пост отличается особо мразотным и нечитаемым оформлением. Даже на уровне меня.

Часть 1. Немного теории или как работает Microsoft Windows Active Directory Domain Services (MS AD DS)
Часть 2. К практике. Подготовка
Часть 3. К практике. Начинаем медленно вводить. В домен
Часть 4. Но зачем это все, или возврат к теории
Часть 5. Лось Пользователь, просто пользователь

Часть 1. Немного теории или как работает Microsoft Windows Active Directory Domain Services (MS AD DS) и почему так.

Если пропустить все подпункты про открытые закрытые сертификаты, структуру хранения и репликации базы данных, роли, схемы, доверие, расширение схемы, атрибуты и так далее, вплоть до LDS, Extensible Storage Engine (ESE) и Joint Engine Technology (JET), то, для целей статьи, можно сократить описание до следующего:

В базе данных AD хранятся учетные записи и необратимо (или обратимо) зашифрованные пароли от учетных записей:

1. Пользователей

2. Компьютеров – членов домена. Мозгом домена являются контроллеры домена, Мегамозгом – носители ролей, Гипермегамозгом – носитель роли PDC.

И там же, в базе, хранятся все остальные сущности.

При добавлении компьютера в домен на нем магией Kerberos (или NTLM) для учетной записи SYSTEMOFTHISCOMPUTERNAME создается логин, пароль и дальше уже по учебнику.

Централизованная архитектура, вот это все.

Растет это все из принципа «все централизовано, все под контролем».

В противоположность этому, Linux вырастал из концепции «тут есть только я», то есть никакой централизации «из коробки», и есть только один root. Как следствие, в Linux из коробки управление пользователями и правами весьма отличается от Windows. Впрочем, для большей части задач этого достаточно, особенно если права пользователя в исполняемом приложении не те же самые, что права пользователя Linux.

Однако в некоторых сценариях возникает необходимость централизованного управления не только права внутри приложений, но и правами в самой ОС, и тут на помощь приходят SSSD, Winbind, realmd.

Раньше был Identity management for Unix/NIS, но он закончился.ся.

За деньги были PowerBroker Identity Services, Centrify Server Suite, Quest Authentication Services.

В теории это можно сделать разными методами, хоть через управление сертификатами через Ansible или что угодно «прочее», хоть паролями по любой схеме.

На практике в организациях обычно есть ряд требований по сложности пароля, по не-хранению паролей в открытом виде, по регулярной смене пароля, по централизованной блокировке, итд.

Ansible в чистом виде эту задачу не решает, FreeIPA не то чтоб популярна, хотя можно и ее использовать, если вы любите боль (и унижение), да и смысла в замена MS AD нет, если только не совсем угнетаться. Потому что Windows Standard стоит около 1100 $ на 16 ядер, и около 6200$ на Datacenter, что для организации не так дорого. Если у вас работники не за еду работают, конечно.

То есть проще купить, да и глобально Microsoft не так пристально следит за лицензированием, как Broadcom. Можно сказать, что вообще не следит, учитывая работу доменного центра лицензирования, когда ты, фактически, даешь Microsoft честное слово, что у тебя не будет намного больше того количества, что ты лицензировал. Software Assurance это просто удобно. Но, конечно, никто не мешает делать «только Linux», хотя так чаще говорят те, кто цены на RHEL \ Oracle Linux не видел.

Часть 2. К практике. Подготовка

Я развернул домен Windows Server 2025, это делается так же просто и легко, методом далее далее готово. Мне бы снапшот сделать, перед установкой, ну да переживу. На 2 ядрах и 6 Гб оперативки Windows 2025 + AD как-то живет, но немного грустит.

Развернул рядом новый Debian 12 с длинным именем Linux-with-long-name-199 и .. и сразу уперся в мелкие проблемы, которые на Windows давно решены из коробки, в том числе:

Для работы нужен ntp, но инсталлятор Debian предлагает при установке установить Gnome, KDE, ssh, web – но не предлагает выбрать ntp клиент. Из коробки стоит systemd-timesyncd, что видно по

timedatectl status, но sssd не предлагает сконфигурировать службу времени для работы с контроллером домена, надо конфигурировать вручную. Или опять Ansible (предпочтительнее, но это не предмет данной статьи)

Но пока вручную, отредактируем
nano /etc/apt/sources.list
и
nano /etc/network/interfaces

Эмуляция легаси в Linux

Создам юзера AlexanderPushkin, приделаю к нему сертификат, зайду в него, чтобы профиль точно был, и положу в профиль текстовый файл.
/usr/sbin/useradd -m AlexanderPushkin
Обожаю дебиан, что там пути по умолчанию в версии 12 так и не поправили.
passwd AlexanderPushkin
chown -R AlexanderPushkin:AlexanderPushkin AlexanderPushkin/.ssh/

прописываем ключи, не забывая (я постоянно забываю, еще один повод это делать в Ansible)
НЕ в формате ---- BEGIN SSH2 PUBLIC KEY ----
а в формате ssh-rsa (ключ)

Как же раздражает после перерыва то, что по умолчанию -
echo $SHELL == /bin/sh
вместо /bin/bash
и что надо делать
chsh -s /bin/bash
А то не будет ничего из .bashrc, ни echo $HISTSIZE, ни echo $HISTFILESIZE, ни echo $HISTFILE
Бесит, что надо как-то так.
/usr/sbin/useradd -m -s /bin/bash AlexanderPushkinTheSecond
passwd AlexanderPushkinTheSecond
mkdir /home/AlexanderPushkinTheSecond/.ssh
touch /home/AlexanderPushkinTheSecond/.ssh/authorized_keys
chown -R AlexanderPushkinTheSecond:AlexanderPushkinTheSecond /home/AlexanderPushkinTheSecond/.ssh
Или что-то такое, поправьте меня, если вдруг чего спутал.

Часть 3. К практике. Начинаем медленно вводить. В домен.

У нас есть два пользователя, AlexanderPushkin и AlexanderPushkinTheSecond
Можем ли мы создать пользователей с такими именами в AD?
AlexanderPushkin. Длина имени 16 символов, создается без вопросов.
AlexanderPushkinTheSecond. Длина имени 25 символов, и это длиннее SAM-Account-Name, у которого длина 20 символов.
Из AlexanderPushkinTheSecond получился SAM-Account-Name AlexanderPushkinTheS
Сомнительно ,но окей.

Начинаем подготовку к вводу в домен самого Linux сервера.

В всяких инструкциях прописана тонна всяких пакетов, но никакой расшифровки к ним. Список включает, но не ограничивается:realmd sssd sssd-tools libnss-sss libpam-sss adcli
или
realmd sssd-tools samba-common-bin samba-libs krb5-user adcli
или
realmd sssd-tools sssd libnss-sss libpam-sss adcli packagekit
или
realmd sssd sssd-tools libnss-sss libpam-sss packagekit oddjob oddjob-mkhomedir krb5-user adcli

Такое впечатление, что авторы инструкций списывают руководство друг у друга, вообще не вдаваясь в детали, зачем нужен, и нужен ли, тот или иной пакет.

Описания пакетов сделаны в том же самом виде, что и в классике, например, цитата:

PackageKit allows performing simple software management tasks over a DBus interface e.g. refreshing the cache, updating, installing and removing software packages or searching for multimedia codecs and file handlers.

Напомнило

«СЕПУЛЬКИ — важный элемент цивилизации ардритов (см.) с планеты Энтеропия (см.). См. СЕПУЛЬКАРИИ».

«СЕПУЛЬКАРИИ — устройства для сепуления (см.)».

Я пойду другим путем, вообще ничего ставить не буду!

Найти детальное описание «что нужно сейчас и почему», это подвиг сложнее, чем накормить кота таблеткой.

realmd как интерфейс к sssd понятен. sssd-tools – уже не так понятен. krb5-user понятно, но его перечисляют не везде.

Подготовительные работы

В первую очередь необходимо вручную заменить thishostname на hostname.mydomain.domain
или, в моем случае,
hostname Linux-with-long-name-199.win2025.mydomain
Затем поправить /etc/hosts , и наконец сделать
apt install realmd

И проверить что вышло
Делаю realm discover и получаю bash: realm: command not found

КАК ЭТО ВОТ ТАК ? Проклятый Debian, почему там пути то не прописали.
/usr/sbin/realm discover работает, с сообщением realm: No default realm discovered
realm discover win2025.mydomain –verbose выдает realm: No such realm found

Почему?
потому что я не настраивал DNS, а в /etc/resolv.conf прописался DHCP сервер еще с момента установки.
dig @192.168.122.250 win2025.mydomain – работает, но в целом работа службы DNS в Linux, или в Debian, в случае если первый сервер сказал «ну я даже и не знаю», без попытки спросить второй сервер в списке тоже с непривычки может вызывать ряд проблем.

Если все настроить правильно, то команда
/usr/sbin/realm discover win2025.mydomain

Должна вернуть список пакетов:
win2025.mydomain
type: Kerberos
realm-name: WIN2025.MYDOMAIN
domain-name: win2025.mydomain
configured: no
server-software: active-directory
client-software: sssd
required-package: sssd-tools
required-package: sssd
required-package: libnss-sss
required-package: libpam-sss
required-package: adcli
required-package: samba-common-bin

Значит,

apt install realmd sssd sssd-tools libnss-sss libpam-sss adcli samba-common-bin

Пакета krb5-user в списке нет, и это странновато.

Отредактируем /etc/realmd.conf
nano /etc/realmd.conf

И внесем туда
[active-directory]
os-name = Debian GNU/Linux/PikabuTest
os-version = 12.0 (Bookworm)/or Windows
computer-ou = ou=LinuxServer,DC= win2025,DC=example

Данный конфиг содержит ошибку, и знающий Linux читатель, конечно, ее сразу увидит.

Пробуем.
/usr/sbin/realm --verbose join win2025.mydomain -U Administrator

И пааалучаем воооот такую на воротник!
realm: Couldn't join realm: Necessary packages are not installed: sssd-tools sssd libnss-sss libpam-sss adcli

Эта же ошибка была в Ubuntu 16, сколько лет прошло.

Делаем
/usr/sbin/realm --verbose join win2025.mydomain -U Administrator --install=/
запускаем, получаем на воротник еще раз:
Failed to join the domain
realm: Couldn't join realm: Failed to join the domain

При этом, не смотря на прописанный в /etc/realmd.conf параметр для OU, учетная запись все равно создалась в OU по умолчанию, COMPUTERS в моем случае, да еще и с именем LINUX-WITH-LONG

15 символов для PC name, это лимиты Netbios, и не болейте.
DNS имя при этом правильное, linux-with-long-name-109.win2025. mydomain
И остальные параметры взяты из файла правильно. Только OU не тот.

При этом, если бы я, как нормальный человек, сделал отдельную учетную запись для ввода в домен с правом создания компьютеров только в этом OU, то получил бы и ошибку, и крики «да у нас все настроено правильно», со стороны «средней» Linux команды.

К счастью, на текущем месте работу у нас вменяемая и команда CI\CD, и команда Linux, и команда windows.

Точнее, это одна команда со специализациями внутри команды.

Давайте разбираться.

В примере выше я написал:

computer-ou = ou=LinuxServer,DC= win2025,DC=example
Это, конечно, неправильно -
computer-ou = ou=LinuxServer,DC= win2025,DC= mydomain

В конфиге я это исправил (а в тексте – нет), но зато в конфиге я сделал другую ошибку. В читаемом тексте это так сразу и не видно, но там
computer-ou = ou=LinuxServer,DC=(пробел)win2025,DC= mydomain

Окей,
realm leave ad.example.com -U 'AD.EXAMPLE.COM\user' то есть
realm leave win2025. mydomain -U ' win2025. mydomain\Administrator'

Напоминаю, что учетную запись администратора домена для таких задач в рабочей среде использовать нельзя, необходимо создать отдельную учетную запись и делегировать ей права на создание и удаление записей в выделенной OU. Исключения: МТС и Аэрофлот, там все равно делают что угодно, кроме безопасности.

Но с точки зрения Linux – она не в домене, хотя УЗ сервера и создалась. Поэтому просто удалю созданную УЗ в домене, поправлю /etc/realmd.conf, создам УЗ в с правом создания УЗ типа компьютер в этой OU (как надо было с самого начала) и попробую еще раз.

делегирование сложности не составляет, даже ссылку не буду приводить, сделал один раз из GUI, с результатом:

They have the following permissions: Full Control
For the following object types: Computer

Пометка. Я всего один раз видел как ЭТО переведено, и навсегда отказался иметь дело с русифицированным Windows.

Снова делаю
/usr/sbin/realm --verbose join
Иииии вижу

Found well known computer container at: CN=Computers, DC=win2025,DC= mydomain
и, очевидно, получаю опять на воротник!

Insufficient permissions to join the domain
realm: Couldn't join realm: Insufficient permissions to join the domain

Параметр OU (Organizational Unit или specified subtree в терминах RH) можно указать и в командной строке:

--computer-ou="ou=Linux Computers,dc=domain,dc=com", и я так и попробую, но хотелось бы разобраться, что не так.

/usr/sbin/realm --verbose join win2025.mydomain -U LinuxAdmin --install=/ --computer-ou=" ou=LinuxServer,DC=win2025,DC= mydomain

Calculated computer account: CN=LINUX-WITH-LONG,OU=LinuxServer,DC=win2025,DC=mydomain

И все заработало, вот только что это – ВСЕ ?

Попробую для начала удалить это все штатно:
/usr/sbin/realm --verbose leave
И Linux 5 минут висит на операции:
Sending NetLogon ping to domain controller
и еще 5 минут на операции:
Couldn't perform discovery search: Can't contact LDAP server
Received NetLogon info from:dc1.win2025.mydomain

И в итоге:
Process was terminated with signal: 13
Successfully unenrolled machine from realm

Но запись в AD осталась. Вот такой успешный успех.
Удалил из AD руками, что еще сделать остается.

Исправляю ошибку в конфиге выше
Еще одна не замеченная ошибка. В каком-то примере (вот в этом - realmd) настройка в /etc/realmd.conf  приведена как:

[active-directory]
default-client = sssd
и вот в этой статье (Подключение Debian GNU/Linux 12 (Bookworm) к домену Active Directory с помощью SSSD и настройка PAM для доменной аутентификации и авторизации в SSHD) схоже.
У RH в то же время эта настройка приведена как
[ad.example.com]
а в статье Подключаемся к Active Directory с помощью realmd – как
[example.org]
Надо было не читать статьи по верхам, а читать документацию. Читать Debian Manpages  REALMD.CONF(5) если быть точнее.

Почему так? Потому что надо было не читать статьи по верхам, а читать документацию. Читать Debian Manpages REALMD.CONF(5) если быть точнее.

Опция [active-directory]
These options should go in an [active-directory] section:
default-client
use-ldaps
os-name
os-version

Опция [domain.example.com]
For example for the domain.example.com domain the section would be called [domain.example.com]
computer-ou
computer-name
user-principal
automatic-join
automatic-id-mapping
manage-system

И в таком виде оно работает

[active-directory]
os-name = Debian GNU/Linux/PikabuTest
os-version = 12.0 (Bookworm)/or Windows

[win2025.mydomain]
computer-ou = OU=LinuxServer,DC=win2025,DC=mydomain

Часть 4. Но зачем это все, или возврат к теории

Для чего надо вводить компьютер в домен?
С точки зрения домена Windows – чтобы управлять объектом «компьютер» через Desired State Configuration (DSC), и (или) через Group Policy.
С точки зрения управления пользователями – чтобы иметь единую базу конфигураций пользователей, и использовать хотя бы систему account, global, domain local – AGDLP.
Но тут мы пропустим пре-авторизацию в AD(Kerberos Pre-Authentication – или просто pre-authentication по другой статье), и перейдем к вопросу «как и зачем».

Что нам нужно? Авторизовать ПОЛЬЗОВАТЕЛЯ, а точнее аутентифицировать пользователя, получить перечисление его участия в группах AD\LDAP, и по этому списку авторизовать, то есть выдать ему нужные права на конечном сервере или сервисе. Классическое Authentication, authorization, and accounting (AAA).
И еще, для целей безопасности, нужно вовремя отзывать Ticket-Granting Tickets. И немного знать не только про Golden Ticket и Silver Ticket ,но и про privilege::debug.
И знающие люди тут же напомнят, что, хотя срок жизни TGT – 1 час плюс минус, но срок жизни Ticket-Granting Service (TGS) – 10 часов.

Поэтому все эти авторизации для сервера это хорошо, а как закрывать сессии у отозванных пользователей? Для Windows можно настроить GPO на автоматический выход, можно проверить список сессий и лишние закрыть, а для Linux системы придется держать отдельный склад костылей для проверки всех серверов и не закрытых пользовательских сессий.

Но это все в следующей части, которую, я надеюсь, кто-то уже написал. Шуйский, Курбский, вы когда закончите с etcd, может уже сами что-то напишете?

Но, к делам.

Часть 5. Лось Пользователь, просто пользователь

Напоминаю, что у нас были два локальных пользователя: AlexanderPushkin и AlexanderPushkinTheSecond

Вместо них у нас появляется два доменных пользователя:
AlexanderPushkin@win2025.mydomain и AlexanderPushkinTheSecond@win2025.mydomain

Инструкция говорит про:
Configure the /etc/krb5.conf file to use the Active Directory realm.
Set the Samba configuration file, /etc/samba/smb.conf, to point to the Windows Kerberos realm.

Какая-то явно старая инструкция, с строками
Make sure that the Services for Unix package is installed on the Windows server.
Unix package уже давно не существует. Инструкция от RH 6, текущая версия IBM RH – 10.
Когда же мы, наконец, дойдем до статьи Using Active Directory to Authenticate Linux Users, где в три раза короче написано то же, что и в других статьях, и проверим что там в
/etc/sssd/sssd.conf

в том числе по умолчанию -
fallback_homedir = /home/%u@%d

И попробуем.
/usr/sbin/realm list – окей, результаты есть.
/usr/bin/getent passwd AlexanderPushkin - – окей, результаты есть.
/usr/bin/getent passwd AlexanderPushkin@win2025.mydomain – не окей, результатов нет. Вообще ничего нет.
/usr/bin/getent passwd administrator@win2025.mydomain - не окей, результатов тоже нет.

Почему - остается только гадать. Нет вывода отладки.
Одни и другие пишут, что ldap_id_mapping = True
другие, что ldap_id_mapping = false

Но при этом, если попытаться залогиниться как AlexanderPushkinTheSecond@win2025.mydomain, то в логе контроллера AD проскочит запрос с event ID 4768 - A Kerberos authentication ticket (TGT) was requested для LINUX-WITH-LONG$

Можно конечно сделать на контроллере домена
nltest /dbflag:0x2080ffff

И посмотреть в отладку, хотя это и не случай отлова Zerologon для CVE-2020-1472.

делать я так, конечно, не буду. И так на написание заметки потрачено больше стандартного получаса.

/usr/bin/id AlexanderPushkinTheSecond – результаты есть
/usr/bin/id AlexanderPushkinTheSecond@win2025. mydomain – результаты есть, и даже список групп есть.
/usr/bin/id Administrator@win2025.mydomain – результаты есть, и даже список групп есть.

Как это так вообще работает ? Кто ни разу не входил, тому getent passwd не положен, так чтоли?

Так и есть. Цитата

Используя команды getent passwd и getent group нельзя увидеть доменных пользователей и группы. Этот функционал отключен по умолчанию, для того чтобы сократить нагрузку на серверы.

Документация к Альт линукс.

После первого входа getent passwd начинает работать и что-то показывать, но.
Поскольку я не прописывал pam-auth-update --enable mkhomedir , то и домашняя директория не создалась
В /etc/sssd/sssd.conf прописан fallback_homedir = /home/%u@%d , но автоматом все равно ничего не сделалось.

Зато я могу спокойно читать файлы из
/home/AlexanderPushkin и /home/AlexanderPushkinTheSecond
Но из /home/user не могу. Очень, очень странное поведение, как по мне.

Заключение

Дальше надо перечитывать и пробовать сделать все по статье Разграничение прав доступа к Linux-системе и её сервисам через доменные группы безопасности с помощью SSSD и PAM

Но я хотел сказать совсем другое.

Сделать авторизацию пользователей через AD и SSSD можно, и кто-то делает. Однако, если делать «в лоб» и ничего не проверять, то можно получить проблемы с безопасностью больше, чем было «до введения авторизации».

Отдельно надо отметить проблемы с авторизацией не в ssh, а внутри самих сервисов, то есть придется переписать «все вообще», особенно если у вас по каким-то легаси причинам много завязано на доменных или локальных пользователей.

Отдельным подвидом развлечения в данном случае будут зависимости сервисов самой ОС и сервисов, разворачиваемых для ОС.

Все что выше, теоретически и практически, можно и нужно автоматизировать через тот же Ansible. Команды понятны, скрипты ясны.

Automating the Process of Joining Linux Systems to an AD Domain using Ansible and SSSD
riponbanik/ansible-role-domain-join
Ansible Playbook to Join Ubuntu/Debian to Active Directory Using Realmd

Плюсы: Система, в целом, скорее работает, чем совсем не работает. Тем более в совсем простых сценариях.

Минусы: Для первичной настройки и описания надо потратить пару дней, потом еще пару дней на проверку. И все равно в чуть более сложных сценариях будет глюки. Особенно, если надо обязательный Kerberos, и никакого NTLM, если везде LDAPS, или если уровень вложенности групп чуть больше чем 1 юзер – 1 группа, или если прописаны сценарии ограничения входа на уровне AD по времени и списку серверов, итд, итп.

Документация есть, но стандартные сценарии описывают «как делать», не описывая «почему надо так, и как не надо, и что будет, если делать не как надо». Стандартные сценарии очень скупо описывают отладку «что может пойти не так».

И это решение, с централизованным управлением пользователями, не решает задач безопасности, то есть отключение в AD «типа вредоносного пользователя» не приводит к мгновенному выходу «везде». В Windows, впрочем, тоже.

Литература
Active Directory Domain Services overview
What is Active Directory? The Ultimate AD Tutorial
Configuring Microsoft Entra ID to provision users into an LDAP directory for Linux authentication
Как настроить SSH-ключи в Debian 11
How to Set Up SSH Keys on Debian 11
[Article] NTLM vs KERBEROS
Подключаемся к Active Directory с помощью realmd
Как ввести Debian в домен Windows (Active Directory) с помощью realmd, SSSD.
Debian man REALMD.CONF
Подключение Debian GNU/Linux 12 (Bookworm) к домену Active Directory с помощью SSSD и настройка PAM для доменной аутентификации и авторизации в SSHD
Разграничение прав доступа к Linux-системе и её сервисам через доменные группы безопасности с помощью SSSD и PAM
Restrict the set of groups the user is a member of with SSSD
Reddit: Realmd/SSSD on Ubuntu - Configuring Auth to AD, Running into AD groups issue
Reddit: SSSD: realmd vs adcli
Reddit: What is it called when an AD account gets "signed out" everywhere and the user has to sign back in again?

RH8 Chapter 1. Connecting RHEL systems directly to AD using SSSD
RH7 3.4. Discovering and Joining Identity Domains - Joining a Domain
RH7 3.5. Removing a System from an Identity Domain
RH7 3.9. Additional Configuration for the Active Directory Domain Entry
RH7 7.4. Additional Configuration for Identity and Authentication Providers
RH6 13.2.14. Configuring Domains: Active Directory as an LDAP Provider (Alternative)

Using Active Directory to Authenticate Linux Users

RedOS 2.9.20.6 Сравнение функций Winbind и SSSD
Astra Сравнение winbind и sssd
Документация к Альт линукс.

Показать полностью 2
[моё] Windows Другой мир Linux Aaaaaa Программа Microsoft IT Импортозамещение Длиннопост
23
12
DmitriitheFals
Лига Сисадминов
Серия Унылое графоманство: кадры

Новые кадровые вызовы и риски для оставшихся в РФ филиалов⁠⁠

3 месяца назад

Для лиги лени: новые инициативы правительства РФ делают работу «из РФ с миром» не сложной, но непредсказуемой.

Я тут внезапно для себя узнал (я слоупок), что теперь «из мира в РФ» не работают голосовые вызовы:
Telegram, Whatapp, Google meeting.
Zoom и Teams пока не проверял. Zalo в РФ не популярен. WeChat в РФ тоже мало используется.
Viber жив ли? Давно о нем не слышал.

Пока внутри РФ работает разный self-hosting  XMPP, и внутри российские приложения типа сбербанка и яндекса. Нет никаких гарантий, что из этого будет работать, и что из этого будет работать между РФ и остальным миром. Наверное, WeChat будет работать, но даже это не точно.

Ирония не в том, работает ли эта связь внутри РФ. Ирония в том, что эти ограничения работает \ не работает – не предсказуемы, это черный ящик. Даже когда в июне 2025 «как-то сломались» сервисы банков, включая Сбербанк, вопрос «что это было» спустили на тормозах. В частных разговорах все участники кивают на «вы сами знаете», но подход остается тот же, «да, сломали, и что вы нам сделаете».
Ситуация дошла до того уровня, который я с коллегами обсуждали еще в 2014 –сделать «черные» списки не выйдет. Будут «белые» списки, которые будут временами ломаться.
Так и вышло.
Официально есть белый список, который может быть будет работать внутри РФ –

Минцифры определило, какие сайты будут работать при отключениях интернета. Как сообщили источники РБК, туда вошли госсервисы, маркетплейсы, онлайн-карты, банковские сервисы и др.

Интересно и то, что:

Ранее в пятницу, 5 сентября, министерство опубликовало в своем телеграм-канале сообщение, где говорится, что перечень сформировали «на основе рейтинга наиболее популярных интернет-ресурсов России».

Почему это в телеграм канале?
Еще недавно эти люди его же блокировали, что же поменялось?
Почему не в VK мессенджере или максе?
Но это просто так интересно, даже не потому, что Дуров так и не вернул стену.

Итого
Пропущу вопрос с деньгами, пусть про это болит голова у финансов.
Получается, что немногочисленный «уже не наш, но раньше наш» филиал в любой момент может оказаться без доступа к внутренним системам, базе знаний, прочим сервисам. Включая видеосвязь и трекер.
С AAA проблем нет, у них развернут RO контроллер домена, и AAA (authentication authorization and accounting ) будет работать. Но все остальное это некоторая головная боль, и она не решает проблем с введением «белых списков».
В таких условиях я не удивлюсь, если прикинув «риски», окажется что финансам проще уже сейчас объявить о сокращении российского филиала, с уведомлением всех за три месяца.

PS. Параноикам на заметку.
В США уже пять лет существует проект Meshtastic, и к нему LILYGO® T-Deck. Я не удивлюсь, если схожий проект развернут в РФ, только не совсем для того, чтобы параноики гоняли по нему треды в стиле фидо. Но для вот такого тихого бизнеса.

Показать полностью
[моё] Опыт Windows Импортозамещение Текст
9
23
DmitriitheFals
Лига Сисадминов
Серия Унылое графоманство и ковыряние в носу

Разбор видео Виртуализация Space ДАКОМ М - ОНИ РАЗРАБАТЫВАЮТ, А НЕ КОПИРУЮТ OPEN SOURCE! От Максима Горшенина⁠⁠

3 месяца назад

Для лиги лени: потерял три часа из жизни

Предисловие
Коллеги прислали видео со словами «ты такое любишь».
Видео называется "Виртуализация Space ДАКОМ М -  ОНИ РАЗРАБАТЫВАЮТ, А НЕ КОПИРУЮТ OPEN SOURCE!".
Ссылка на ютуб, что отдельно доставляет (на ВК и рутубе, наверное, тоже есть)
Максима Горшенина я больше знаю по делу Лайтком, и по тому факту, что он дает интервью всяким превратившимся в помойку ресурсам, но это его личное дело. Обычно его не читаю, и, тем более, видео не смотрю. Ну был человек в МЦСТ, ну были обзоры Эльбрусов, больше Эльбрусов нет. Тратить два часа на то, что можно текстом прочитать за 10 минут, это перебор.

Теперь к видео.
Само видео - 2 часа 15 минут. Шуйский, ты меня настолько не любишь, что прислал ЭТО?
Пошел смотреть, что там рассказывают.

Видео: 0:45 «В начале 2000х в мире начала широко использоваться технология базовой виртуализации».
Мнение. IBM announced its first official VM product, VM/370, on August 2, 1972 for the System/370.

Видео 0:55 (до эпохи виртуализации) Для каждого приложения была нужна своя виртуальная платформа
Мнение: Preemptive multitasking was implemented in the PDP-6 Monitor and Multics in 1964, in OS/360 MFT in 1967, and in Unix in 1969, and was available in some operating systems for computers as small as DEC's PDP-8;

Видео 1:25 технология .. позволила мигрировать приложение без потери сервиса.
Мнение: HA это не то же самое что VMware vSphere™ 4 Fault Tolerance . И это не миграция.
То есть, если мы говорим про «миграцию при выходе сервера из строя», то это FT, и это не миграция. Если говорим про HA, то это не миграция, а перезапуск нового экземпляра с общего хранилища, с, разумеется, перерывом в обслуживании и без гарантий, что перезапустится.

Видео 2:02 Объединение ЦОДов в единую вычислительную платформу.
Мнение: Не совсем. Никакого объединения именно вычислений между ЦОД не происходит, мешает скорость света и проклятая физика. Есть единое управление группами сервисов в ЦОД, и разные схемы репликации данных. Именно вычислительный кластер в пределах ЦОД, это отдельные развлечения в виде построения именно вычислительного кластера.

Видео 5:25 Примерно 11 лет назад .. на российском рынке виртуализации присутствовали VMware, Citrix, Microsoft.
Мнение: Забыты Red Hat, IBM, и все решения вокруг OpenStack – с 2010 года. Виртуализация на российском рынке присутствует с первых поставок IBM в СССР в 70е. Виртуализация на ESXi и потом Windows server в масс маркете - с выхода 2008R2, примерно. ESXi с его лицензированием и первичной сложностью был в сильно верхней части масс маркета, и стоил, с его лицензированием памяти, как-то очень дорого, а лицензировать поверх него Windows стоило еще дороже.

Видео 10:40 Рынок вендоров по виртуализации в России разделился на две группы.
Мнение: Это как считать. В основе у многих «вендоров» – Linux + KVM разных редакций. У кого-то был FreeBSD, и, вроде, даже Linux + Xen. "Российского" в Linux что-то около ноля, там и до всех приключений в команде «около ядра» было человек 10, и далеко не основные разработчики \ контрибьюторы. Этот финн всегда не любил РФ.
У того же SpaceVM – виртуализация из того же Linux, то есть qemu-kvm, и это не секрет, но официальная документация, цитата:

Управление ВМ обеспечивается модулем-гипервизором qemu-kvm, входящим в состав ТОС. Гипервизор qemu-kvm устанавливается непосредственно на физический сервер вместе с ТОС с дистрибутива SpaceVM и отдельной установки не требует. Документация | SpaceVM

У VMware by Broadcom и Microsoft в основе виртуализации целиком свои собственные ОС, если кто-то не знал. Как показывает дальнейшее видео, участники видео не в курсе.
В виртуализацию, то есть в данном случае в KVM (или Xen) вклад от российских вендоров .. не могу сказать что 100% отсутствует, но и в присутствии сильно сомневаюсь.

Видео 11:50 Opensource не является конечным продуктом, иначе бы любой человек мог его скачать, проинсталлировать.
Мнение: является. Любой человек может скачать хоть Debian \ Ubuntu \CentOS, хоть ванильный опенстек, и поставить его в инфраструктуру, и он будет работать. И да, идея была именно в этом – вы качаете бесплатный Linux и не занимаетесь его покупкой. Но цена поддержка RHEL или Oracle Linux, ой.

Видео 14:00 В рамках опенсорс проектов есть специально привнесенные уязвимости
Мнение: Пока такого не замечено. Утащенные документы (Ассанж плюс Шульте =  WikiLeaks) показывают, что уязвимости ищут, но не внедряют. Хотя с Cisco и внедрением в них троянского модуля, не все так просто.
И наоборот, у проприетарного Касперского была уязвимость, когда пароли генерировались исходя из простого алгоритма времени. И недавно ее одна, когда пароль писался в логи в открытом виде.
Если быть чуть точнее, то у ряда небольших проектов после 02.2022 появился код, который можно считать вредоносным «для РФ», но в РФ даже не стали поддерживать проект по поиску такого ПО.

Видео 15:05 VMware использует ядро Linux.
Мнение: для виртуализации не использует. Для системы управления, vCenter – использует.

Видео 15:45 Например .. возьмем Proxmox .. обернем его своим Web-интерфейсом.
Мнение: Но зачем? То есть, у Proxmox есть свой web, есть свое API, что там еще поверх нужно оборачивать? Нескучные обои?

Видео 16:00 потребуется (для Proxmox) написать свои прослойки в виде абстракций
Мнение: Но зачем? Для портала самообслуживания?

Видео 18:35 Само по себе ядро Linux не позволяет вам делать виртуализацию.
Мнение: KVM это Kernel-based Virtual Machine. Технически это: KVM (for Kernel-based Virtual Machine) is a full virtualization solution for Linux on x86 hardware containing virtualization extensions (Intel VT or AMD-V). It consists of a loadable kernel module, kvm.ko, that provides the core virtualization infrastructure and a processor specific module, kvm-intel.ko or kvm-amd.ko. The kernel component of KVM is included in mainline Linux, as of 2.6.20.
То есть с времен Linux_2_6_20 ,с февраля 2007, это модуль ядра.

Видео 18:55 Эти модули они пишут сами.
Что-то пишут, но под "что-то" зачастую qemu, apache, и так далее.

Видео 22:00 Red Hat
Мнение: IBM купила Red Hat в 2018 и в 9 июля 2019 закрыла сделку. Фирма Red Hat как фирма не существует, акций у нее (ISIN US7565771026) больше нет. Бренд существует, продукция под брендом выпускается, такая как Red Hat Enterprise Linux 10, но это уже 6 лет как подразделение IBM

Видео 25:00 Какие-то опенсорс модули, но не те, которые отвечают за предоставление конечной функции.
Мнение: за функцию «виртуализация на KVM» отвечают модули ядра Linux. Какая там еще может быть «конечная функция»? Предоставление web интерфейса?

Видео 25:51 первые собственные технологии вы как раз можете увидеть через 5-6 лет.
Мнение: по городской легенде, Xen был написан на спор за выходные.

Видео 26:10 Рекламная пауза с музыкой.

Видео 28:34 Proxmox .. сами его обслуживают, сами его дорабатывают.
Мнение: Коллеги в РФ активно используют Proxmox, репозитории Proxmox (и Debian) из РФ в июне еще были открыты (потом не спрашивал), и вряд ли что-то поменялось. Ничего «самим» обслуживать не надо, если не считать за «обслуживание» apt get update.

Видео 30:50 VMware взяли операционную систему на базе ядра Linux.
Мнение: На базе Linux была ветка ESX. Ее развитие закончилась в 2007 году, с выходом своего ядра, VMware ESXi 3.5 First Public Release, билд 67921.

Видео 31:25 Это их (VMware) ветка (Linux)
Мнение: это не «их ветка», это, если говорит про ESXi, свое ядро ОС с 2007 года. Более того, в 2020 году, с выходом версии 7, оттуда (из VMkernel) выкинули модуль VMKLinux, когда-то давно оставленный для возможности через 333 трансляции использовать Linux драйвера. Завываний в сообществах было очень много. Про то, что злые проприетарщики (по итогам суда за SCSI) выкинули поддержку копролитов, поддержкой которых лет за 10 не озаботился ни вендор, ни сообщество. Сообщество не сделало драйвера за 10 лет, а виноват в этом почему-то VMware.
Photon OS при этом используется для vCenter, и не только.

Видео 34:15
Мнение: Это  новая мода такая, показывать волосатые колени?

Видео 34:40 Web интерфейс это наша собственная разработка.
Мнение: интерфейс да, а под ним Apache. База данных, согласно руководству, Postgres Pro. Это нормально, vCenter Server Appliance (VCSA) использует PostgreSQL.

Видео 35:50 GFS2 (Red Hat) плюс Pacemaker плюс Corosync на слайде.
Мнение: Pacemaker временами вытворял такое, странное.

Видео 36:06 используется GlusterFS
Мнение: Proxmox VE has officially dropped support for GlusterFS as a storage option starting with Proxmox VE 9.0. This decision is based on the Proxmox developers' assessment that GlusterFS is no longer actively maintained upstream.

Видео 37:10 Слайд Space Agent VM содержит qemu агент и virtio.
Мнение: Нормальное явление, там же qemu-kvm, и сеть от virtio

Видео 37:45 Реализован автоматический перенос виртуальной машины на резервный сервер в случае выхода из строя основного.
Мнение: это не перенос, это перезапуск виртуальной машины на другом сервере. Именно перенос, FT и аналоги, реализован у VMware by Broadcom как FT, и как-то был у Stratus (но могу ошибаться), но фирма Stratus перекуплена, и что то там еще с ней было. Есть еще аппаратные реализации FT, но дорого.

Видео 39:00 В SpaceVM реализован функционал микросегментации.
Мнение: судя по документации, не совсем микросегментации. Документация:  Правила фильтрации политик виртуальной сети и виртуальной машины. Для меня выглядит фильтрация на уровне L2+L3, но как-то не понятно, это все же L2 фильтрация, и я могу сделать группы IP\MAC внутри L2 сети, или нет. Судя по запрету широковещательных, это ближе к private vlan.

Видео 40:50 все исходные коды принадлежат вам
Мнение: в контексте разговора да, но код kernel (в том числе KVM), СУБД, и прочих компонентов, им, конечно, не принадлежит.

Видео 43:20 Технология Free Grid может применяться там, где закончилась лицензия NVidia Grid.
Мнение: «обход» какой угодно лицензии в отсутствии в РФ официального правительственного указа о разрешении обхода лицензий еще недавно трактовался как УК РФ 146, УК РФ 273.2 (потому что могли добавить и нейтрализацию средств защиты компьютерной информации). Что-то, видимо, поменялось.

Видео 45:30 Музыкальная пауза. Кому-то, похоже, переставляют Linux.

Видео 46:25 (SpaceVM) Устанавливается на любое железо.
Мнение: то есть, про тестирование и списки совместимости ( Hardware compatibility list) речь не идет, работает и ладно.
Ранее в видео говорилось про enterprise class, ну что ж.

Видео 54:00 Соревнования в надежности с VMware by Broadcom
Мнение: если говорить про ОС, то есть ESXi by VMware by Broadcom, то надежность у нее была, и остается, на принципиально не достижимом уровне, для текущих версий «всего на Linux». Почему? Потому что ОС, точнее vmkernel, распаковывался в оперативную память, и после запуска не нуждался ни в дисках, ни в каком-то загрузчике. Да, при смерти диска, на который ESXi сгружало логи, и где хранился агент, самой ОС могло стать нехорошо. Хост отваливался от vCenter, управление тупило, но сами гостевые виртуальные машины работали как часы, позволяя штатно, в согласованное время, выключить виртуальные машины, и штатно их запустить на другом хосте в кластере. Про это целая статья есть, Падучая ESXi или возвращение блудного хоста. И Grigory Pryalukhin статьи писал - Перезапуск Management agents в ESXi и терпение.
У Hyper-V есть схожая особенность, при смерти управляющей виртуальной машины (minroot 0 или как его там), гостевые виртуальные машины живут до выключения, даже на любой форме локальных дисков.
Windows на выдернутых \ и особенно перешедших в RO дисков, это очень странный, но реальный сценарий. И оно даже работает.
У Linux ? Выдерните диск из-под Linux с KVM и посмотрите. Мне выдергивали как-то случайно. Эффект .. странный.

Если делать соревнования по надежности, то что ESXi , что Windows server с Hyper-V работают без перезагрузок и патчей, по 3-5 лет. Я всегда очень удивлялся, что есть такие люди, которые по 3-5 лет без единого патча или ребута обходятся (Кто тут громко подумал МТС \ СДЭК \ Аэрофлот ? ), но технически это возможно. Делать так, конечно, не надо. Наиболее вредоносное ПО, с постоянно текущей памятью, приносит (в основном) отдел имитационной безопасности. С этим ПО все очень плохо, оно течет.
Это (подтекание) касается не только российского ПО, все «типа антивирусы», кроме Palo Alto, Sophos и Microsoft, вот эти все из правого верхнего угла 2023 Gartner® Magic Quadrant™ for Endpoint Protection, вот они все кривые и косые. Про CrowdStrike теперь не слышал разве что совсем слепой и глухой.

55:20 Теперь давайте про Citrix
Мнение. Странно, что забыты Horizon и Workspace ONE, они теперь не VMware by Broadcom.
VMware Horizon теперь Omnissa Horizon
AirWatch стал Workspace ONE, точнее Omnissa Workspace ONE Unified Endpoint Management (UEM)
Странно, что забыт Microsoft Remote Desktop Service. Инсталляций полно.
Я с Citrix почему-то сталкивался крайне редко, последний раз в 2015 году. Citrix Systems куда-то продавали, кто-то с кем-то его скрещивал, но я не слежу.
В 2018 году доля Citrix уже была невелика (Hypervisor Market Share – ControlUp Perspective). То есть, он не умирает, но есть тред на реддите, что в ряде отраслей его сложно заменить (Question: Is Citrix dying?).

Видео 58:30 Уход VMware
Мнение. Уход VMware, это очень громко сказано, но надо понимать нюанс. Да, российским фирмам отключили учетные записи на портале, не вернули деньги за поддержку, и перестали оказывать саму поддержку. Это было бы пол-беды. Все, кто хотел, решили вопрос со скачиванием.
Нюанс в том, что 26 мая 2022 года Broadcom объявил про покупку VMware, сделка была закрыта 22 ноября 2023 года, и понеслось.То переактивация записей, то переделка портала, то смена модели лицензирования, отчисление всего малоденежной части покупателей, выделение и продажа наружу Horizon и Workspace ONE, удаление ESXi free, удаление еще кучи продуктов.
Дошло до того, что Microsoft пишет: Migrate VMware virtual machines to Hyper-V in Windows Admin Center (Preview).
Лично мне смешно, что вот эти граждане ходят по граблям, но на Hyper-V переходить не хотят.
Поэтому, если бы VMware осталась VMware, а не стала VMware by Broadcom, то российский центр экспертизы имел бы смысл. А так, даже вне РФ, приходится бежать от них, теряя тапки.

Видео 1:04:00 Деньги никто не вернул
Мнение. А мог? Санкции в первую очередь были финансовые, свифт отключили. Я напомню, как доллары из банков РФ, со своих счетов, запретили получать гражданам РФ. Так что про чистоплотность относительно долларов РФ в российской банковской системе, еще до указа о запрете вывода, это вопрос не к вендорам, а к системе переводов. Не говоря про лимиты вывоза из РФ своих же денег в долларах.

Видео 1:05:00 .. и работает только по их правилам.
Мнение. Я напоминаю, что это видео лежит на ютубе, и странно говорить про работу по правилам и чистоплотности говорить в системе, которая с 1991 года не может вернуть долги собственным гражданам. Но говорить, безусловно, можно. Да, правовая система США и Европы работает в своем правовом поле. Именно поэтому до 2022 года в значимой части контрактов стояло, что разбирательство должно быть в Лондоне.

Видео 1:07:40 Как только у них (МЦСТ) появилась аппаратная поддержка виртуализации, на 16С
Мнение. Мне кажется, или 16С в серию так и не пошел?

Видео 1:07:45 Скоро будет новости (про МЦСТ Эльбрус 16С)
Мнение. На Тайване их не делают, неужели заказали партию в Китае? Потому что на 180/350 нм технологиях в РФ, 16С будет размерами с пеноблок. И такой же производительности, как пеноблок, из-за длины дорожек.

Видео 1:08:00 Большую часть приложений (x86-64\win32) можно будет использовать на Эльбрусе
Мнение. Эльбрус 4\8 и инженерный 16С в 2021 чудовищно отставал по производительности от Intel. Выступал на уровне Core i7 2600 из 2011 года. Запускать на нем Word \ Excel для целей можно, но уже в 1с баба Маша вас проклянет, и повесит вашу шкуру у чайника в кабинете бухгалтерии, по примеру Кристобаля Хозевича Хунты (у него было целое чучело).

Видео 1:14:00 Обход лицензирования NVidia через FreeGRID .. засылать несоразмерные платежи.
Мнение. Интересная логика про "несоразмерность". У той же Microsoft лицензия Datacenter, или расширенная поддержка Windows Server 2012 стоит, по моему мнению, несоразмерных денег. Почему не продавать активаторы, в таком случае? Но с этим вопросом пусть юристы разбираются, еще недавно за активацию "несоразмерных" лицензий Windows, фотошопа, 1С, и так далее, выписывали штраф. И у 1С уже много раз уже таймбомбы.

Видео 1:15:00 VMware ввели новый вид лицензирования.
Мнение. Как я уже писал, уже не VMware, но уже Broadcom. Они всегда (последние лет 20), были адскими жмотами, жлобами, и как хотите, так и называйте. Но не прячьте ваши денежки.
Чрезвычайно уважаемые люди давно сказали – будет как в Computer Associates и UCC-7 - CA-7. Так и вышло.

Видео 1:20:00 Отучиться на Cisco
Мнение. Первые два курса Cisco, ICND 1 и ICND 2, это курсы не про продукцию CISCO, а про базовейшую из базовых теорий. Cisco Press активно выпускала книги на русском, Cisco академия работала повсеместно. Курс, если вам было жалко денег, валялся везде и бесплатно. Пройдя базовую Cisco и понимая теорию, можно было уже на базовом уровне понимать, как это реализовано у остальных вендоров.

Видео 1:21:10 У них аппаратка DELL –а стояла, все было хорошо.
Мнение. При монтаже пропал фрагмент видео.

Видео 1:24:30 Виртуализация должна иметь стык для работы с антивирусом
Мнение. Broadcom очень давно, если не всегда, писал что:

It is not recommended to install antivirus software directly on the VMware vCenter Server Appliance (VCSA) due to potential performance issues
Unfortunately for defenders, ESXi hosts themselves do not currently support natively run EDR (endpoint detection and response). Best security practices for ESXi environments


То есть для провайдеров были решения на уровне интеграции модулей, но это не привычный антивирус.
А уж сколько люди поели с vGate.

По поводу Microsoft процитирую:

You have just deployed Hyper-V and the (in)security officer has decided that the standard edict of “all files and processes must be scanned because Windows is insecure” must be applied. Here’s my advice: Get that in writing. No, better: Get that written in their own blood, with your boss, your boss’s boss, and the (in)security officer’s boss as witnesses. Antivirus on a Hyper-V Host: Do You Need It?

Видео 1:27:00 Совместимость с системами хранения данных
Мнение. НАКОНЕЦ ТО дошли до озвучивания проблем с HCL. Спустя полтора часа.

Итого.
Видео 1:30:00. С тремя перерывами и двумя перекурами я дотащился до отметки 1:30 из 2:15

На просмотр и пометки за полтора часа реального времени ушло три часа из жизни. При этом никакой особо полезной информации я не узнал.
Окей, в РФ есть еще одна платформа на KVM (из 50 похожих?), и обещают, что платформа не хуже Proxmox.
Окей, если бы у меня стояла задача импортозамещения, я бы и так в 2022 начал смотреть на рынок российского ПО. Но у меня такой задачи нет в принципе, а на Proxmox на текущей работе начали уходить еще в начале 2024, когда стало очевидно, что будут перемены с политикой Broadcom, и что давно пора снизить число лицензий на Microsoft.
Рассказ про Linux внутри ESXi (хотя ESXi никак не Linux) заставляет меня несколько скептически оценивать все остальные заявления.
Но, меня это все не касается никак, а с таким подходом к лицензированию nVidia пусть юристы разбираются.
Досматривать я это даже не буду.

Показать полностью
[моё] IT Опыт Windows Импортозамещение Microsoft Linux Текст Длиннопост
9
16
DmitriitheFals
Серия Унылое графоманство и ковыряние в носу

Ответ на пост «В России разработана собственная операционная система. С нуля!»⁠⁠5

3 месяца назад

Когда читаю СУН, всегда делаю ставки: в первом абзаце соврали, или во втором. На этот раз соврали во втором.

Текст, с которого начали очередное "соврамши" -

И что именно пользовательские ОС это самое последнее, что требует импортозамещения, просто потому, что никакие санкции не запретят вам скачать Винду с какого нибудь торрента

Как раз "импортозамещение" начали еще в далеком 2007 году с заявки на внедрение "гослинукса для рабочих станций" . Требует, не требует - начали с него.
Дистрибутивы Windows 11 и Windows server, и обновления к ним, можно скачать с сайта Microsoft. Без всяких торрентов.
Как раз скачивать с некоторых торрентов что угодно запрещено - только не санкциями "запада".
Автору не стыдно не знать ничего про вещи, про которые он пишет?

Но есть операционные системы действительно важные, от работы которых зависят, в том числе, и жизни людей. Внутри критически важного оборудования работают не Linux и тем более не Windows.

Внутри критически важного ракетного крейсера USS Yorktown (CG-48) типа Тикондерога c 1996 года работала Windows NT 4.0.
Встраиваемые Windows и Linux работают в медицинском оборудовании лет 30 для Windows и лет 20 для Linux. В том числе работает RTLinux, система реального времени.
В 2013 году:
Кейт Чувала (Keith Chuvala), руководитель United Space Alliance, организации, по контракту выполняющей обслуживание вычислительных операций Международной космической станции, принял решение перевести десятки ноутбуков, работающих на МКС, с Windows XP на Debian 6.

Linux используется в компьютерной инфраструктуре МКС с самого запуска станции в 1998 г., а также обеспечивает работу вычислительных систем центра управления полетами МКС в NASA.
Международная космическая станция перешла с Windows XP на Linux
Автору не стыдно не знать ничего про вещи, про которые он пишет?

Не говорю уже про возможные закладки, которые, грубо говоря, позволят супостату получать важную информацию, одной кнопкой выключить вам целый завод, или отправить в дрейф судно.

Для того, чтобы ОС могла что-то выключить, ей нужен доступ к получению этого сигнала "от кнопки". По странной случайности такие системы обычно в неограниченный интернет не ходят, и со спутниковыми приемниками не завязываются. Если в такие структуры не прокрались имитаторы безопасности.

Самое же смешное - тут

Система научилась работать с процессорными архитектурами PowerPC, ARM и ARM64.

Учитывая, что в исходном тексте жаловались, что старого PowerPC (не путать с OpenRISC ) не хватает, у некоторых несознательных граждан может возникнуть неудобный вопрос - что же там за центральный процессор стоит в импортозамещенном самолете, если система работает с PowerPC, ARM и ARM64.

Показать полностью
[моё] Импортозамещение Мс-21 Ростех Операционная система Длиннопост Российское производство Промышленность IT Windows Производство Автоматизация Ответ на пост Текст Волна постов
1
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Маркет Промокоды Пятерочка Промокоды Aroma Butik Промокоды Яндекс Путешествия Промокоды Яндекс Еда Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии