После недавней публикации по поводу dmesg произошла забавная ситуация, которая меня повеселила. Решил поделиться с вами. В комментариях в VK один читатель справедливо заметил, что сейчас более уместно использовать другие инструменты. Привожу его комментарий дословно:
Вместо dmesg стоит использовать уже journactl.
У него есть опция -k для просмотра сообщений ядра, опция -p для указания уровня важности сообщений, --since, --until для указания диапазона времени. А время загрузки вроде по who -b можно глянуть.
Сказано всё по делу. Примечательно тут то, что journalctl написано с ошибкой. Позабавил меня этот момент, потому что я сам не люблю эту команду, и либо забываю, как правильно писать, либо пишу с ошибкой. В данном случае dmesg гораздо проще и удобнее.
Вообще, тема с длинными командами постепенно стала проникать в мир Linux вместе с systemd. Например, указание имени хоста:
# hostnamectl set-hostname srv-02
Настройка часового пояса:
# timedatectl set-timezone Europe/Moscow
В данных командах hostnamectl и timedatectl видятся как совершенно лишние слова. Понятно, что сделано это для привязки команд к функционалу systemd.
Старые команды более короткие и простые для запоминания и набора. Посмотреть время:
# date
или новое
# timedatectl
Выбрать и установить часовой пояс:
# tzselect
или
# timedatectl list-timezones# timedatectl set-timezone Europe/Moscow
Разница налицо. Особенно мне нравится команда ip своей простотой и краткостью. Посмотреть настройки сетевых адресов:
# ip address
или просто
# ip a
Могу пофантазировать, как то же самое могло бы выглядеть, если бы в systemd был аналог:
# ipaddrctl address-list
С приходом systemd мы постепенно стали лишаться простых и коротких команд. Точнее systemd их стала вытеснять.
#linux
▶️ Рекомендую вам к просмотру цикл роликов на тему собеседования Devops от Антона Павленко. Я их сам посмотрел, реально полезные. Подача, как обычно, специфическая, авторская. Но сама фактура заслуживает внимания.
◽ Вопросы и ответы по Linux
◽ Вопросы и ответы по сетям и протоколам
◽ Вопросы и ответы по DevOps
Автор в видео является соискателем, которому задают типовые вопросы из собеседований, а он на них отвечает. Я не могу сказать, что прямо что-то новое для себя узнал. Информация там базовая и специалистам с опытом скорее всего известна хотя бы в общих чертах. А если вы начинающий, то точно будет полезно. А уж если ищите работу, то тем более посмотрите.
Вообще, мне нравится этот канал. Я на него подписан и почти всё смотрю. Автор с энтузиазмом ведёт канал, старается снимать интересные ролики, даёт хорошую фактуру по IT. Так что советую подписаться.
#видео
Как протестировать безопасность сети с помощью Python? - Узнаем в понедельник!
⏰14 ноября в 20:00 на открытом уроке онлайн-курса «Network Security» в OTUS.
📚На занятии мы:
• Рассмотрим типовые атаки на сетевую инфраструктуру.
• Разберем основные библиотеки языка Python, позволяющие их реализовать.
• Поговорим про захват пакетов и низкоуровневый программный доступ к ним.
• Обсудим программный анализ результатов сканирования сети.
🔴Для комфортного участия нужно определить ваш уровень подготовки. Пройдите вступительный тест и подключайтесь: https://otus.pw/QcRDY/
#реклама
Решил освежить информацию по теме бесплатных чатов, которые можно развернуть на своих серверах. В ближайшее время будет несколько публикаций по этой теме. Напомню, что я ранее рассказывал про наиболее известные продукты:
◽ Zulip
◽ MyChat
◽ Mattermost
◽ Rocket.Chat
◽ Matrix + Element
◽ Delta Chat
◽ Jami
◽ SimpleX Chat
Некоторые из них я сам настраивал и внедрял. На мой взгляд, наиболее зрелые продукты, которые можно внедрить в организации - Zulip, Rocket.Chat, Mattermost. Matrix + Element тоже не плох, но есть шероховатости по качеству работы, как-будто немного сыровато, хотя за год может что-то и изменилось. Можно почитать комментарии к каждому чату.
Моё внимание привлёк проект Wire. Заявляется в СМИ, что это разработка бывших сотрудников Skype. На github представлены исходники всех клиентов и серверной части. На вид всё неплохо. Продукт довольно старый (с 2014 года), команда опытная, открыты исходники, можно поднять у себя.
Когда стал разбираться более подробно, приуныл. Во-первых, клиент, как у всех популярных чатов, на JavaScript. То есть привычный лагодром в перспективе, по мере роста чатов и истории. Во-вторых, открытые исходники сервера вроде как есть, но реально развернуть сервер и попробовать затруднительно.
В готовом к установке виде серверная часть представлена в виде helm чартов для установки в Kubernetes. Разработчики считают это наиболее подходящей средой для работы сервера. Если посмотреть на схему сервисов, то можно их понять. Сервер состоит из множества различных служб (более десятка: Cassandra, MinIO, ElasticSearch и т.д.). Кубер видится логичной инфраструктурой для его работы.
Есть возможность для теста поднять всё в Docker контейнерах на одном хосте, но придётся немного повозиться, собрать всё это, запустить и убедиться, что всё правильно стартовало. Я решил не тратить своё время на это.
Сервис чата Wire поставляется по подписке. Есть бесплатный тарифный план на 5 пользователей. У меня создалось впечатление, что исходники были выложены в основном для галочки. Я не очень представляю, кто готов будет решиться развернуть и поддерживать у себя такой масштабный проект без технической поддержки. Документация по продукту скудная и местами недоделанная.
Зарегистрировал бесплатный аккаунт и протестировал чат. Не нашёл там чего-то особенного, что выделяло бы его среди других и стоило таких заморочек с собственной установкой или покупкой подписки. Более популярных и именитых аналогов полно. Если есть кто-то, кто разворачивал Wire у себя или пользовался им, то поделитесь впечатлением.
⇨ Сайт / Исходники / Клиенты
#chat
В Linux существует удобный инструмент для просмотра сообщений ядра в виде команды dmesg. Думаю, про неё знают все или почти все администраторы Linux. Впервые с ней знакомишься, когда возникают какие-то проблемы на сервере, особенно после перезагрузки, когда что-то начинает работать не так или вообще не работать. Например, не определился сетевой адаптер или ещё какое-то устройство. В первую очередь захочется посмотреть в dmesg.
Я совсем недавно узнал, что если добавить параметр -T, то dmesg покажет время в человеческом формате. До этого даже как-то в голову не приходило изучать его возможности. Обычно ограничивалось всё либо grep, чтобы увидеть что-то конкретное, либо less, чтобы последовательно читать информацию. Теперь всегда добавляю этот ключ. Информация лучше воспринимается:
# dmesg -T
С помощью этого ключа легко узнать время загрузки системы. Понятно, что uptime можно посмотреть разными способами и прикинуть, когда сервер загружался, но с dmesg это сделать проще:
# dmesg -T | less
Первые строки покажут точное время и дату загрузки системы.
После загрузки системы быстро оценить наличие какой-то важной информации можно с помощью указания приоритета выводимых сообщений. Например, выведем уровни emerg,alert,crit,err,warn:
# dmesg -T --level=emerg,alert,crit,err,warn
Чаще всего warn тоже можно убрать, так как ничего критически важного там не будет.
Ещё бывает полезно вывести сообщения из пространства пользователя. Туда попадает информация от systemd, которая может быть полезной.
# dmesg -u
Можно быстро узнать тип виртуализации, на которой работает виртуальная машинa. Systemd её пишет в момент запуска. Пример для KVM:
# dmesg -u | grep virtualizationsystemd[1]: Detected virtualization kvm.
А вот для Hyper-V:
# dmesg -u | grep virtualizationsystemd[1]: Detected virtualization microsoft.
Ещё из часто используемых ключей можно отметить -H (human). Этот вывод заменяет less, добавляет раскраску цветами и вывод времени в виде нарастающей разницы со стартового значения. Я редко использую.
# dmesg -H
#linux #консоль
❗️Docker — самый популярный контейнеризатор, с которым нужно уметь работать каждому инженеру и разработчику.
⚡️Присоединяйтесь 17 ноября в 20:00 мск на бесплатный вебинар «Введение в Docker» от OTUS.
На вебинаре мы с вами изучим предпосылки к возникновению контейнеризации и познакомимся с устройством самого популярного контейнеризатора — Docker.
🔥 Регистрация на вебинар по ссылке:https://otus.pw/acKa
Вебинар является частью онлайн-курса «Инфраструктурная платформа на основе Kubernetes»
#реклама
Давно подыскиваю замену программе для хранения заметок. У меня сейчас это Joplin и она меня не устраивает. Я уже не раз писал, чем конкретно, не хочу повторяться. Узнал, что существует некая open source альтернатива популярного сервиса Notion. Сам им немного пользовался и постоянно вижу отзывы людей о том, что используют его. Мне он не понравился тем, что во-первых, это онлайн сервис, завязанный на внешнюю инфраструктуру, во-вторых, локальное приложение показалось тормозным. А по функционалу там всё хорошо, и выглядит симпатично.
Есть проект Appflowy, который позиционирует себя как бесплатный аналог Notion. Я его решил попробовать. Позиционирование как аналог, на деле выглядит странно, так как Appflowy это локальное приложение, доступное под Windows, MacOS, Linux, написанное на Rust и Flutter. Отсюда вытекает его серьезное преимущество - оно очень шустрое. Быстро запускается и сам интерфейс отзывчивый. Не похоже на типичные электроновские приложения.
Но в целом впечатление от программы так себе. Сразу скажу, что себе её не оставлю, так как есть серьёзные недостатки. Расскажу о плюсах и минусах, которые заметил.
🟠 Проект всё ещё в бете и есть некоторые помарки в работе. Например, я не вижу вертикального скрола справа в длинных документах. Мотаешь его и не понимаешь, где конец. Есть ещё небольшие помарки, не влияющие серьезно на работоспособность.
🟢 Внешний вид простой и приятный. Интерфейс понравился. Сразу видно, какой-то маковод его делал, так как видны признаки корней из этой системы.
🟠 Не нашёл возможности менять размер шрифта. При этом русский и английский шрифты имеют разную высоту. В одном документе это смотрится плохо.
🟢 Приложение портированное, база данных хранится локально, в директории приложения. Можно легко переносить или хранить где-то на сетевом или облачном диске. То есть это приложение для единоличного использования.
🟠 Почти нет никаких настроек. Можно выбрать только светлую или тёмную тему и язык. Это все настройки.
🟢 Хороший функционал по созданию и оформлению самих записей. Разработчики реально стараются воспроизвести возможности Notion. Получается в целом неплохо. Таблицы, листы задач, Канбан доски выглядят очень красиво. Это то, чего вообще нет в Joplin.
Итог такой. Приложение реально красивое и функциональное в плане оформления самих заметок. Есть куча всяких элементов в виде списков, чекбоксов, картинок, заголовок, таблиц и т.д. Выглядит всё это достойно. Программа не требует установки, быстро запускается и работает. Ресурсы не жрёт. Других аналогов Notion не существует.
При этом явно видно, что программа недоработана. Хотя стоит отметить, что разработка активно ведётся. Постоянно новые релизы выходят, а в разработке принимает участие много людей. У программы 30000 звёзд на гитхабе. Так что перспективы есть. Фундамент, мне кажется, неплохой сделали. Может что-то и выйдет интересное. Программа совсем молодая - первая бета вышла меньше года назад.
⇨ Сайт / Исходники
#заметки
Каждый раз, когда надо добавить нового пользователя в Linux, я начинаю вспоминать, какую команду для этого использовать. Выбирать приходится из adduser и useradd. Есть над чем задуматься 😁.
Ничего страшного не будет, если их перепутать, но тем не менее, работа этих команд отличается. Я регулярно путаю и потом исправляю.
📌 Adduser по своей сути готовый сценарий, который создаёт пользователя со всеми ранее заданными настройками, которые описаны в конфигурационном файле /etc/adduser.conf. Команда:
# adduser user01
создаст пользователя user01, домашнюю директорию, установит UID, GID, оболочку и некоторые другие параметры в соответствии с настройками из adduser.conf. В конце предложит установить пароль. Это наиболее простой и быстрый способ добавить реального пользователя.
📌 Useradd более низкоуровневая команда, которая без дополнительных параметров ничего делать не будет. Команда:
# useradd user02
создаст пользователя и группу user02 и всё. Даже пароль не предложит установить, если вы его явно не укажете. В качестве оболочки будет использоваться /bin/sh. В таком виде её удобнее всего использовать для создания служебных учётных записей и запуска каких-то сервисов от её имени.
Создание полноценного пользователя, который сможет зайти в систему, будет выглядеть примерно так:
# useradd -d /home/user03 -m -s /bin/bash user03# passwd user03
Мы явно указали домашнюю директорию и оболочку, а потом задали пароль. Adduser всё это сделал бы автоматически в интерактивном режиме. В данном случае указывать явно домашнюю директорию не обязательно, так как используется стандартное расположение. Она и без ключа -d была бы создана именно там. Но если вы хотите использовать другое расположение, то указать его можно через этот ключ.
Вы чем обычно пользователей создаёте? Я, как уже сказал, реальных пользователей через adduser, а служебные учётки через useradd. Например, учётку для какого-то отдельного сайта создаю с заданной домашней директорией, если кто-то по sftp подключаться будет, если нет, то без неё. Сразу добавляю её в группу с nginx или какую-то другую общую с веб сервером. Пароль не задаю, если не нужен.
#linux
🔐 Где хранить пароли компании?
Используйте Пассворк — единственный менеджер паролей в реестре российского ПО.
Пассворк создан для бизнеса и госкомпаний. Все данные хранятся на вашем сервере и не передаются в облако.
• Тонкая настройка прав доступа
• Отчеты о действиях каждого пользователя
• Поддержка LDAP / AD
• Авторизация с помощью SAML SSO
• Интеграция с помощью API
• История изменений паролей
Протестировать можно тут — passwork.ru
#реклама #password
У меня было немало заметок про различные VPN системы. При этом я ни разу не упоминал про OpenConnect, да и в комментариях редко про него кто вспомнит. А на деле это функциональная и простая Open Source система для организации VPN со своим сервером и клиентом с GUI под все популярные платформы.
Сразу отвечу на напрашивающийся вопрос, чем OpenConnect принципиально отличается от того же OpenVPN или WireGuard. OpenConnect относится к классу SSL VPN, хотя в наше время термин SSL уже устарел и логичнее было бы сказать TLS VPN. Смысл в том, что OpenConnect для шифрования использует стандартные TLS сертификаты, те же самые, что и современные web сервера. Таким образом, его трафик практически неотличим от HTTPS. Особенно если его запустить на 443 TCP порту. Это хорошее решение для обхода блокировок. Ближайшие аналоги с подобной реализацией шифрования - Microsoft SSTP и CISCO AnyConnect.
Сервер для OpenConnect - ocserv, доступен в стандартных репозиториях популярных Linux дистрибутивов. Так что с установкой и настройкой особых проблем нет. Все настройки по олдскулу в обычном конфигурационном файле. Для шифрования можно получить бесплатные сертификаты от Let's Encrypt или использовать самоподписные.
Аутентификация пользователей может быть настроена с помощью логина и пароля. Удобная особенность ocserv - всеми настройками пользователей можно управлять на сервере, в том числе заворачивание всего трафика в vpn туннель, передача маршрутов, dns серверов. Настройки не такие гибкие, как в OpenVPN, но тем не менее всё равно сделано удобно и функционально. Отмечу также, что в ocserv встроены настройки для защиты от брутфорса. Не нужно использовать сторонние решения. Он сам может по определённым правилам блокировать нежелательные подключения.
В качестве клиента может использоваться открытый OpenConnect GUI, либо проприетарный CISCO AnyConnect. Для пользователя всё максимально просто. Он запускает клиент, вводит имя сервера, логин и пароль. Даже инструкцию писать не надо.
Единственное, что я не могу прокомментировать, это что в OpenConnect с быстродействием. Например, Microsoft SSTP очень медленный. В этом я лично убеждался, когда настраивал и сравнивал на одном и том же железе. В целом, OpenConnect - современное, удобное как для администратора, так и для пользователя решение для организации VPN.
⇨ Сайт / Исходники
#vpn
Один читатель поделился со мной простым и бесплатным решением по конвертации почтовых ящиков из формата хранения Exchange (EDB) в обычные PST, когда сам Exchange по какой-то причине уже не работает. В свете последних событий с импортозамещением, мне кажется, это может быть полезной информацией.
Если поискать подобные конвертеры, то найдётся множество платных решений. Но есть и бесплатный способ. Можно взять бесплатный Veeam Backup & Replication Community Edition или триальную версию Veeam Backup & Replication. В его составе есть утилита Veeam Explorer for Microsoft Exchange, которая может открыть базу данных Exchange и выгрузить из неё отдельные ящики или директории с письмами в PST файлы.
Такой вот простой и неочевидный способ. Подробности в документации к утилите.
#exchange #windows
С чего начать осваивать DevOps практики?
Приходите 🗓 15 ноября в 20:00 на открытый урок «Основные и вспомогательные компоненты Kubernetes-кластера» в OTUS!
На занятии рассмотрим:
◽ Из каких основных и вспомогательных компонентов состоит Kubernetes-кластер?
◽ Как эти компоненты взаимодействуют между собой?
Занятие проведет 👨💻 Филипп Игнатенко, руководитель блока развития российской облачной платформы в компании Digital Energy (группа компаний Ростелеком).
👉 Пройдите вступительное тестирование, чтобы зарегистрироваться на мероприятие — https://vk.cc/cimAv7
Не упустите возможность оценить уровень программы онлайн-курса «DevOps практики и инструменты» и познакомиться с преподавателем.
#реклама
Делюсь с вами простым и бесплатным мониторингом, который можно использовать как внешний в дополнение к основному - ping.gl.
Включить мониторинг любого IP или сайта по доменному имени можно в консоли с помощью curl:
# curl ping.gl/[email protected]/https://serveradmin.ru
В ящик [email protected] придёт письмо с предложением активировать или удалить мониторинг сайта https://serveradmin.ru, который будет осуществляться с помощью простых icmp запросов. Интервал запросов - 10 секунд. Если 6 запросов были неудачны, то выполняется ещё одна двойная проверка со второго хоста. Если и там проверка будет неудачной, отправляется оповещение на email.
На каждый ящик можно активировать 10 проверок. Исходники сервиса доступны на github, так что вы можете запустить свою локальную копию подобного мониторинга. Он написан на go, в репозитории показан пример запуска.
Я проверил работу этого мониторинга. Он живой и вполне себе работоспособен.
⇨ Сайт / Исходники
#мониторинг
Расскажу, как организовал у себя в загородном доме видеонаблюдение. Я вообще не занимаюсь этой темой, не знаком с ней, так что разбираться пришлось почти с нуля. В итоге совершенно случайно получилось то, что устроило на 100%.
Купил сначала камеру HiWatch DS-I456, потом по ошибке пару HiWatch DS-I456Z. У последних есть оптический зум со встроенным моторчиком. Мне не надо было, но штука понравилось. Можно зумить ЖК экран электро котла и смотреть показатели.
Взял очень старый системник на Core 2 Quad с 4 Гб оперативной памяти. Установил туда ОС Windows и бесплатную программу iVMS-4200 от Hikvision. Это не самая свежая версия. Взял именно её, потому что она работает с бесплатным сервером для хранения видеоархива Storage Server 3.2 (Storage Server(V3.2.0.10_S).exe). Именно такая связка программ позволяет бесплатно смотреть и хранить архив. В более поздних версиях локальное хранение архива вынесено в отдельную платную опцию. Бесплатно можно только смотреть.
Купил обычный POE свитч, подключил к нему все камеры и компьютер. Настроил видеонаблюдение. Смотреть его можно было только локально. Подключил USB модем, купил для него симку Yota, настроил интернет. Расшарил с Windows интернет на камеры, на них настроил Hik-Connect. Это бесплатный сервис, который позволяет напрямую получить картинку с камеры через интернет.
С помощью Hik-Connect можно в режиме реального времени просматривать камеры со смартфона. Помимо этого вы можете на любое другое устройство установить iVMS-4200, залогиниться в Hik-Connect и просматривать добавленные туда камеры. А если установить тужа же Storage Server, то и записывать с них картинку.
Что имею в итоге:
1️⃣ Возможность локально смотреть и хранить записи с камер.
2️⃣ Просмотр камер через мобильное приложение.
3️⃣ Просмотр и запись камер в любом другом месте, где установлен iVMS-4200 и Storage Server. То есть хранение не только локальное, но и внешнее.
И всё это бесплатно. Я оплатил только камеры. Отдельно хочу отметить, что это временная схема. В доме не живу, видеонаблюдение нужно было быстро собрать минимальными усилиями, чтобы понимать, что происходит в бойлерной (вся инженерка запущена) и на самом участке.
#разное
Завершаю цикл заметок по развитию Telegram канала. На текущий момент это будет последняя запланированная запись, так как не знаю, о чём ещё можно рассказать по этой теме. Сегодня поговорим о статистике канала.
Я просматриваю статистику в двух местах:
1️⃣ Сервис tgstat.ru. Смотрю либо на сайте, если хочется что-то проанализировать за большие промежутки времени, либо в их боте, если хочется быстро оценить динамику.
2️⃣ Внутренняя статистика самого Telegram, которую может посмотреть владелец в информации о канале, но только через смартфон. Не понимаю такую дискриминацию десктопа. Я основную деятельность веду за компьютером. А уж анализировать статистику через смартфон совершенно неудобно.
В статистике Telegram канала есть несколько парадоксальных вещей, которые не ожидаешь. Чем чаще ты пишешь посты, тем больше у тебя будет отписок. В Telegram люди активно отписываются от каналов. Каждый ваш пост это всегда минус к подписчикам. Если притока новых людей нет, то от этого факта становится грустно. Особенно удивляются владельцы, которые давно не писали. К примеру, несколько месяцев. Первый пост приведёт к большому количеству отписок. Ты вроде стараешься, а люди уходят. Это нужно принять и как-то позаботиться о притоке читателей.
Второй момент - чем длиннее посты, тем хуже статистика просмотров и вовлечённости (ERR). А по просмотрам и вовлечённости рекламодатели оценивают каналы. Ниже какого-то порога (у каждого свой) каналы могут вообще не рассматривать, вне зависимости от числа подписчиков. У меня получается так, что статистика просмотров рекламы в среднем выше, чем самих постов. Реклама короткая, а мои посты длинные. Такой вот получается парадокс. Глядя на статистику, выходит, что рекламой интересуются больше, чем остальными постами. Конечно, в реальности это не так. Возможно, мне имеет смысл завести какую-то рубрику с короткими заметками, чтобы исправить этот перекос. Подумаю над этим.
Так что для хорошей статистики мне бы стоило писать посты короче. А я регулярно подбираюсь к лимиту Telegram в 4000 символов на пост, что наверняка случится и с этой заметкой. Хочется рассказать побольше и поподробнее, чтобы было больше пользы и смысла. С точки зрения статистики и дохода это тактика неэффективная. В этом можно убедиться, проанализировав любой крупный коммерческий канал, созданный для извлечения прибыли.
Ещё важный момент из моих наблюдений. Если публикуете много картинок в посте, то сильно проседает статистика просмотров и вовлечённости. Каждая картинка считается как отдельный пост. Получается, у вас разом куча публикаций в один момент, которая искажает среднюю статистику канала. По возможности так лучше не делать, если для вас важен доход.
В общем случае я наблюдаю за следующими метриками:
◽ Приток и отток подписчиков
◽ Число пересылок записей
◽ Средний просмотр поста за сутки и за месяц
◽ Процент подписчиков, которые читают канал
Статистика Telegram каналов по сравнению с сайтами похожа на какую-то детскую песочницу. И это, конечно, хорошо. Любой автор может начать что-то писать и добиваться хорошего результата, если у него есть к этому предрасположенность. Это значительно проще и быстрее, чем тот же классический сайт, где придётся учитывать в разы больше параметров и конкурировать с толпой матёрых сеошников. Соответственно и времени должно уйти гораздо больше для сопоставимого результата по охватам и доходу.
Но при этом, лично мне кажется, что лучшее время Telegram для авторов уже прошло. Появилось много каналов, у людей много подписок. Реклама размазалась по всем этим каналам. Читать, а не пролистывать заметки, стали гораздо реже. Я вообще отписался почти от всех каналов и перестал их читать. Сильно отвлекает и уходит много времени. В основном использую TG как инструмент для личных и рабочих переписок. Подобная история была когда-то с Livejournal, потом с VK. Пользоваться ими не перестали, но лучше времена у них уже прошли. Telegram, мне кажется, сейчас на пике, но дальше будет дорога вниз.
#развитие_канала
Со мной вчера история приключилась, которая навеяла воспоминания из студенческих времён, когда я только начинал осваивать свою профессию. Расскажу сначала саму историю, а потом техническую информацию, которая о ней напомнила.
💵 Свои первые деньги в качестве системного администратора я получил на 3-4-м курсе универа. Сейчас точно не помню. Дело было в студенческом общежитие, где одно из помещений сдавалось какой-то коммерческой фирме. Там работала бригада монтажников, делала ремонт. В том числе тянула СКС.
Все работы были закончены, завезли компьютеры, протянули интернет, всё включили в розетки. Интернет надо было настроить, никто не умел. Заказчик или прораб спросил меня, могу ли я настроить интернет в офисе. Я уточнил, что там имеется. Оказалось, есть выделенный канал, компьютер с Windows с двумя сетевухами. Надо настроить интернет на остальные несколько компьютеров в комнате. Судя по всему, кто-то ранее посоветовал такую конфигурацию, всё было закуплено, а настроить некому.
Я тогда уже знал, что винда умеет раздавать интернет с wan соединения в локальную сеть. Объяснил, что там пару кликов мышки только сделать, нафиг мне вообще идти. Попытался объяснить, как это сделать. На что человек ответил, что ему вообще не интересно всё это. Он готов заплатить мне денег, чтобы я пришёл и сделал. Я пришёл и все настроил за 5 минут.
Мне за это заплатили 500 р. Как сейчас помню, в то время сеанс в кинотеатре стоил 100 р., а разливное пиво там же 50 р. То есть на эти деньги я мог сходить в кино с друзьями и потом посидеть в баре. Это было очень круто. Самые лёгкие заработанные деньги на тот момент, а подрабатывать мне тогда уже доводилось разнорабочим. Тогда я проникся идеей, что знания могут приносить деньги значительно проще и быстрее.
❗️А теперь почему я об этом вспомнил. Надо было раздать доступ в интернет через Windows 10. Интернет приходил через USB LTE модем. Сделал как обычно через галочку в свойствах wan соединения: "Разрешить другим пользователям сети управлять общим доступом к подключению к Интернету". Всё сразу заработало, как и раньше.
Через какое-то время компьютер перезагрузили, интернет пропал. При этом галочка в свойствах соединения осталась. Всё проверил, настройки на месте, интернет не раздаёт. Подумал, что это из-за особенностей USB модема. Смотрел в эту сторону, но так ничего и не добился. Заметил, что если галочку убрать и поставить снова, то интернет появляется. Решил через поиск наугад поискать что-нибудь по этой теме.
Нашёл ссылку на сайте microsoft: ICS не работает после перезапуска компьютера или службы в Windows 10. Оказалось, что в Windows 10 общий доступ в интернет отключается после перезагрузки. Чтобы его включить надо:
1️⃣ Изменить тип запуска службы ICS (Общий доступ к подключению к Интернету) на автоматический.
2️⃣ Создать ключ в реестре: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\SharedAccess, тип - DWORD (32 бита), название - EnableRebootPersistConnection, значение - 1.
После этого общий доступ к интернету после перезагрузки пропадать не будет.
❓ Зачем сделали так, ума не приложу. Зачем общий доступ отключать после перезагрузки и не предупреждать об этом? А галка в свойствах соединения так и остаётся указанной, как-будто ничего не менялось.
Кстати, я это всё настраивал у себя в доме для временного видеонаблюдения с доступом через интернет для локального и удалённого хранения записей, а также просмотра через интернет. Получилось очень удобно, даже сам не ожидал. На днях расскажу всю схему.
#windows #разное
DevOps meetup online
1. Снижение частоты инцидентов и ущерба от них с помощью практик управления инцидентами - Владислав Карпенков — Lenvendo
Расскажу про применение технологии мониторинга Zabbix 6.0 для управления проблемами инфраструктуры и расчета премиальной части ЗП сотрудников.
2. Специфика DataOPS в компании Учи.ру - Сергей Поляков — Учи.ру.
DataOPS - автоматизация доставки и обработки данных с помощью современных инструментов. Построение CI/CD и использованием Spark, Airflow, Jupyterlab/hub, Terraform, Ansible.
➖➖➖
🗓 09 ноября, начало в 19:00 мск, Среда
🌐 ОНЛАЙН
✅ Регистрация на мероприятие
❗️ p.s. Темы заявлены очень любопытные, рекомендую обратить внимание. Планирую послушать доклады.
#реклама
❓ Некоторое время назад ко мне поступил вопрос, который заинтересовал, потому что сам думал над этим ранее. Ответа я не знаю, так что прокомментировать не смогу. Будет интересно услышать ваши советы.
Есть крупный сайт на php в стандартной сваязке mysql/nginx/memcache на Дебиан. И как обычно у всех проектов такого рода логины и пароли доступа к базе данных хранятся в самих php файлах конфигурации.Смотрю на другие php движки (wordpress, symfony), они не видят в этом проблему, но я вижу с точки зрения ИБ. Сам код сайта мало интересен хакеру, важнее данные в базе данных, логины, имейлы, платежи, транзакции и тд. Через вебшелл если хакер получил доступ к файлам сайта, также он и получил логины и пароли к базе.Отсюда 2 вопроса:1) возможно ли изолировать файлы конфигурации от приложения и захватившего его хакера?2) возможно ли изолировать персональные данные пользователей в БД тоже от приложения?)
У Bitrix тоже доступ к базе в открытом виде хранится, а там есть конфигурации, к примеру, для записи в медицинские учреждения. И всё это доступно через сайт. Люди при онлайн записи оставляют персональные данные, причём в большом количестве. Залив shell на сайт, можно получить доступ к БД и всем пользовательским данным.
Я понимаю, что это можно решить как-то архитектурно, если сервис пишется с нуля. А если он на популярных движках, типа Wordpress или Bitrix, есть какие-то варианты защитить доступ к базе? Мне что-то в голову ничего не приходит. По-моему это невозможно, потому что сайту нужен доступ к базе. Как его ограничить?
#вопрос_читателя