ServerAdmin.ru
28.6K subscribers
266 photos
34 videos
12 files
2.59K links
Авторская информация о системном администрировании.

Информация о рекламе: @srv_admin_reklama_bot
Автор: @zeroxzed

Второй канал: @srv_admin_live
Сайт: serveradmin.ru
Download Telegram
​​Практически ко всем заметкам с программами для восстановления данных были комментарии с упоминанием DMDE. Это платная программа, у которой есть бесплатная версия с несильно критичным ограничением - 4000 файлов за раз. Для восстановления случайно удалённых файлов это вообще не критично. Ограничение станет актуальным, если вы будете восстанавливать целый диск или раздел со всеми уничтоженными данными.

DMDE существует под все распространённые системы - Windows, MacOS, Linux (gui и cli версии). Она популярна и качественна, есть русская версия, да и сам автор русскоязычный - Дмитрий Сидоров. Для того, чтобы пользоваться, особо разбираться не надо. Всё интуитивно понятно, плюс в сети много руководств и видео на ютубе. Да и на самом сайте есть подробная инструкция на русском от автора.

 📌 Основные возможности программы:
портативный запуск без установки
поддержка ФС NTFS, FAT12/16, FAT32, exFAT, ReFS, Ext2/Ext3/Ext4, btrfs, HFS+/HFSX,
APFS
менеджер разделов с возможностью быстро восстановить удалённый или потерянный раздел
клонирование и создание образов системы с пропуском нечитаемых секторов

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

Сайт - https://dmde.ru

#restore
Бэкапы в S3

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

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

🟢 Restic. Простая и быстрая консольная программа, состоящая из одного бинарника. Как и Kopia, есть под все системы. В Debian можно из базовой репы поставить. Есть поддержка снепшотов и дедупликации. Отличное решение под автоматизацию на базе самописных скриптов.

🟢 Duplicati. Очень популярная программа. Тоже кроссплатформенная, есть cli и веб интерфейс. Поддерживает много бэкендов в качестве хранилища, типа Dropbox, OneDrive, Google Drive и т.д. Умеет делать инкрементные бэкапы, поддерживает дедупликацию. Функционально и архитектурно похожа на Kopia.

🟢 Duplicity. Программа только под Linux с управлением через cli. Работает на базе библиотеки librsync, как и rsync, а значит синхронизирует данные очень быстро. Плюс поддерживает работу с rsync сервером. То есть вы можете поднять привычный rsync сервер и с помощью Duplicity забирать с него данные. Это удобно и функционально. 

🟢 Rclone. Консольная программа под Linux. Она не совсем для бэкапов, а скорее просто для передачи данных. Я её использую, чтобы складывать в S3 уже подготовленные данные, например шифрованный дамп базы данных. Удобно использовать в своих скриптах.

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

Если знаете и используете ещё какие-то хорошие продукты по данной тематике, поделитесь информацией. А этот пост рекомендую забрать в закладки.

#backup #S3 #подборка
​​Знакомлю вас с необычным продуктом, аналогов которого я не видел. Речь пойдёт о веб панели для управления кластером 1С, причем не важно, где установленном, на Windows или Linux. У программы, на мой взгляд, не очень удачное название - Панель управления сервисами и компонентами (ПУСК). По нему совершенно не понятно, о чём идёт речь, плюс используется употребляемое в других значениях слово пуск.

Программа бесплатная, написана на Java. Внешний вид максимально приближённо копирует интерфейс штатной консоли для администрирования 1С. Для управления кластером используются стандартные возможности Сервера администрирования кластера (ras), который входит в поставку технологической платформы 1С:Предприятие 8.

С помощью ПУСК можно выполнять привычные действия:
управление кластерами 1С (на различных серверах, с различными версиями платформы 1С);
управление информационными базами 1С;
управление сеансами и блокировками;
управление рабочими процессами и серверами;
управление менеджерами кластера;
статистика использования лицензий.

Как я уже сказал, программа написана на Java, так что для запуска достаточно установить Java версии не ниже 17 и запустить jar файл. Ну и не забыть открыть на фаерволе 8080 порт. Дальше всё делается через браузер. Инструкция по установке есть в архиве с программой, в папке doc. Авторы программы русскоязычные, так что всё подробно описано.

❗️Программа пока находится в статусе беты. Идёт активная разработка. В ближайшем релизе ожидается доработка скриптов запуска, интерфейса, тёмная тема, возможно в этом, либо следующем релизе массовая обработка над информационными базами.

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

Сайт - https://it-expertise.ru/pusk/
Обсуждение - https://infostart.ru/public/1713088/

#1С
▶️ На прошлой неделе делал подборку бесплатных обучающих материалов и обратил внимание, что нет вообще ничего на тему Mikrotik. Ни разу не попадалось никаких курсов в свободном доступе по этой теме. Решил поискать в интернете специально, но так ничего похожего на какой-то целостный курс или набор материалов не увидел. Делюсь тем, что нашёл.

🟢 Официальный канал Mikrotik. Там очень много видео, так что найти что-то по настройке не так просто. Надо сразу перейти в плейлисты и выбрать MikroTips. Это как раз обучающие видео по конкретной настройке какого-то функционала. Там же есть плейлисты со всех MUM. Это хоть и не инструкции, но всё равно хороший и качественный материал по теории настройки.

🟢 Канал сертифицированного тренера Романа Козлова - Mikrotik Training. Этот канал мне уже знаком. Смотрел в прошлом несколько вебинаров по интересующим меня темам. Сразу вспомнил вот этот - Передача маршрутов удаленным VPN-клиентам. Автор востребованные темы рассматривает, подробно описывая настройку. Есть чему поучиться.

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

🟢 На англоязычном канале The Network Berg есть полный курс подготовки к MTCNA, который, кстати, тоже проходит на английском языке. Там же в плейлистах советую обратить внимание на лист MTCNA - EVE-NG Setup. Там рассказывается, как развернуть тестовую лабу с микротиками на EVE-NG.

🟢 Также нашёл репозиторий на Github, где представлены русскоязычные материалы по основным темам из MTCNA на русском языке в текстовом виде.

Больше чего-то более ли менее целостного и похожего на обучение по Микротик я не нашёл. Если у вас есть что-то на примете, то поделитесь информацией.

#обучение #mikrotik
​​Заметка немного не формат канала, но выходные самое время для этого. Почти у каждого дома есть системный блок. У меня их несколько. На Aliexpress вылезла в рекомендациях очень полезная штуковина для него. Я даже не знал, что они существуют. Идея и реализация на 5 баллов.

Китайцы предлагают выдвижной ящик для слота 5,25 системного блока. В полноразмерном системнике их обычно несколько, а так как сидиромы почти не используются, они скорее всего не заняты. Можно это место использовать под флешки, внешние харды, какие-то провода type-c, micro-usb, зарядки для фитнес браслетов и т.д. У меня сейчас под эти дела занят один из ящиков тумбочки рабочего стола.

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

Реализаций этих ящиков много. Если вам реально нужно, то, думаю, сами найдёте что-то подходящее. Искать по фразе Blank Drawer Rack 5.25. Вот пример.

#железо
​​HackTheBox - одна из самых известных онлайн площадок для практики в тестировании и взломе информационных систем. Использовать её можно бесплатно, но с некоторыми ограничениями, которые могут быть сняты платным тарифным планом. Это отличный инструмент для прокачки своих навыков. При этом не обязательно быть специалистом по информационной безопасности. Системному администратору крайне полезно в общих чертах представлять, как взламывают информационные системы.

Идея HackTheBox следующая. Вы выбираете одну из доступных виртуальных машин, которую можно взломать. Ориентируетесь на описание и уровень сложности. Далее с помощью VPN подключаетесь в подсеть с этой виртуальной машиной и пытаетесь её взломать. Никаких подсказок нет.

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

Вот пример прохождения одного из заданий, а вот ещё один, более приближённый к практике. Там наглядно показано, почему нужно закрывать доступ к софту (redis и webmin) и своевременно обновлять его. Также прохождение различных машин в режиме реального времени можно найти на youtube. Мне кажется, это очень хороший формат для самообразования, причём совершенно бесплатный. От вас требуется только упорство и старание.

Сайт - https://hackthebox.com

#обучение #security
​​Посмотрел выступление с митапа The Standoff Talks на тему использования Zabbix Server для взлома инфраструктуры - Абузим Zabbix заказчика, или Как бедолаге стать хозяином подконтрольных узлов.

https://youtu.be/ufSVRxdVNQU?t=9107

Если не хочется смотреть видео, то всё самое основное можно посмотреть в pdf презентации. Само выступление тем, кто хорошо знает Zabbix, будет не интересно, так как там подробно разбирается техническая часть - как всё устроено в Zabbix и как он работает.

В выступлении рассказывается, как имея частичный или полный доступ к веб интерфейсу Zabbix Server можно захватывать инфраструктуру, которая мониторится. Сразу скажу, что никаких катастрофических провалов в самом Zabbix Server в плане безопасности нет. Достаточно выполнять общие рекомендации по безопасности и всё будет в порядке.

⚡️ Основные векторы атаки:
Перехват учётных данных для доступа к веб интерфейсу.
Использование Zabbix API.
Использование функционала по запуску удалённых команд через zabbix-agent.
Использование ключей айтемов Zabbix, с помощью которых можно выполнять команды или собирать информацию с хостов: system.run, registry.data, system.hw.macaddr, wmi.get, vfs.file.exists, vfs.file.contents и т.д.

🛡 Основные рекомендации, которые помогут защититься от взлома (это мои соображения):
Если нет необходимости, не выставляйте веб интерфейс Zabbix в общий доступ.
Всегда используйте HTTPS соединение с веб интерфейсом.
Если нет большой нужды, не разрешайте выполнение удалённых команд через zabbix-agent. Я часто ими пользуюсь, удобный функционал.
Всегда настраивайте tls соединения между агентом и сервером.
Не запускайте zabbix-agent под root. Я иногда запускаю, но знаю, что это плохая практика.
Не сидите постоянно в веб интерфейсе под Super Admin и не раздавайте без необходимости эти права.
Внимательно следите за содержимым скриптов для удалённого выполнения, если ими пользуетесь. Это основной вектор атак.
Ограничивайте с помощью firewall доступ к серверу и агентам. Tcp порт 10051 сервера должен быть доступен только для агентов, а к портам 10050 агентов должен быть доступ только с сервера мониторинга.

Если следовать всем этим правилам, а это не так сложно, то проблем с безопасностью Zabbix Server вам не добавит.

#zabbix #security
​​Долгосрочное хранение метрик всегда было одной из слабых сторон Prometheus. Изначально он был спроектирован для оперативного мониторинга, не подразумевающего хранение истории метрик на срок более двух недель. Сохранить в нём тренды месячных или годовых интервалов было отдельной задачей с привлечением внешних хранилищ и инструментов.

Весной Grafana анонсировала своё решение под названием Grafana Mimir, которое способно максимально просто, быстро и дёшево решить вопрос с долгосрочным хранением метрик в том числе с помощью S3 совместимого хранилища. В самом простом варианте может на файловую систему складывать данные. Одним из основных преимуществ указывается возможность быстро и просто настроить горизонтально масштабируемый high availability кластер хранения.

Настроить всё это дело реально очень просто.
1️⃣ Поднимаете в Docker сервер Mimir, указав в его конфиге бэкенд для хранения данных. В самом простом случае это может быть локальная директория.
2️⃣  Указываете в Prometheus в качестве remote_write сервер с Mimir.
3️⃣ В веб панели Grafana добавляете сервер Mimir в качестве Prometheus data source.

Авторы Mimir называют её самой производительной TSDB для долговременного хранения метрик Prometheus. Насколько это правда, трудно судить. Вот пример их нагрузочных тестов. Авторы конкурирующего хранилища из VictoriaMetrics собрали свои стенды с обоими продуктами и протестировали их производительность. В результате оказалось, что Mimir более требовательна к памяти, больше нагружает процессор и больше расходует места хранилища, но имеет ниже задержку в 50-м перцентиле и выше в 99-м. По результатам теста почти по всем параметрам Mimir хуже, причем с кратной разницей, что немного странно.

Ниже ссылка на get started, где в самом начале представлено наглядное видео по настройке связки Prometheus + Grafana + Mimir + MinIO.

Сайт - https://grafana.com/oss/mimir/
Исходники - https://github.com/grafana/mimir
Get started - https://grafana.com/docs/mimir/v2.3.x/operators-guide/get-started/

#prometheus #grafana #devops #мониторинг
Каждый, кто администрировал компании с количеством сетевых устройств от 100 и более знает, что по мере роста локальной сети начинаются проблемы с сегментацией. Точнее проблемы начинаются, если сегментацию не делать. А вот как её правильно сделать, вопрос дискуссионный. Каждый исходя их своих условий начинает соображать, как ему лучше сделать.

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

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

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

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

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

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

https://github.com/sergiomarotco/Network-segmentation-cheat-sheet

#обучение #network
​​Неоднократно получал вопросы на тему современных S3 (Simple Storage Service) совместимых хранилищ. Для чего они нужны, почему такие популярные и чем лучше того же NFS или SMB?

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

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

Замечал, что некоторые люди путают и считают, что когда речь идёт о S3 хранилище данных, подразумевается объектное хранилище Amazon S3. Да, Amazon придумал и внедрил подобное хранилище, оснастив его S3 RESTful API. Сейчас появилось огромное количество продуктов и сервисов, которые на 100% поддерживают S3 API. Именно их и называют S3 хранилищами. Можно выбирать на любой вкус и кошелёк. Практически у всех крупных провайдеров есть подобный сервис.

Преимущества объектного хранилища S3 (Object storage S3):
🟢 Возможность быстро обратиться к файлу по его идентификатору, получить его метаданные. При этом в бэкенде у хранилища может быть всё, что угодно, API запросов будет везде одинаковый.
🟢 Удобные для провайдера возможности тарификации в зависимости от активности клиентов. Это позволяет клиентам получать необходимый объём, линейно его изменяя, и платить только за потребляемые ресурсы: объём, трафик, количество запросов.
🟢 Данные могут храниться в отдельных контейнерах со своими настройками доступа, хранения, производительности и т.д. То есть их удобно структурировать и разделять информацию по различным типам.
🟢 Все объекты хранилища располагаются в плоском адресном пространстве, без иерархии, которая присутствует в обычной файловой системе. Это упрощает доступ и работу с файлами. Нет проблем с ограничением на длину пути к файлу или с именем файла.

Минусы:
🟠 Больше накладных расходов на хранение информации.
🟠 Ниже скорость работы с файлами по сравнению с блочными хранилищами.

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

❗️Нужно хорошо понимать, что S3 это не про скорость доступа, а про объём и унификацию.

Расписал всё своими словами. Надеюсь понятно объяснил. На практике S3 лучше всего подходит под хранение статических файлов больших сайтов, архивов видеонаблюдения, логов, бэкапов. Конкретно я именно для холодных бэкапов их использую. Обычно это бэкапы бэкапов, копируются с помощью rclone.

#s3
​​Давно не было заметок про чаты. Одно время обозревал все наиболее известные бесплатные решения с возможностью установки своего сервера. Посмотреть их можно по тэгу #chat.

Сегодня расскажу про ещё один бесплатный чат-сервер и клиент, который попробовал сам. Речь пойдёт про SimpleX Chat. Своими словами об особенностях, на которые я лично обратил внимание:

возможность использовать свой сервер на Linux для соединения клиентов;
возможность установить консольный клиент на Linux, общаться и передавать файлы на клиенты других платформ (MacOS, Windows, Android, iOS), десктопные клиенты только консольные;
чат полностью независим от каких-либо внешних компонентов или сервисов, для регистрации и общения не нужно ничего указывать;
можно совершать аудио и видео звонки;
сообщения хранятся только на стороне пользователя.

🛡 SimpleX позиционирует себя как очень защищённая, приватная платформа для общения с двойным E2E шифрованием (End-to-End Encryption) всей передаваемой информацией. С учётом того, что можно использовать open source клиенты и серверы, скорее всего это так и есть.

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

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

На практике я не знаю, кому может пригодиться подобная секретность или анонимность. Но параноиков сейчас масса, так что проект активно развивается, регулярно выходят обновления. Клиенты написаны на Haskell, Swift и Kotlin. Ещё раз отмечу, что десктопные клиенты только консольные. Подозреваю, что это временно, так как протокол общения открытый. Сервер можно развернуть из готовых шаблонов VM у крупных хостеров, например Linode или DigitalOcean.

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

Сайт - https://simplex.chat
Исходники клиента - https://github.com/simplex-chat/simplex-chat
Исходники сервера - https://github.com/simplex-chat/simplexmq

#chat
​​Надо оживить рубрику с однострочниками на bash. Раньше регулярно публиковал, так как вижу очень большой отклик на подобные заметки. Да я и сам их люблю. С удовольствием читаю у других и забираю к себе в закладки то, что посчитаю полезным. У меня большая структурированная коллекция bash команд, разбитая по темам и приложениям. Пополняется уже лет 15. Складываю туда только то, что реально использую, а не всё подряд. Иначе смысл теряется. Рекомендую поступать так же.

Работа с файлами и директориями

📌 Создание сразу нескольких директорий dir1, dir2, dir3:
# mkdir -p -v /home/user/{dir1,dir2,dir3}
То же самое, только с файлами. Создаём 3 файла:
# touch file0{1,2,3}
Переименовываем файл:
# mv file.{old,new}
Удобный приём с оператором { }, можно использовать в различных командах.

📌 Смотрим файл конфигурации без комментариев (начинаются с ; или #) и пустых (^$) строк:
# grep -E -v '^;|^#|^$' /etc/php.ini
Этим постоянно приходится пользоваться, особенно в конфигах php, asterisk, postgresql.

📌 Удаляем комментарии и пустые строки и записываем чистый конфиг в новый файл:
# sed '/^;\|^$\|^#/d' php.ini > php.ini.clean

Изменение параметра в конфиге post_max_size на новое значение:
# sed -i 's/^post_max_size =.*/post_max_size = 16M/g' php.ini
Сначала запустите команду без ключа -i и проверьте результат. Файл не изменится.

📌 Сравниваем содержимое файлов двух директорий с выводом результата в файл:
# diff -Naur /var/www/site.ru/ /mnt/backup/site.ru/ > ~/site.diff
Удобно для поиска изменений в файлах сайта после взлома. Сравниваете с бэкапом и сразу все изменения перед глазами.

📌 Считаем размер всех файлов определённого типа в директории.
# i=0; for n in $(find /mnt/files -type f -name '*.iso' -print \
| xargs stat --printf "%s "); do ((i+=n)); done; echo $i
Результат будет в байтах.

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

#bash
​​Очень простой и быстрый способ передать файлы с Linux сервера в любое другое место. Если никогда не слышали о нём, то наверняка оцените и заберёте в закладки. Всё, что нужно, это Python, который есть по умолчанию почти во всех дистрибутивах.

# cd /var/log
# python3 -m http.server 8181

Идёте по адресу http://10.20.1.43:8181 и скачиваете нужные вам файлы. Потом возвращаетесь в консоль и завершаете работу временного веб сервера, нажатием Ctrl+C. Все обращения к веб серверу вы увидите в логе прямо в консоли.

Если у вас Windows и WSL, то тоже сработает. Таким образом передать файлы даже проще, чем по smb через расшаренную папку. Дома вообще красота перекинуть что-то жене или детям со своего ноута. Не надо ничего копировать и объяснять, достаточно прямую ссылку на файл скинуть.

#webserver
​​Для просмотра информации об устройствах хранения в Linux можно использовать утилиту lsblk (list block devices). Она обычно есть в составе дистрибутива, так что многие её знают и используют.

Я именно её запускаю, когда нужно быстро посмотреть информацию о дисках. Простой запуск без параметров позволяет наглядно увидеть структуру разделов:
# lsblk 

Это не всегда достаточная информация. Очень часто хочется увидеть uuid диска или файловую систему. Особенно когда редактируется fstab. Это можно сделать с помощью других программ - blkid и mount. Через mount файловую систему смотреть неудобно, особенно если речь идёт о корне /. Там длинный вывод получается, который неудобно грепать. Проще воспользоваться lsblk с дополнительным ключом:
# lsblk -f
На выходе всё тот же структурированный вид, а не сплошной поток, как у blkid или mount.

Lsblk может выводить дополнительные столбцы с информацией. К примеру, вы можете посмотреть модель устройства (MODEL), серийный номер (SERIAL), размер сектора (PHY-SEC) и т.д. Ключ --help покажет все эти параметры.
# lsblk -o +FSTYPE,UUID,MODEL,SERIAL

Lsblk умеет выводить информацию в json, что вкупе с информацией выше делает его удобным инструментом для сбора информации о дисках с помощью какого-то мониторинга или инвентаризации:
# lsblk -o +FSTYPE,UUID,MODEL,SERIAL -J
Обращаю внимание, что этот ключ появился не так давно и в старых версиях его нет.

Если у вас много устройств хранения, используется lvm с кучей логических томов, что обычное дело для хостов гипервизоров, вывод lsblk будет очень длинный. Удобно его ограничить только необходимым устройством или списком:
# lsblk /dev/sda /dev/sdb

По умолчанию вывод форматируется с помощью ASCII символов. Если вам это не нужно или мешает для того, чтобы удобно грепнуть или выделить столбец через awk, можно изменить вывод в обычный список:
# lsblk -l

И ещё один полезный ключ, который наверняка пригодится -p. С ним lsblk выводит полный путь устройства. То есть в выводе будет не просто имя lvm тома pve-vm--103--disk--1, а /dev/mapper/pve-vm--103--disk--1.
# lsblk -p

#linux #bash
​​Обратил внимание, что на канале не было ни одной заметки про Nextcloud. Когда продукт известный, кажется, что нет смысла о нём писать. И так все знают. Хотя это далеко не факт. Постараюсь кратко и ёмко описать его своими словами.

Изначально Nextcloud позиционировал себя как бесплатная Open Source замена облачным сервисам по хранению файлов типа Dropbox и Google Drive. Его можно установить на свой сервер, на конечные устройства поставить агенты, которые будут синхронизировать файлы. Не знаю достоверно, насколько надежно в этом плане сейчас работает Nextcloud, но первое время у него были всевозможные баги вплоть до потери всех файлов. Знакомый лично рассказывал, как столкнулся с этим после какого-то обновления. Заторможенная или зависшая синхронизация были обычным делом.

В настоящий момент Nextcloud это не просто сервер для хранения документов. Это полноценная веб платформа для совместной работы. Основной функционал:

Совместная работа с документами, в том числе их редактирование онлайн, работает на базе известных платформ для этого (Collabora Online, Onlyoffice).
Чат сервер с голосовыми и видеозвонками на базе NextCloud Talk.
Управление проектами, задачами, календарями, совместная работа с ними.
Встроенный в веб интерфейс imap клиент для работы с почтой. Встроенного почтового сервера в Nextcloud нет.
Поддержка аутентификации пользователей через LDAP (в том числе Windows AD).
Доступ к файлам пользователя через клиент, веб браузер, WebDAV
Интеграция с Draw.io для рисования схем.
Возможность подключить внешние хранилища: FTP, WebDAV, Nextcloud, SFTP, S3, Dropbox, Google Drive.

Функционал Nextcloud расширяется за счёт дополнений, которые живут во встроенном App Store. Чего там только нет: различные темы, календари, редакторы, чаты, веб сервера, игры, интеграции с другими сервисами и т.д. На глазок их там штук 200-300. Сделано примерно так же, как в Synology.

Если я правильно понимаю, на сегодняшний день Nextcloud - лучшее бесплатное решение для подобного функционала. Если коротко и в современных терминах, то это Groupware с прокачанной функцией хранения файлов. Из аналогов мне известны:

Onlyoffice Workspace. Наиболее развитый с активной разработкой. Но у него существенные ограничения бесплатной версии.
Zimbra. Бесплатная версия доживает свои дни. Новые версии пока не предвидятся. Хотя исходники открыты, но никто не взялся за то, чтобы собирать из них готовый продукт.
Kopano. Разработка бесплатной версии тоже завершилась в 2021 году.
Univention Corporate Server (UCS). Похож на Nextcloud, но выглядит более бледно и не так функционально. На первый взгляд удобство и функционал значительно ниже.

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

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

Сайт - https://nextcloud.com
Исходники - https://github.com/nextcloud

#docs #fileserver
​​🎓 У меня для вас два хороших бесплатных курса на английском языке по Devops: Docker и Kubernetes.

https://devopswithdocker.com
https://devopswithkubernetes.com

Если я правильно понял, то это онлайн версии обучающих курсов финского университета University of Helsinki.

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

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

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

#обучение #бесплатно #devops
​​Системным администраторам офисной инфраструктуры приходится работать в том числе с системами видеонаблюдения. Хотя конкретно мне давно не доводилось этим заниматься на работе, но видеонаблюдение настигло меня у себя дома. Когда вешал камеры, очень пригодилось простое и бесплатное Open Source приложение для просмотра RTSP потока с камеры - Cams.

https://github.com/vladpen/cams

Скачать APK можно как из репозитория, так и поставить через магазин F-Droid. В программе ничего лишнего. Добавляем url потока и смотрим картинку через приложение. Удобно в первую очередь для того, чтобы настроить положение камеры. Без этой программы я обычно с ноутбуком подходил к камере или просил кого-то подойти, и крутил её туда-сюда, настраивая вид.

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

Долго выбирал, какие камеры купить в загородный дом и как вообще всё организовать. Я далёк от этой темы. В итоге пошёл по простому пути. Купил камеры Hikvision. На старый системник с Windows установил их бесплатный софт для просмотра и хранения архива. На этом и остановился. Вопрос с удалённой отправкой картинки куда-то во вне пока не решал, но надо будет заняться. Пока всё хранится только локально. Поймал себя на мысли, что мне не хочется городить свои костыли, а хочется купить какой-то готовый сервис. Наверное так выглядит админская старость 😃

#разное
​​Летом известная многим компания Zachtronics выпустила свою последнюю игру Last Call BBS. Прославилась она своими головоломками для технарей, которые имели очень качественную проработку, анимацию, музыку. Они были лучшие в этом жанре. Знаю много их игр, писал про наиболее интересные:

- SHENZHEN I/O
- Opus Magnum
- SpaceChem
- TIS-100
- EXAPUNKS

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

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

Возвращаясь к Last Call BBS, это игра эпохи начала 90-х, когда владельцы ПК звонили на BBS и таким образом обменивались контентом. Игра имитирует работу за вымышленным ретро компьютером Z5 Powerlance. Вам предлагается пройти 8 мини игр на нём.

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

Steam - https://store.steampowered.com/app/1511780/Last_Call_BBS/
Промо игры - https://www.youtube.com/watch?v=EdU-ABucIjk

#игра
Хочу с вами посоветоваться по поводу решения одной задачи на тему Mikrotik и его мониторинга. Решение уже придумал и на стенде реализовал. Но может вы посоветуете что-то другое, что мне просто в голову не пришло.

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

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

Все логи Микротиков улетают на централизованный Syslog сервер, где стоит Zabbix. Он парсит лог и при обнаружении определённой строки в логе, которую пишет скрипт, понимает, что канал переключился. Триггер висит активным всё время, пока канал резервный. При переключении обратно триггер гаснет. Минус тут один. Так как лог парсит Zabbix Server, сработанный триггер висит на нём. Все Микротики добавлены на GEO карту, их неплохо было бы подсветить красным, когда нет основного интернета, но в данном случае не знаю, как это сделать.

Долго думал над тем, как реализовать проверку наличия интернета на каналах. Самое простое, что приходит в голову - пинговать внешние IP адреса. Почти на всех каналах они есть. Но показалось не очень надёжным решением. Иногда используются LTE модемы, где пинги извне заблокированы и это не настраивается. Иногда внешнего IP нет.

В итоге тоже реализовал скриптом. Просто раз в минуту запускаю скрипт с пингом публичных DNS адресов Яндекса через разные интерфейсы разных провайдеров. Результат пишу в лог, который улетает на сервер и там анализируется Zabbix.

Собрал всё это на стенде, погонял. Работает надёжно и стабильно. Меня ещё просили настроить мониторинг канала в интернет, так как бывает, что LTE сигнал через какое-то время очень сильно ухудшается. Когда происходит на него переключение, работать нереально. Тоже долго думал над этой задачей. Опять же, можно реализовать скриптом, но нужен какой-то один публичный Микротик, где будет запущен его встроенный сервер теста скорости. К нему можно подключаться скриптом, результат выводить в лог и анализировать. Других вариантов в голову не приходит.

#mikrotik #zabbix
Делюсь с вами простым и эффективным трюком в Asterisk, который позволит наблюдать за тем или иным направлением звонков. Реализация может быть разная в зависимости от структуры диалплана используемого решения и модуля sip или pjsip.

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

exten => _810XX.,1,System(echo "To" ${EXTEN} "Ext" ${CALLERID(num)} \
| mail -s "8-10 ALARM" admin@firma.ru)

Когда кто-то наберёт номер с маской 810 и т.д. в почту сразу же прилетит уведомление о том, кто звонит и куда конкретно. Дальше в диалплане можно разрешить этот звонок, либо отклонить и что-то сказать пользователю. Не суть. Смысл в том, что Asterisk может сразу же сам отправить email. Это удобно, когда нет какого-то расширенного мониторинга с уведомлениями.

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

#asterisk