RECURA | Программирование & IT
описание
Практические советы, утилиты и обучающие материалы для разработчиков, DevOps-инженеров и системных администраторов. Всё о разработке, Linux и информационной безопасности. Реклама: @tarabuk1n РКН: clck.ru/3RnyGw Биржа: https://telega.in/c/recura_tech
14 633
подписчиков
Охват к подписчикам
13,6%
ERR
Реакции к просмотрам
0,64%
627 на 50 постов
Пересылки к просмотрам
6,67%
6 578
Постов в день
2,1
всего 624
Где отзываются чаще
доля реакций к просмотрам- 11:20📖 Ix 👁 CLI-инструмент, который превращает кодовую базу проекта в интерактивную карту архитектуры для разработчиков и ИИ-агентов. Ix анализирует репозиторий на 26 языках через tree-sitter, строит граф символов, вызовов и импортов, а затем позволяет получать структурные ответы о коде вместо обычного поиска по файлам. Можно быстро понять назначение компонентов, увидеть влияние изменений и отследить реальные потоки выполнения. ❗️ Отлично подойдёт разработчикам, которые работают с большими проектами и используют ИИ-агентов для анализа архитектуры, уменьшая расход контекста и токенов. ⛓ Проверить в деле tags: #утилиты #ии #разработка 🧭 @recura_tech 🌐 VK 🌐 MAX1,32%
- 14 авг.🐧 Использование Linux auditd для отслеживания реальных действий процессов без постоянного мониторинга 👁 Когда нужно понять, кто изменил конфигурацию, удалил файл или получил доступ к важным данным, обычных логов приложений часто недостаточно. auditd работает на уровне ядра Linux и фиксирует события доступа: запуск процессов, изменение файлов, системные вызовы и действия пользователей. 📝 Создание правила для отслеживания изменений критичных файлов Правило -w устанавливает наблюдение за файлом, а -p wa отслеживает операции записи и изменения атрибутов. Каждое событие получает собственный ключ для быстрого поиска. sudo auditctl \ -w /etc/nginx/nginx.conf \ -p wa \ -k nginx_changes sudo auditctl \ -w /etc/passwd \ -p wa \ -k users_changes 📝 Поиск истории изменений через ключ события Можно увидеть, какой процесс выполнил изменение, от какого пользователя, с каким PID и в какое время. sudo ausearch \ -k nginx_changes sudo ausearch \ -k users_changes \ -i 📝 Анализ запуска конкретных процессов Так можно получить историю запуска команд определённым пользователем без постоянного просмотра всех системных журналов. sudo auditctl \ -a always,exit \ -F arch=b64 \ -S execve \ -F uid=1000 \ -k process_start sudo ausearch \ -k process_start \ -i ❗️ auditd часто используют только в системах с повышенными требованиями безопасности, но для разработчиков он полезен и при расследовании сложных проблем. Это позволяет увидеть не только результат изменения, а полный путь события: кто, когда и каким процессом выполнил действие. tags: #linux #безопасность #администрирование 🧭 @recura_tech 🌐 VK 🌐 MAX1,01%
- 16:02🔒 Vortex 👁 Терминальный интерфейс для WireGuard и OpenVPN с мониторингом VPN-подключений в реальном времени. Vortex показывает текущую телеметрию прямо во время работы туннеля, визуализирует сетевую нагрузку и предоставляет панель безопасности для обнаружения DNS- и IPv6-утечек. Подключение к VPN, анализ трафика и контроль безопасности собраны в одном TUI-интерфейсе. ❗️ Отлично подойдёт системным администраторам и специалистам по безопасности, которым нужен удобный контроль VPN-соединений из терминала. 📱 GitHub tags: #утилиты #сети #безопасность 🧭 @recura_tech 🌐 VK 🌐 MAX0,97%
- 16 авг.🐍 Автоматический контроль изменений файлов через хеширование содержимого в Python 👁 В автоматизации часто нужно отслеживать изменения конфигураций, резервных копий или наборов данных. Простое сравнение времени изменения файла (mtime) ненадёжно: файл может быть перезаписан без изменения содержимого или изменён с сохранением даты. Более точный подход — вычислять хеш содержимого и сравнивать реальные изменения данных. 📝 Отслеживание изменений файлов через SHA-256 import hashlib import time from pathlib import Path def file_hash(path): sha = hashlib.sha256() with open(path, "rb") as file: for chunk in iter(lambda: file.read(8192), b""): sha.update(chunk) return sha.hexdigest() target = Path("/etc/nginx/nginx.conf") old_hash = file_hash(target) while True: new_hash = file_hash(target) if new_hash != old_hash: print("file changed:", target) old_hash = new_hash time.sleep(10) 📌 Как это работает: • Файл читается небольшими блоками, поэтому метод подходит даже для больших объектов, которые нельзя полностью загрузить в память. • SHA-256 создаёт уникальный отпечаток содержимого, поэтому изменение данных определяется независимо от времени изменения файла. • Такой механизм можно использовать как основу для автоматического контроля конфигураций, синхронизации и запуска действий после изменения данных. ❗️ Хеширование файлов — простой, но мощный паттерн для автоматизации. Его используют в системах резервного копирования, CI/CD-процессах и инструментах контроля конфигураций, где важно реагировать именно на изменение содержимого, а не только на изменение метаданных файла. tags: #python #автоматизация #разработка 🧭 @recura_tech 🌐 VK 🌐 MAX0,90%
- 6 авг.🐳 Использование Docker rootless mode для запуска контейнеров без привилегий root 👁 Многие привыкли запускать Docker через root-демон, но это создаёт лишний уровень риска: уязвимость в контейнере потенциально может привести к повышению привилегий на хосте. Rootless mode позволяет запускать полноценные контейнеры от обычного пользователя без доступа к Docker daemon с правами администратора. 📝 Включение rootless режима Docker После запуска Docker daemon работает внутри пользовательского пространства и не требует root-доступа для управления контейнерами. dockerd-rootless-setuptool.sh install systemctl --user enable docker systemctl --user start docker 📝 Проверка изоляции и текущего режима В rootless режиме контейнеры запускаются без расширенных capabilities ядра, что уменьшает поверхность атаки. docker info | grep -i rootless docker run \ --rm \ alpine \ id docker run \ --rm \ alpine \ cat /proc/self/status | grep Cap 📝 Запуск контейнеров с дополнительными ограничениями Даже внутри rootless окружения можно дополнительно ограничить возможности контейнера: убрать лишние права, запретить повышение привилегий и сделать файловую систему только для чтения. docker run \ --rm \ --read-only \ --cap-drop=ALL \ --security-opt=no-new-privileges \ nginx ❗️ Rootless Docker особенно полезен на рабочих серверах, CI/CD-агентах и окружениях разработчиков, где нельзя выдавать полный root-доступ. Это позволяет сохранить привычный workflow Docker, но значительно уменьшить последствия возможных уязвимостей в контейнерах. tags: #docker #безопасность #полезно 🧭 @recura_tech 🌐 VK 🌐 MAX0,86%
- 25 июл.без подписи0,83%
- 12 авг.🌐 Использование Nginx auth_request для централизованной проверки доступа без изменения приложений 👁 Во многих архитектурах авторизация дублируется внутри каждого сервиса: каждый backend проверяет токены, роли и права доступа самостоятельно. Nginx может вынести эту логику на уровень прокси через auth_request — передавать запрос в отдельный сервис авторизации и только после успешной проверки отправлять его дальше. 📝 Подключение внешнего сервиса авторизации через Nginx Перед отправкой запроса в backend Nginx сначала обращается к auth-service. Если сервис возвращает успешный ответ — запрос проходит дальше, если нет — пользователь получает ошибку доступа. location /api/ { auth_request /auth; proxy_pass http://backend; } location = /auth { internal; proxy_pass http://auth-service/check; proxy_pass_request_body off; proxy_set_header X-Original-URI $request_uri; proxy_set_header Authorization $http_authorization; } 📝 Передача информации о пользователе в приложение После проверки можно забрать заголовки из ответа авторизации и передать их в приложение. Backend получает уже проверенные данные и не занимается повторной обработкой токенов. location /api/ { auth_request /auth; auth_request_set $user_id $upstream_http_x_user_id; proxy_set_header X-User-ID $user_id; proxy_pass http://backend; } 📝 Разные уровни доступа для разных маршрутов Так можно разделить защищённые и публичные части приложения прямо на уровне маршрутизации. location /admin/ { auth_request /auth-admin; proxy_pass http://admin_backend; } location /public/ { proxy_pass http://public_backend; } ❗️ auth_request позволяет превратить Nginx в полноценный слой контроля доступа между пользователем и сервисами. Такой подход хорошо подходит для микросервисов, где десятки приложений должны использовать единую систему авторизации без копирования логики безопасности в каждый backend. tags: #nginx #безопасность #разработка 🧭 @recura_tech 🌐 VK 🌐 MAX0,83%
- 13 авг.🌎 Продвинутые компьютерные сети 👁 Практический курс по коммутации и маршрутизации, который поможет глубже разобраться в построении и защите сетевой инфраструктуры. В программе изучаются управление трафиком через VLAN и коммутацию, проектирование отказоустойчивых сетей с STP и EtherChannel, маршрутизация между сегментами и настройка статических маршрутов. Также разбираются DHCP, NAT, защита от L2/L3-атак, настройка WLAN и анализ сетевого трафика через Wireshark. ❗️ Подойдёт сетевым инженерам, системным администраторам и DevOps-специалистам, которые хотят повысить уровень работы с корпоративными сетями. ⛓ Изучаем по ссылке tags: #обучение #сети #полезно 🧭 @recura_tech 🌐 VK 🌐 MAX0,82%
- 27 июл.без подписи0,81%
- 26 июл.без подписи0,78%
- 15 авг.👨💻 Командная строка для разработчиков 👁 Практический курс по работе с терминалом, который поможет эффективнее использовать командную строку в разработке и автоматизации задач. В программе изучаются основы работы в терминале, язык Bash, основные команды и системные утилиты. Также разбираются подходы к выбору между shell-скриптами и полноценными языками программирования, оптимизация работы в консоли и использование интерактивных терминальных инструментов. ❗️ Подойдёт разработчикам, DevOps-инженерам и системным администраторам, которые хотят ускорить работу с Linux-окружением и автоматизировать повседневные задачи. ⛓ Изучаем по ссылке tags: #обучение #bash #linux 🧭 @recura_tech 🌐 VK 🌐 MAX0,78%
- 22 июл.без подписи0,74%