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

Сайт: desoft.ru
Автор: @y_demin
Download Telegram
🏠 Для вновь прибывших и тех, кто пропустил некоторые интересные публикации, собрал ТОП статей с сайта desoft.ru по количеству просмотров. Статьи частично или полностью дублируются в канал, а на сайте, как правило, только полные версии ввиду формата.

🎈 Реализация бота MiniDe для канала

▪️ Telegram бот для проверки ссылок в сообщениях

🎈 Про PostgreSQL кластер на базе Autobase

▪️ Часть 1

▪️ Часть 2

🎈 Про бэкапы с помощью restic

▪️ Организация файловых бэкапов с удаленным хранилищем с помощью restic

▪️ Проверка, очистка и восстановление данных из бэкапов restic

🎈 Про агрегацию новостных лент

▪️ Собираем единую ленту новостей с сайтов и Telegram-каналов на своем сервере

▪️ Готовим агрегатор новостей с автоматической публикацией в своем Telegram-канале

🎈 Про инструменты организации рабочих VPN

▪️ Установка контроллера ZeroTier на свой сервер с помощью ZTNET

▪️ Построение защищенных виртуальных сетей с помощью Nebula

🎈 Цикл про работу с образами в Docker в трех частях

▪️ Часть 1

▪️ Часть 2

▪️ Часть 3

#топ #desoft
👍3
⚠️ Очередная беда настигла мою фоновую виртуалку в VirtualBox, которая крутится уже как родная в виндовой системе. Виртуальный диск приказал долго жить - толи grub поломался внезапно, толи случились повреждения памяти после очередного отключения электричества - глубоко копать не стал - надо восстанавливать!

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

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

🎉 На этот раз все прошло успешно, однако, повезло, что с хранилищем restic было все в порядке, а также со снапшотом, который взлетел без каких-либо проблем. И в том и в другом случае я не был уверен прям совсем, потому что ни разу не проверял и не делал восстановление из бэкапов 😱.

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

#backup #restic #virtualbox #fail
👍5
📊 Уже год как пользуюсь простой и понятной системой мониторинга Gatus для отслеживания статусов некоторых адресов, проверки актуальности сертификатов и т.д. Конфигурация через yaml файл, красивая и наглядная вьюшка.

🌐 Узнал про нее от коллеги с канала ServerAdmin.ru. Оставлю ссылки на посты для тех, кто захочет попробовать ([1], [2]).

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

▫️ Пользователь стартует бота
▫️ Добавляет ссылки на интересующие ресурсы
▫️ Их актуальные статусы отображаются в чате

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

#monitoring #проекты
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥2
У меня есть серия постов про то как наше железо привязывают всё больше к облакам, подпискам и прочей шляпе

https://t.me/tech_b0lt_Genona/5163
https://t.me/tech_b0lt_Genona/5166
https://t.me/tech_b0lt_Genona/5195
https://t.me/tech_b0lt_Genona/5197

Вот ещё два классных примера

На первом видео показан Mercedes в котором куча платных опций сделали: CarPlay - €360, подсветка - €9, обзор на 360° - €18, Distronic - €15, пакет приложений - €345.

На втором видео сюжет для "Чёрного зеркала" (ну или "Чёрное зеркало" просочилось в реальность). Это китайский общественный туалет с платной туалетной бумагой, чтобы получить её, необходимо посмотреть рекламу. Следующим шагом предлагаю открывать дверь в кабинку только просмотра двух рекламных роликов.
😁4👍2
Технологический Болт Генона
У меня есть серия постов про то как наше железо привязывают всё больше к облакам, подпискам и прочей шляпе https://t.me/tech_b0lt_Genona/5163 https://t.me/tech_b0lt_Genona/5166 https://t.me/tech_b0lt_Genona/5195 https://t.me/tech_b0lt_Genona/5197 Вот ещё…
Анатолий Карпенко собрал коллекцию трендовых ситуаций магического превращения ваших ресурсов в "не ваши" 😁 купил машину, а без подписки коробка в "D" не встанет и зеркало не развернется, зато своя 🤷‍♂️

И дело касается не только новой модной техники или планшетов на колесах, но и всего "облачного", куда стремительно перебираются сотни и тысячи компаний.
Да, это несомненно удобно, когда в 2 клика развернута целая инфраструктура, обслуживается 24/7 не твоими инженерами и не на твои средства (на твои), но что в итоге? Твоя ли теперь коммерческая тайна или персональные данные сотрудников, защищен ли ты от порчи, изменения, слива, или вовсе уничтожения по щелчку или очередному закону, согласно которому провайдер свернет свою деятельность за день и самоликвидируется...
Не вижу здесь призыва избегать облачные ресурсы, но полагаться на них на 100%, увольняя персонал и радуясь высвобожденным средствам - не есть стратегический подход, как мне кажется.
👍2👏1
Пока экспериментирую с ботом для проверки доступности сервисов и сертификатов, открою новую рубрику "Linux по четвергам" для шпаргалок, твиков, утилит и прочей мелочи, поскольку так или иначе с серверами на базе Linux сталкиваться приходится постоянно.

На канале уже было несколько шпаргалок и подборок на эту тему. Например, Работа с дисками в Linux или Монтирование устройств с помощью fstab.

🔄 Управление процессами

▪️ htop - Интерактивный монитор процессов
htop -u username

-u: фильтр по пользователю
F4: фильтр
F6: сортировка
F9: убить процесс
Shift + z: поставить на паузу обновление списка процессов

▪️ pgrep/pkill - Поиск и завершение процессов по шаблону имени
pgrep -f "python script.py"
pkill -f "my_process"

-f: поиск по полному имени процесса
-u: по пользователю
-x: точное совпадение

▪️ nohup - Запуск команд в фоновом режиме
nohup python long_script.py > output.log 2>&1 &

>: перенаправление stdout
2>&1: stderr в stdout
&: в фоновом режиме

▪️nice/renice - Запуск процесса с приоритетом
nice -n 10 python priority.py &
renice -n -5 -p 1234

n: значение приоритета

▪️ jobs/bg/fg - Управление фоновыми и активными задачами
jobs -l    # список задач с PID
bg %1 # задача 1 в фоновый режим
fg %2 # задача 2 на передний план


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

▫️ ps aux --sort=-%cpu | head -10 - для быстрого поиска процессов, отсортированных по потреблению CPU.
▫️ watch -n 2 'ps aux --sort=-%mem | head -10' - зацикливаем исполнение команды отображения списка процессов, отсортированных по потреблению памяти, раз в 2 секунды.
▫️ strace -p2525462 -s9999 -e write - подключаемся к запущенному процессу по его PID и отслеживаем только события записи.

#linuxthursday #linux #шпаргалка
👍5🔥3
По словам авторов, попасть в систему удалось из-за того, что разработчики «забыли отключить регистрацию». Дальнейший анализ API и GraphQL открыл возможность обходить проверку e-mail, а пароли хранились в открытом виде. С помощью отдельного вызова createToken исследователи смогли назначить себе права администратора на всей платформе.

Ошибки встречались и в других сервисах RBI. В системе заказа оборудования пароль оказался жёстко прописан в коде HTML. На планшетах для обслуживания клиентов в «драйв-тру» использовался пароль admin. Вдобавок хакеры нашли незащищённые аудиозаписи заказов, которые используются для обучения систем анализа качества работы ресторанов. Иногда в них содержались персональные данные клиентов.


Burger King
не отстает от своих коллег по цеху (совсем недавно, в июле, случился инцидент с McDonald's). Мало того, что пароль admin, так он еще и жестко прописан в HTML 💪 Отчет исследователей предусмотрительно подтерли даже из веб архива, но поглумиться в интернетах успели вдоволь над таким ответственным подходом.

🌐 Источник

#news #security #leaks
😁3👍2🤯1
🔥 Подготовил первую версию бота для мониторинга доступности веб-ресурсов и проверки актуальности сертификатов.

Основные функции

Добавление/удаление веб-ресурсов
🔍 Проверка доступности HTTP/HTTPS ресурсов
🛡 Мониторинг SSL-сертификатов (срок действия, валидность)
📊 Красивые отчеты с группировкой по статусам
💾 Сохранение данных в DuckDB

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

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

💎 Исходный код в репе на gitverse
🔭 Сам бот для пробы @monid_bot

#monitoring #проекты
🔥5👍2
🌚 Проекты от сторонних разработчиков, Docker образы, pip и npm пакеты, скрипты, сервисы или целые системы, сгенерированные ИИ - все это потенциальные нарушители спокойствия любого админа, разработчика и даже рядового пользователя. Вызов недоверенных решений может привести к катастрофическим последствиям. Отсюда подборка песочниц для создания изолированных окружений и виртуальных машин с целью безопасного запуска программ.

🔸 microsandbox

🔸 bubblewrap

🔸 dify-sandbox

🔸 firejail

🔸 nsjail

🔸 kata-containers

#sandbox #security #полезное
👍5
Пополню коллекцию систем для организации защищенных виртуальных сетей еще одним, вероятно, самым мощным 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