Записки IT специалиста
7.97K subscribers
1.56K photos
50 videos
15 files
2.23K links
IT-канал, просто о сложном
https://interface31.ru

Купить рекламу:
https://telega.in/c/interface31
加入频道
​​Веселые картинки

Сегодня в обсуждения один из читателей притащил ссылку на «хороший материал по сегментации» со ссылкой на многим известный репозиторий на гитхабе: https://github.com/sergiomarotco/Network-segmentation-cheat-sheet

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

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

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

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

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

Но все можно было сделать гораздо проще, убрать все эти ненужные подробности и связи, оставив только самые широкие мазки: вот у нас продуктовые сервера, вот поддержка продуктовой части, вот пользовательская часть, вот поддержка пользовательской части, вот управление, вот сетевое оборудование, вот DMZ.

Ну и хорошую пояснительную записку, поясняющую что именно сделано, для чего и почему.

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

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

Знакомо? Чтобы отбиваться от монстров вам нужно все больше и больше стреляющих башен, но башни стоят ресурсов, их надо где-то строить, и монстры начинают сносить их на ура. Хочешь - не хочешь, а уровень придется повышать.

Причем складывается такое впечатление, что автор схем отринул реальность и занялся сегментацией ради сегментации. Уже на третьем уровне он вводит системы обнаружения инцидентов и реагирования на них, вскользь упомянув «что вам понадобится штат 10-20 человек безопасников».

Серьезно? Организации такого уровня, где риски ИБ выходят на уровень операционных рисков явно не будут искать схемы по гитам и на этом можно бы было закончить. Но фантазия автора устремляется только вперед.

Хотя для простого пользователя все эти многочисленные возникшие объекты с непонятными аббревиатурами ничем не будут отличаться от генератора маны, школы магов и чего там еще надо построить для того, чтобы башни начали стрелять электричеством.

Ну и последняя схема – просто апофеоз:

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

Отдельные рабочие станции для доступа к производственной сети – да, теперь у вас на рабочем столе будет 2 компьютера;


Да, именно к этому бизнес и стремился… И деньги на него, наверное, с неба падают.

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

В общем материал забавный, красивый. Но практической пользы – близко к нулю.
👍9😁9🤔2🤝1
Халява, кто первый успел - того и тапки.

Между прочим, номинальная стоимость продления домена .SITE - 3099 руб.

Но разве это может остановить любителя халявы?
😁19🥱4👍2😢1
​​IP-калькулятор в консоли

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

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

apt install ipcalc

Использовать его тоже очень просто, достаточно указать адрес и маску. Маску можно указывать всеми доступными вариантами:

ipcalc 192.168.2.52/24
ipcalc 192.168.2.52/255.255.255.0
ipcalc 192.168.2.52 255.255.255.0

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

ipcalc 192.168.2.52 /24 /22
ipcalc 192.168.2.52 /24 /25

Еще одна часто встречающаяся задача – нарезать некоторое адресное пространство на несколько подсетей с заданным количеством хостов. Все просто, указываем сеть или адрес нужной сети и перечисляем нужные пулы по количеству хостов:

ipcalc 10.8.8.1 -s 120 55 25

Результат можно посмотреть на картинке ниже. Калькулятор поделил сеть на несколько подсетей с наиболее подходящим количеством хостов.

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

Более редкая, но тоже нужная задача – деагрегация диапазона адресов. Это если нам нужно разложить некое адресное пространство на набор сетей. Задача не самая простая, но калькулятор успешно справляется и с ней, просто укажите диапазон адресов, остальное он все сделает сам.

ipcalc 10.8.8.125 – 10.9.2.251

Никакого заумного синтаксиса, никаких ключей. Все просто, понятно, наглядно. И не надо никаких онлайн сервисов, достаточно просто запустить терминал.
👍6211
​​Про успешный успех

Есть в наши дни такое развлечение: рассказывать про успешный успех. При этом хватает и рассказчиков, и слушателей.

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

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

При этом и те и другие порываются учить и редко делают это бесплатно.

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

Итак, что такое успех проекта и на основании каких показателей можно сделать такие выводы?

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

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

А вот следует ли считать проект, дошедший до финиша успешным – это большой вопрос.

С одной стороны, все формальные требования выполнены? Выполнены. Акты подписаны? Подписаны. Деньги получены? Получены. Ну так, наверное, все хорошо?

Наверное. И если рассматривать сугубо финансовую сторону вопроса. На самом деле для проекта все только начинается. Мы же не судим об успешности человека в момент его рождения? А почему для проекта должны быть исключения?

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

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

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

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

Как показывает наша практика, практически все успешные проекты развивались постепенно, по мере возникновения реальных проблем и их решения. В этом случае все изменения вносились органично и быстро врастали в бизнес-процессы предприятия, формируя некоторые внутренние стандарты.

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

Поэтому, когда мне рассказывают истории успешного успеха как за несколько месяцев автоматизировали с нуля чего-то там, то я могу сказать только одно – не верю. Либо на самом деле все было совсем не так.

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

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

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

Поэтому, слушая рассказы про успешный успех всегда помните, что это художественный жанр, а успешность любого проекта можно оценить только на достаточно большом временном отрезке. И основной критерий успеха – это практика. Если то, что вы сделали используют – значит проект успешен.
👍43🔥6👎3
​​Войти в айти

Был сегодня в гостях у знакомых и сразу, чуть ли не с порога первый вопрос – как сейчас лучше войти в айти. Ну да понятно, у них сын весной школу будет заканчивать и вопрос выбора будущей профессии стоит остро.

Посидел, попил чая, с будущим коллегой побеседовал и не увидел у него вообще ни желания, ни интереса, ни каких бы там ни было способностей к этому делу.

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

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

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

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

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

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

Государство понять можно, с нынешними темпами цифровизации и импортозамещения ему срочно нужны специалисты нижнего звена, в достаточном для их массового использования количестве.

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

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

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

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

А вот в госсекторе все по-иному, там можно годами ничего не делать, просто имитируя рабочий процесс и красиво отчитываясь наверх, плюс присутствуют достаточно специфичные взаимоотношения, которые лучше всего характеризуются поговоркой: «я начальник – ты дурак, ты начальник – я дурак».

Нормальные специалисты в госсектор не спешат. Частично из-за невысоких по отраслевым меркам зарплат, а частично из-за специфики рабочих отношений (скажем так). А кто и прибивается – так ненадолго, ну или в случае, если больше никуда не берут.

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

Хотя кто-то, возможно, и откроет в себе новые способности, но это будут именно штучные случаи. Аналогичный эффект даст и массовый приток молодежи на айти специальности. Появится обширный рынок молодых специалистов, хотя и невысокой квалификации.

А что это значит? А это значит, что уровень зарплаты в этом сегменте резко пойдет вниз, по-другому никак, если по рынку труда бегают стада молодых (и не очень) айтишников, желающих просто найти работу по специальности.

Повлияет ли это на уровень зарплат в отрасли в целом? Нет. Опытные специалисты как были, так и останутся востребованы. А вот существующий сейчас перекос, когда даже молодой и зеленый айтишник получает выше среднего – выправит.

А вообще история повторяется. В начале нулевых модно было быть юристом. И где сейчас все эти стада молодых юристов? А хороших что тогда, что сейчас приходится поискать и получают они более чем достойно.
👍41💯119👎4😁1
​​Управление сетевыми настройками в Linux

Последние годы Linux проделал большой путь унификации, во многом благодаря systemd. Теперь вам не нужно вспоминать приемы работы со службами и автозагрузкой в том или ином дистрибутиве. Все везде делается одинаково.

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

Debian использует службу networking, которая управляет сетевой конфигурацией через ifupdown, надо сказать – порядком устаревший.

RHEL и производные полагаются на службу network, использующую скрипты ifup и ifdown. В принципе то же самое, что и в Debian, только все по-другому.

Arch и основанное на нем семейство использует netctl собственной разработки, а если вы решите освоить ALT, то познакомитесь с еще одной системой – Etcnet.

Ну и Ubuntu тоже не остался в стороне со своим netplan.

От такого разнообразия разбегаются глаза и становится довольно тоскливо. Если вы редко работаете с тем или иным дистрибутивом, то для управления сетью вам придется заглядывать в справку.

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

Это systemd-networkd, как и весь systemd он очень прост и также строится на основе юнитов соответствующего типа.

В простейшем случае нам достаточно создать юнит с типом network и внести в него следующее содержимое:

[Match]
Name=ens33

[Network]
Address=10.8.8.100/24
Gateway=10.8.8.1
DNS=10.8.8.1


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

При этом его основной плюс – унификация, он будет работать везде, где есть systemd.

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

Почему? Потому что это наиболее универсально и перспективно. Вам не нужно учить разные сетевые менеджеры, достаточно просто знать systemd-networkd.

Также отдельно хотелось бы отметить netplan от Ubuntu. Это не самостоятельный сетевой менеджер, а фронтенд, поддерживающий systemd-networkd и NetworkManager.

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

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

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

Поэтому, глядя на существующий зоопарк технологий мы бы обратили внимание прежде всего на systemd-networkd – он есть везде, где есть systemd, прост, понятен и отлично работает.

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

Как и snap, netplan давно уже вышел за рамки мира Ubuntu и доступен практически в любом дистрибутиве, однако широкого распространения не имеет.
👍48
Какой сетевой менеджер вы считаете наиболее перспективным?
Anonymous Poll
15%
Debian networking
3%
RHEL network
1%
netctl
1%
Etcnet
20%
NetworkManager
25%
systemd-networkd
0%
netifrc
1%
Свой ответ в комментариях
34%
Ничего не понятно, но очень интересно
👍4
​​Проходной двор

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

Ситуация классическая, ноут еще не старый, на Intel N-серии, но с жестким диском в базовой комплектации, что означает – привет вечные тормоза. На плате обнаружился M.2 и я решил туда поставить 256 ГБ SSD, который раньше стоял в ноутбуке жены.

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

Ну и что тут такого? А то, что на этом месте работы жена уже более года не работает. И это не какой-то Торговый дом Рога и Копыта, а банк, не самый крупный, но и далеко не последней величины.

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

В отсутствие реальных инцидентов, связанных с безопасностью, вся система приходит в расслабленное состояние.

Начинается с малого – послабления в политике безопасности для привилегированных пользователей.

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

Ну и тревожить небожителей тоже лишний раз не хочется, поэтому политика смены паролей тоже не про них.

А дальше приехали партнеры, пошли в баню, там, естественно Wi-Fi и пароль на него вполне может совпадать с паролем от учетной записи в домене.

И вот у нас режим проходного двора во всей своей красе.

На некоторых объектах я сталкивался с ситуацией, когда в информационной системе годами присутствовала учетка типа test с простым паролем вроде 1q2w3e, которую мы использовали на стадии настройки и тестирования системы (и правами доменного администратора).

В других местах установленный нами тестовый пароль становился паролем по умолчанию. Местами доходило до смешного. Заказчик забыл пароль суперпользователя СУБД:

- Попробуйте что ли PaSSword-1
- Спасибо, подошло!!!

И, самое интересное, как-то живут годами, причем выставляя подобные сервисы за периметр.

Все что тут остается – это вспомнить про Неуловимого Джо, которого никто не ловит, потому что он никому не нужен.
👍35🔥11🫡31
​​Loginctl – управляем пользователями и сессиями

Сегодня мы расскажем еще об одной простой и удобной утилите из состава systemd – loginctl, которая предназначена для управления пользователями и сессиями.

Вообще-то утилита оперирует тремя типами объектов:

▫️session – сессия, каждая авторизация пользователя в системе, исключая sudo и su.

▫️user – пользователь системы, который может иметь одну или несколько сессий одновременно.

▫️seat – рабочее место, имеет актуальность только для терминальных сред.

Начнем с просмотра, чтобы увидеть все активные сессии введите:

loginctl list-sessions

или просто

loginctl

Для вывода всех выполнивших вход пользователей:

loginctl list-users

Для вывода текущего состояния пользователя или сессии выполните:

loginctl user-status <username>

или

loginctl session-status <ID>

Где вам потребуется указать имя пользователя или идентификатор сессии.

Вместе с информацией о сессии или пользователе вы также увидите дерево запущенных от его имени процессов.

Чтобы увидеть подробности конкретной сессии или пользователя следует использовать команды:

loginctl show-session <ID>
loginctl show-user <username>

Для завершения сессии можно использовать:

loginctl kill-session <ID>

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

loginctl kill-session <ID> --signal SIGKILL

В качестве альтернативы можно использовать:

loginctl terminate-session <ID>

В целом обе команды дают аналогичный результат, но terminate не позволяет явно указывать сигнал и для завершения процессов использует инструменты systemd, такие как StopUnit().

Если мы хотим завершить все сессии пользователя, то можно использовать:

loginctl kill-user <username>

или

loginctl terminate-user <username>

В графическом интерфейсе мы можем блокировать или разблокировать экран командами:

loginctl lock-session | unlock-session <id>

Также можем переключаться на нужную сессию:

loginctl activate <id>

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

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

loginctl enable-linger <username>

Чтобы отключить такое поведение:

loginctl disable-linger <username>

Как видим, systemd – это не только службы, но и обширный набор простых инструментов для полноценного управления вашей Linux-системы.
👍33🔥5
​​Используем спецсимвол ! в командной строке Linux

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

Поэтому попробуем заполнить этот пробел. Восклицательный знак используется для повторения команд и аргументов команд. В самом простейшем виде наберите:

!!

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

sudo !!

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

su -c “!!” postgres

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

 history


Посмотрите номер нужной команды и введите:

 !38


Что заново выполнит команду из истории под номером 38.

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

cat /home/andrey/123.txt /home/ivan/321.txt

Для ее повторения достаточно выполнить:

 !cat


или вообще



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

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

!cat /home/andrey/456.txt

Что будет эквивалентно

cat /home/andrey/123.txt /home/ivan/321.txt /home/andrey/456.txt

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

Для первого и последнего используйте !^ и !$

Так после выполнения последней команды мы можем указать:

 cat !^ !$


Что приведет к выполнению:

 cat /home/andrey/123.txt /home/andrey/456.txt


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

cat !cat:2

Будет аналогичен:

cat /home/andrey/456.txt

Обратите внимание, что к аргументам также относятся и ключи, поэтому если после запуска

cat -n /home/andrey/456.txt

Вы введете:

cat -n !^

То будет выполнен:

cat -n -n

без аргументов.
👍75🔥4
​​Как отключить автоматические обновления Windows бесплатно и без SMS

Одним из любимых занятий администраторов Windows является отключение автоматического обновления.

Мы сейчас не будем касаться обоснованности и реальной необходимости такого шага, а остановимся на том, как это делается.

А делается это, в лучшем случае, при помощи всяких сомнительных твиков и оптимизаторов, которые могут попутно и еще чего-нибудь отключить или «оптимизировать», в худшем случае берется г-сборка, где все это (и не только) уже заботливо вырезано.

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

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

Доступны два пути: через групповые политики или реестр. Через политики проще, поэтому мы рассмотрим именно их.

Открываем редактор политик (gpedit.msc) и переходим в Конфигурация компьютера – Административные шаблоны – Компоненты Windows – Центр обновления Windows и находим там следующие политики:

▫️ Не подключаться к расположениям Центра обновления Windows в Интернете – переводим в состояние Включено.

▫️ Запретить доступ для использования любых средств Центра обновления Windows – переводим в состояние Включено.

▫️ Указать размещение службы обновлений Майкрософт в интрасети – переводим в состояние Включено, во все три поля с адресами служб обновления в интрасети вводим “ “ (пробел, обрамленный кавычками).

Теперь переходим в Конфигурация пользователя – Административные шаблоны – Компоненты Windows – Центр обновления Windows

И находим политику:

▫️ Запретить использование любых средств Центра обновления Windows – которую переводим в состояние Включено, а значение политики устанавливаем в 0 – не отображать никакие уведомления.

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

Также все магазинные приложения не будут доступны и через WinGet (которые имеют источник msstore).

При этом, если какие-то обновления уже были скачаны на момент активации политик, то они будут установлены в обычном режиме.

Потому что мы по факту не выключили механизм обновлений, а просто запретили доступ к онлайн-ресурсам Windows Update перенаправив запросы на несуществующий сервер WSUS.

Источник: https://learn.microsoft.com/en-us/windows/privacy/manage-connections-from-windows-operating-system-components-to-microsoft-services#29-windows-update
👍38🤔4
​​Самодеятельность, совсем не художественная

На неделе консультировали одного заказчика. Ну как сказать, консультировали, посочувствовали только.

Небольшой бар, бильярд. И полностью с нуля написанная учетная система. Веб-приложение на PHP + MySQL, сервер и рабочие места под Linux, написано под конкретные задачи предприятия и полностью отражают все пожелания заказчика.

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

А торговля нынче у нас деятельность, требующая постоянного внимания и доработок. То ЕГАИС шагает по стране, то маркировка. Рано или поздно приходится вносить изменения в учетные системы.

И если до поры до времени от маркировки на кассе еще можно было как-то откосить, ссылаясь на то, что это бар, т.е. общепит и списывать марки оптом, на основании отчета о производстве за смену, то с разливным пивом такой фокус не прокатит.

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

И даже если предположить возможность разобраться и взять это на поддержку, то бюджет, скорее всего для заказчика окажется неподъемным. Потому что одно дело вкладывать деньги равномерно за два года, а другое – получить решение здесь и сейчас, потому как крайний срок – 15 января.

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

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

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

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

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

Хотите дорабатывать их под себя? Берите 1С, да на 1С многие ругаются, многое из сказанного справедливо, но именно 1С позволяет допилить то, что надо и поддерживать основные функции и реализовывать нововведения стандартными средствами 1С.

Нужна маркировка? Обновляем релиз, переносим доработки и у нас снова все хорошо. Плюс вы не завязаны на единого разработчика. Дорабатывать и поддерживать 1С могут многие.

И даже если у вас лютый самопис на платформе 1С вы всегда можете его достаточно малой кровью привести к современным требованиям используя БСП (Библиотека стандартных подсистем) и БПО (Библиотека подключаемого оборудования).

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

Поэтому мы советуем и заказчикам, и исполнителям сто раз подумать, а нужна ли им эта вся самодеятельность? Или проще пойти по пути адаптации и доработки тиражного решения.
👍38🤔52🔥1😁1
​​Зачем простому админу Git?

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

Но это мнение ошибочно, Git полезен не только разработчикам, но и всем, кто работает с данными, требующими контроль версий.

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

С его помощью можно фиксировать и хранить всю историю изменений, а также свободно переключаться между ними, сравнивать и объединять версии.

Если вы работаете в Linux, то для этого есть отдельный пакет – etckeeper, который позволяет автоматизировать контроль и фиксацию изменений в конфигурационных файлах.

Для сетевого оборудования есть Oxidized – система управления конфигурациями сетевого оборудования, которая также использует Git для контроля изменений.

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

Прежде всего Git помогает учитывать все изменения, которые вы вносите в код. Чем чаще вы фиксируете изменения (делаете коммиты в терминах Git) – тем подробнее ваша история. В случае чего вы всегда можете вернуться назад и посмотреть, как было раньше.

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

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

При этом сам Git-репозиторий хранится локально, в той же папке что и исходный код проекта, что не спасет вас от случайного удаления или отказа оборудования.
Но никто не мешает вам подключить к своему проекту удаленный репозиторий и синхронизировать данные с ним. Это может быть как публичный сервис (Github, Gitlab и т.д.), так и собственный, развернутый на своей инфраструктуре.

Это не только позволяет хранить данные проекта на удалённом сервере, но и удобно работать с ними из любого места.

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

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

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

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

Ну и наконец, если ваш проект стал чем-то больше, чем скрипт на десяток-другой строк – это ветви.

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

Обнаружили баг в стабильной версии – переключились на нее и внесли исправление, потом снова переключились на ветвь разработки и продолжили работу над новой версией.

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

Также вы можете заводить отдельные ветви для каких-то отдельных изменений. Это позволяет тестировать варианты реализации новых возможностей, не ломая основной проект. Получилось – отлично, объединяем ветви. Нет – ну и ладно, потом, может быть, вернемся.
Таким образом Git полезен практически во всей повседневной деятельности администратора, даже не связанной с написанием кода.

При этом Git достаточно прост, имеет различные графические инструменты и прекрасно документирован.
👍373🔥3
​​Центр обновления Windows случайно переименовывает все принтеры в HP M101-M106

30 ноября стали поступать сообщения что у пользователей Windows 10 и Windows 11 стало автоматически устанавливаться приложение HP Smart, даже если в системе не было установлено ни одного принтера HP.

После чего у многих пользователей все установленные принтеры стали определяться и отображаться как HP LaserJet M101-M106, это затронуло даже стандартные принтеры, такие как Microsoft Print to PDF и XPS Document Writer.

Однако это влияет только на отображение принтера в интерфейсе Windows, фактическая функциональность принтера не затрагивается.

Каким образом это произошло? В конце ноября HP предоставила Microsoft обновленный набор метаданных, который используется для определения и отображения принтеров в операционной системе. Очевидно, что в данный набор закрались ошибки и это привело к тому, что все принтеры в системе стали идентифицироваться как HP.

Побочным явлением стала установка приложения HP Smart из Магазина Windows, так как система стала ошибочно считать, что установлен принтер HP.

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

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

Единственным и радикальным средством решения остается только полная переустановка системы. Сам набор метаданных судя по сообщениям разработчиков отозван и не затронутым проблемой системой в настоящий момент ничего не грозит.

Подробнее: https://www.windowslatest.com/2023/12/04/windows-update-accidentally-renames-all-printers-to-hp-m101-m106-on-windows-11-windows-10/
🤬6🤣5👍4🤡1🍌1
Затронула ли вас проблема HP M101-M106?
Anonymous Poll
6%
Да
56%
Нет
3%
Частично
35%
Посмотреть ответы
👍41