DeSoft.ru
236 subscribers
116 photos
10 videos
1 file
213 links
Авторский канал: ИТ, разработка, безопасность, администрирование.

Сайт: desoft.ru
Автор: @y_demin
Download Telegram
Пополню коллекцию систем для организации защищенных виртуальных сетей еще одним, вероятно, самым мощным opensource решением - OpenZiti.

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

💎 Ключевые особенности

🔻 Zero Trust сегментация сети
Каждый клиент в сети имеет свой идентификатор и сертификат доступа. Сертификаты используются для установления безопасных каналов связи, а также для прохождения этапов аутентификации и авторизации. Каждая попытка доступа начинается с проверки наличия прав на подключение к тому или иному ресурсу, что позволяет изолировать клиентские приложения и сервисы и настраивать политики индивидуально. Связь между компонентами сети Ziti также подлежит обязательной авторизации.
🔻 End-to-End шифрование
Каждое соединение зашифровано даже в случае, если ваши приложения или сервисы не использую защищенные протоколы сами по себе.
🔻 Гибкая настройка режимов доступа
- Прямой доступ приложения к приложению
- Доступ от хоста к хосту
- Доступ к приватной сети
🔻 Интеграция с внешними провайдерами доступа.
🔻 Сбор метрик системы, включая Prometheus и Grafana.
🔻 Для организации подключения можно использовать как готовые приложения под большинство систем, так называемые Tunnelers, так и SDK под популярные языки для интеграции защищенного взаимодействия прямо в собственное приложение.

🔎 Основные компоненты

▪️ Контроллер (Controller) - центральный пункт управления идентификационными данными пользователей, устройствами и узлами, отвечает за аутентификацию и авторизацию каждого соединения в сети.
▪️ Маршрутизаторы (Routers) - точки входа в сеть для клиентских подключений. Отвечают за передачу трафика между узлами, включают в себя функцию мониторинга для выбора оптимальной маршрутизации трафика.
▪️ Конечные клиенты (Edge clients) - программы на базе Ziti SDK (готовые клиенты или пакеты для собственной разработки), обеспечивающие безопасное подключение к сети.
▪️ BrowZer - набор дополнительных компонентов для доступа к защищенным ресурсам через веб-браузер без необходимости устанавливать специализированное клиентское приложение.

📚 QuickStart версия для ознакомления с работой платформы

✖️ Для быстрой настройки и запуска всех компонентов системы - QuickStarts.
✖️ Для детальной настройки каждого компоненты системы - отдельный набор гайдов.

Документация очень проработанная, поэтому сразу начну с варианта установки с помощью Docker.
➡️ Скачиваем compose и .env файлы с официального сайта
curl -so docker-compose.yaml https://get.openziti.io/dock/docker-compose.yml
curl -so .env https://get.openziti.io/dock/.env

➡️ В конфигурационном файле .env сразу можно указать пароль администратора (если оставить пустым, то он будет сгенерирован автоматически при первом запуске). Все остальные параметры по умолчанию.
ZITI_IMAGE=openziti/quickstart
ZITI_VERSION=latest
ZITI_USER=admin
ZITI_PWD=admin
ZITI_INTERFACE=0.0.0.0

➡️ Запускаем весь набор компонентов, включая ZAC (Ziti Admin Console) - веб панель администратора.
docker compose up -d

➡️ По адресу машины, где было развернуто решение, на порту 8443 будет доступна консоль.

▫️ В консоли администратора в разделе Identities создаем нового клиента специально под рабочую машину, с которой хотим подключиться. Забираем сформированный файл JWT.
▫️ На клиентскую машину ставим клиента (например, виндового) для проверки подключения.
▫️ ADD IDENTITY - With JWT
▫️ Подгружаем JWT файл и проверяем подключение нового устройства.
▫️ Аналогично поступаем и с другими клиентскими машинами, чтобы связать устройства в сеть через единый контроллер и дефолтные роутеры.

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

#vpn #openziti
👍6🔥3
🚜 Linux по четвергам


🌐 Диагностика сети

🔸 ss - Современная замена netstat
ss -tulpn | grep :80

-t: TCP
-u: UDP
-l: прослушивающие
-p: процессы
-n: численно

🔸 iftop - Мониторинг сетевого трафика на уровне интерфейсов
iftop -i eth0 -P -N

-i: интерфейс
-P: отображать порты
-N: не преобразовывать порты в сервисные имена

🔸 iperf3 - Тестирование производительности сети между двумя хостами
iperf3 -s                    # режим сервера
iperf3 -c server_ip -t 30 # клиентский тест на 30 секунд

-s: режим сервера
-c: режим клиента
-t: длительность теста

🔸 tcpdump - Захват и анализ сетевых пакетов в реальном времени
tcpdump -i eth0 -n host 192.168.1.1 and port 80

-i: интерфейс
-n: не разрешать имена
-w: записать в файл

🔸 mtr - Комбинирует ping и traceroute для непрерывной диагностики сети
mtr --report --report-cycles 100 google.com

--report: режим отчета
--no-dns: пропустить DNS разрешение

💡 Бонус
ss -i для подробной статистики интерфейсов или netstat -i для счетчиков пакетов.

#linuxthursday #linux #шпаргалка
👍8
В начале недели была подборка песочниц для безопасного запуска приложений, т.е. некий черный ящик, который, если обобщить, создаст окружение или создаст microVM и запустит требуемую программу. Для тех, кто хочет копнуть глубже - статья про запуск изолированных Linux-процессов, используя возможности ядра.

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


🔎 В основе следующие инструменты:
▪️ overlayFS - для создания слоев с возможностью записи
▪️ cgroups - для установки лимитов на ресурсы
▪️ namespaces - для изоляции окружения

🌐 Источник
📝 Ссылка на статью

#sandbox #security #полезное
👍5🔥1
📝 Changelog бота для мониторинга веб-ресурсов

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

Асинхронный запросы
Кэширование результатов
Индексы в бд для часто запрашиваемых полей
Автоматическая очистка неактивных пользователей (более 30 дней простоя)
Защита от спам-запросов от одного пользователя

⚒️ Дальнейшее развитие

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

🌐 Исходники на gitverse

#monitoring #проекты
👍4🔥2
🔥 Подборка утилит для безопасного удаления данных, стирания дисков и разделов под разные операционные и файловые системы.

🔹 dwipe - python инструмент под Linux с интерактивным режимом и выводом подробной информации об устройствах, разделах, скорости и времени выполнения операции.

🔹 nwipe - форк dwipe на C с поддержкой различных методов очистки, высокой скоростью обработки и возможностью одновременной обработки нескольких дисков. Ориентирован также на Linux.

🔹 ShredOS - загрузочный Linux образ на базе nwipe для стирания HDD / SSD / NVME с мониторингом температуры, отчетами и поддержкой ATA Secure Erase.

🔹 BleachBit - инструмент для очистки кэша, истории и свободного пространства, с опцией безопасного стирания файлов/дисков методом перезаписи. Поддержка Windows, Linux.

🔹 Lethe - кросс-платформенная утилита для стирания дисков с верификацией данных, поддержкой HDD/SSD (на SSD есть ограничения). Доступна для Windows, Linux, MacOS.

🔹 Eraser - Windows ориентированный инструмент для удаления данных со встроенным планировщиком задач.

🔹 WipeFreeSpace - программа под Linux / FreeBSD / MacOS с поддержкой разных режимов запуска, анализа и обработки блоков памяти.

#wipe #linux #windows #macos #полезное
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥1
Для продвинутых пользователей терминала, знатоков bash и просто любителей работы в консоли существует забавный проект - Suicide Linux. По сути это докер образ на базе Debian с преднастроенным .bashrc, который подменяет оригинальный файл в системе при запуске.

Suicide Linux воспринимает любую ошибку при вводе команд в консоли, как запрос на очистку жесткого диска (rm -rf /) 😄 Проверь насколько долго ты сможете пользоваться системой прежде, чем потеряешь все свои данные.

Для особо отважных предлагается примонтировать в докер раздел файловой системы хоста 😉
😁3👍2
👷 На сайте вышла очередная заметка про Golang

На этот раз затронута тема архитектуры проекта в Go. Предлагается организация сервисов с разделением на уровни ответственности, частично основываясь на принципах Clean Architecture, DDD и накопленного опыта из Go-сообщества.

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

#golang
👍6
🚜 Linux по четвергам


🔒 Управление правами доступа

🔻 chmod - Изменение прав доступа файлов в восьмеричной или символьной записи
chmod 755 script.sh          # rwxr-xr-x
chmod u+x,g-w,o-r file.txt # символьная запись

755: владелец полные, группа/остальные чтение+выполнение
u/g/o: пользователь/группа/остальные

🔻 chown - Изменение владельца файла и группы рекурсивно
chown -R user:group /path/to/directory

-R: рекурсивно
user:: изменить только пользователя
:group: изменить только группу

🔻 chgrp - Изменить группу-владельца для файла или каталога
chgrp -R my_group folder

-R: рекурсивно

🔻 umask - Установка прав доступа по умолчанию для создаваемых файлов
umask 022    # файлы: 644, каталоги: 755
umask -S # отображение в символьной форме


🔻 sudo -l - Список разрешенных sudo команд для текущего пользователя
sudo -l -U username    # проверка для конкретного пользователя

-l: список прав
-U: для определенного пользователя

💡 Несколько твиков

▫️ chmod --reference=file1.txt file2.txt для быстрого назначения прав одного файла на другой.
▫️ chown --reference=file1.txt file2.txt для быстрого назначения владельца одного файла на другой.
▫️ find / -perm -u+s -type f для поиска всех файлов с установленным SUID битом (потенциальные угрозы безопасности), начиная с корня файловой системы.

#linuxthursday #linux #шпаргалка
👍5🔥2
‼️ Начудил немного с ботом для мониторинга под вечер. В базе было несколько пользователей, видимо кто-то попал под баг вместе со мной.

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

🛠 Экстренно отловил и внес корректировки.

#monitoring #проекты #fail
👍6
📝 Changelog бота для мониторинга веб-ресурсов

Третья версия бота. Уже куда более приятная к использованию (не считая неотработанного бага 🫤) за счет автоматизации основной функциональности.

Автоматическая проверка списка адресов дважды в день.
Отчет в закрепе чата.
Вместо постоянной отправки новых сообщений бот редактирует закрепленный отчет, таким образом пользователь всегда видит актуальную информацию.
Уведомление на важные изменения в результатах проверки (просроченный / недоступный сертификат, скоро истекающий сертификат, восстановление ресурса после найденных ранее проблем). Уведомления улетают отдельными сообщениями.
Сбор внутренней статистики по базе на основе количества ресурсов, запросов, результатов проверок.

⚒️ Дальнейшие перспективы

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

🌐 Исходники на gitverse
🔭 Бот @monid_bot

#monitoring #проекты
🔥3👍1
💡 Собранное ранее в n8n решение задачи для генерации статей по youtube видео ([1], [2], [3]) работает только с извлеченными субтитрами.

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

📌 В контексте задачи подготовил подборку систем для автоматизированного анализа и обработки видео

🔥 VideoDB - opensource платформа, способная закрыть широкий перечень потребностей
▫️ Репа
▫️ Нода для n8n
▫️ Self hosted версия с подключением к разным провайдерам

🔹 AI Studio - студия от гугла с Gemini под капотом (просто в чате с Gemini анализ видео недоступен)

🔹 Готовый n8n workflow сборщика summary из видео с использование Gemini

🔹 memories.ai - платформа для анализа, обработки и сопровождения видео

🔹 twelvelabs.io - еще одна площадка с широкими возможностями анализа видео

#ai #n8n #automation #tools #полезное
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6👏1
🙈 Собирать заметки под разные платформы - та еще рутинная работа. Хочется охватить как можно больше основных каналов, однако, как начинаешь тратить на это дополнительные часы - все желание пропадает.

🦾 Но в арсенале же теперь есть система n8n! Поэтому следующей задачей для автоматизации будет переформатирование и постинг из Telegram, например, в ВК. Дальше больше, начну с одной платформы, а там по нарастающей, если результат будет стоить того.

#ai #n8n #automation
👍6👏1
🎉 Пару месяцев назад шумел ИИ-агент для разработки ChatGPT Codex - "убийца Claude Code" и все в этом духе. Codex и правда показывал результаты довольно внушительные, во многом опередив конкурента, судя по многочисленным разборам и тестам.

Отлично! Надо попробовать, может проект какой набросать с его помощью, думаю я. Как дошли руки - вижу новость - Anthropic выпустила Claude Code 2.0 - "убийцу убийц", всего 2-3 месяца и ответка прилетела🤷‍♂️. Изменения интересные и в vscode встроили полноценно (CHANGELOG).

А тут и Китай со своим DeepSeek старается не отставать. Поле битв так называемого ИИ не остывает ни на секунду. Глаза разбегаются. Когда-нибудь я обязательно соберу агентскую систему...

#ai #news
👍3
🎁 OpenAI Academy опубликовала 300+ промптов на все случаи жизни. В подборке как общие запросы, так и целевые, под разные профессии: руководители, специалисты по продажам, маркетологи, разработчики, инженеры, эйчары и прочее.

Забираем "best practice" для повседневной работы с чат-ботами на официальном сайте академии 🎉

#ai #полезное
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
🚜 Linux по четвергам


📊 Мониторинг системы и производительности

🔻 iotop - Мониторинг использования дискового I/O по процессам в реальном времени
iotop -o -d 2

-o: показывать только процессы с I/O
-d: задержка между обновлениями

🔻 vmstat - Отображение системной статистики (CPU, память, I/O)
vmstat 2 5    # интервалы 2 секунды, 5 раз

Показывает: процессы, память, swap, I/O, систему, статистику CPU

🔻 iostat - Мониторинг загрузки устройств системного I/O
iostat -x 1   # расширенная статистика каждую секунду

-x: расширенная статистика
-c: только CPU
-d: только устройства

🔻 sar - Сбор и отчет об активности системы
sar -u 1 3    # использование CPU, интервалы 1 секунда, 3 раза
sar -r # использование памяти

-u: CPU
-r: память
-n DEV: сетевая активность по интерфейсам
-f: чтение из файла
-S: файл подкачки

💡 Несколько твиков

watch -n 1 'free -h && echo && df -h && echo && uptime' для непрерывного мониторинга или dstat -cdngy для комплексной статистики системы в реальном времени.

#linuxthursday #linux #шпаргалка
👍4
Forwarded from infosec
Андрей Созыкин завершил основной раздел своего курса по компьютерным сетям и приступил к следующей части, которая будет посвящена теме защищенных сетевых протоколов. В новом разделе будут рассмотрены следующие протоколы:

TLS – Transport Layer Security;
HTTPS – HTTP Secure;
DNS-over-TLS, DNS-over-HTTPS;
DNSSEC – DNS Security Extensions.

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

Введение в курс;
Организация компьютерных сетей;
Терминология сетей;
Модель ISO OSI;
Модель и стек TCP/IP;
Стандартизация сетей;
Организация сетей TCP/IP;
Анализатор сети Wireshark;
Прикладной уровень;
Протокол HTTP;
HTTP в текстовом режиме;
Кэширование в HTTP;
HTTP в Wireshark;
HTTP API;
Практика по HTTP API;
HTTP API в Postman;
HTTP API в curl;
Система доменных имен DNS;
Протокол DNS;
Протокол DNS в Wireshark;
Типы записей DNS;
Типы записей DNS в Wireshark;
Утилиты DNS host и dig;
Итеративный и рекурсивный режимы DNS;
Транспортный уровень;
Протокол UDP;
Протокол UDP в Wireshark;
Протокол TCP;
Протокол TCP: скользящее окно;
Протокол TCP: установка соединения;
Утилиты TCPView, netstat и ss;
Протокол TCP: формат заголовка;
Протокол TCP в Wireshark;
Протокол TCP: управление потоком;
Протокол TCP: управление перегрузкой;
Интерфейс сокетов;
Практика по сокетам;
Протоколы, интерфейсы и сервисы.

Когда будет завершен раздел с описанием защищенных сетевых протоколов, то я обязательно опубликую эту информацию в канале. Либо можете самостоятельно отслеживать выход нового материала в этом плейлисте: https://www.youtube.com/playlist/seti

P.S. Не забывайте про мой репозиторий, в котором собрана подборка материала для изучения сетей (от курсов и книг, до шпаргалок и сообществ): https://github.com/SE-adm/Awesome-network

#Сети
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5👍2
Истек недавно срок регистрации одного домена. Ресурс был добавлен в бота для мониторинга. Смотрю актуальную проверку - срок истечения сертификата 65 дней. Причем тут сертификат? Он же автоматически перевыпускается раз в 3 месяца и не имеет никакого отношения к сроку регистрации домена...

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

🌐 Исходники на gitverse
🔭 Бот @monid_bot

#monitoring #проекты
👍4