DevOps
По всем вопросам- @workakkk @itchannels_telegram - 🔥полезные ит-каналы https://t.me/Golang_google - Golang программирование @golangl - golang chat @GolangJobsit - golang channel jobs @golang_jobsgo - jobs РКН: clck.ru/3FmvZA #VRHSZ
إظهار المزيد📈 نظرة تحليلية على قناة تيليجرام DevOps
تُعد قناة DevOps (@devopsitsec) في القطاع اللغوي الروسية لاعباً نشطاً. يضم المجتمع حالياً 23 428 مشتركاً، محتلاً المرتبة 5 808 في فئة التكنولوجيات والتطبيقات والمرتبة 28 659 في منطقة روسيا.
📊 مؤشرات الجمهور والحراك
منذ تأسيسه في невідомо، حقق المشروع نمواً سريعاً وجمع 23 428 مشتركاً.
بحسب آخر البيانات بتاريخ 11 يونيو, 2026، تحافظ القناة على نشاط مستقر. خلال آخر 30 يوماً تغيّر عدد الأعضاء بمقدار -25، وفي آخر 24 ساعة بمقدار -4، مع بقاء الوصول العام مرتفعاً.
- حالة التحقق: غير موثّقة
- معدل التفاعل (ER): يبلغ متوسط تفاعل الجمهور 11.89%. وخلال أول 24 ساعة من النشر يحصد المحتوى عادةً 6.42% من ردود الفعل نسبةً إلى إجمالي المشتركين.
- وصول المنشورات: يحصل كل منشور على متوسط 2 785 مشاهدة. وخلال اليوم الأول يجمع عادةً 1 503 مشاهدة.
- التفاعلات والاستجابة: يتفاعل الجمهور بانتظام؛ متوسط التفاعلات لكل منشور يبلغ 8.
- الاهتمامات الموضوعية: يركز المحتوى على مواضيع رئيسية مثل devops, kubernetes, git, github, кластер.
📝 الوصف وسياسة المحتوى
يصف المؤلف القناة بأنها مساحة للتعبير عن الآراء الذاتية:
“По всем вопросам- @workakkk
@itchannels_telegram - 🔥полезные ит-каналы
https://t.me/Golang_google - Golang программирование
@golangl - golang chat
@GolangJobsit - golang channel jobs
@golang_jobsgo - jobs
РКН: clck.ru/3FmvZA
#VRHSZ”
بفضل وتيرة التحديث المرتفعة (أحدث البيانات بتاريخ 12 يونيو, 2026) تحافظ القناة على حداثتها ومستوى وصول مرتفع. وتُظهر التحليلات تفاعلاً نشطاً من الجمهور، ما يجعلها نقطة تأثير مهمة ضمن فئة التكنولوجيات والتطبيقات.
build_and_push:
image: docker:latest
services:
- docker:dind
variables:
DOCKER_HOST: tcp://docker:2375
DOCKER_TLS_CERTDIR: ""
script:
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" "$CI_REGISTRY"
- docker build -t "$CI_REGISTRY_IMAGE:latest" .
- docker push "$CI_REGISTRY_IMAGE:latest"
Он работает, но содержит серьёзные проблемы безопасности и архитектурные ошибки.
🚨 Проблемы:
1. `docker:dind` и `tcp://docker:2375` — критически уязвимы.
Это значит, что любой процесс может получить root-доступ к Docker-демону, а значит и к хосту раннера.
2. Нет валидации образов или сканирования.
В репозиторий может попасть уязвимый образ.
3. Использование тега `latest`.
Тег можно перезаписать в любой момент — нарушает идемпотентность и аудит.
4. Пароли в переменных среды.
Лучше использовать безопасные токены (например, OIDC).
5. Нет изоляции сборки.
Образ может использовать --privileged, --network=host, и не быть sandboxed.
✅ Цель: Переделать пайплайн
Переход от DIND → kaniko, добавить проверку безопасности и стабильную версификацию.
🛡️ Обновлённый .gitlab-ci.yml
variables:
IMAGE_TAG: "${CI_COMMIT_SHORT_SHA}"
build_and_push:
image:
name: gcr.io/kaniko-project/executor:latest
entrypoint: [""]
script:
- echo "{\"auths\":{\"$CI_REGISTRY\":{\"username\":\"$CI_REGISTRY_USER\",\"password\":\"$CI_REGISTRY_PASSWORD\"}}}" > /kaniko/.docker/config.json
- /kaniko/executor \
--context $CI_PROJECT_DIR \
--dockerfile $CI_PROJECT_DIR/Dockerfile \
--destination $CI_REGISTRY_IMAGE:$IMAGE_TAG \
--destination $CI_REGISTRY_IMAGE:stable \
--snapshotMode=redo \
--single-snapshot
scan_image:
image: aquasec/trivy:latest
stage: test
script:
- trivy image --exit-code 1 --severity HIGH,CRITICAL $CI_REGISTRY_IMAGE:$IMAGE_TAG
🔍 Разбор улучшений:
• Kaniko — работает без привилегий, не требует docker.sock
• `IMAGE_TAG` = SHA — версии стабильны, audit-friendly
• Trivy — автоматическое сканирование уязвимостей
• Удаление `latest` — используем stable и SHA
• Нет `docker:dind` — безопаснее, проще и быстрее
• Безопасная аутентификация — можно заменить username/password на OIDC в GitLab
📌 Дополнительно:
1. Добавьте rules: в пайплайн, чтобы запускать сборку только по main или тэгам.
2. Используйте readonly контейнеры и fsGroup если применимо.
3. Ограничьте доступ к runner через protected: true.
💣 Бонус: почему docker:dind = уязвимость?
Если runner запускается в privileged режиме, то docker:dind даёт возможность выполнять произвольные команды от root внутри и вне контейнера — включая монтирование хостовых директорий. Это делает возможным побег из контейнера.
💡 Такой пайплайн не только безопаснее, но и более прозрачен, масштабируем и предсказуем.sudo !!
user@host: cat /var/log/messages
cat /var/log/messages: Permission denied.
❌Как не надо: Вверх. Влево. Влево. Влево. …. sudo Enter. Рррр.
✅Как надо: sudo !!
🔂 Повтор последнего аргумента — Alt + .
Вы захотели еще раз воспользоваться только что написанным аргументом? Например, созданной директорией?
❌Как не надо: mkdir MyNewDirectory; cd MyNewDirectory
✅Как надо:
mkdir MyNewDirectory
cd <Alt+.>
🔍 Поиск команды в истории — Ctrl + R
Какую же команду я только что запускал? Вверх. Вверх. Вверх. Вверх. О, вот и она!
Снова и снова вам приходится копаться в истории, ведь вы не знаете более подходящих альтернатив. Но что, если я скажу вам о том, что есть… поиск?
❌Как не надо: Вверх. Вверх. Вверх. Enter.
✅Как надо: Ctrl+R
Просто нажмите Ctrl+R и введите первые буквы нужной команды. Если поиск не выдал нужную команду сразу, то нажмите Ctrl+R еще раз. Повторное нажатие используется для прокрутки результатов. Ниже приведен поиск для cat.
(reverse-i-search)cat: sudo cat /var/log/messages
🏠 Домашняя директория — cd
Вы не на шутку удивитесь, узнав, сколько людей не знают этого способа! cd. Да, так просто. Без лишних аргументов вы сразу попадете в начальную директорию.
🔙 Назад в прошлую директорию — cd -
Иногда простой способ — самый лучший. Допустим, вы были в директории /var/www/foo, а теперь оказались в /etc . Простая команда cd — вернет вас обратно в /var/www/foo .
❌Как не надо: cd /var/www/foo
✅Как надо: cd -
🎭 Фоновый режим, передний план и контроль задач
Возможно, вам потребуется какое-то время, чтобы привыкнуть, но оно того стоит. Допустим, вы редактируете файл в vim (вы же не будете этого делать в nano, да?!). И вот вам вдруг захотелось что-то найти в директории /var/www/html. Конечно же, вы можете выйти из vim, перейти в нужную директорию, а потом вдруг решить, что неплохо было бы вернуться к редактированию. Есть и другой вариант — перевести vim в фоновый режим и вернуться к нему позже.
Напишите: Ctrl+Z. Эта комбинация переводит все текущие задачи с переднего плана в фоновый режим. Полезно как минимум для: less, cat, man, vim и т.д.
«И куда же отправится моя активная задача?» — спросите вы. Напишите jobs и сами узнаете.
user@host: jobs
[1] Stopped vim
Супер. Теперь можно заняться чем-то другим. А как только вы решите вернуться к задаче, напишите fg. Эта команда возвращает фоновую задачу (vim) на передний план. Обратите внимание, что фоновые процессы приостанавливаются. Поэтому если в файле вы выполняли что-то из разряда tail, то для завершения команды потребуется какое-то время. Если же в фоновом режиме запущено несколько задач, то напишите fg 3 , где 3 — это номер задачи для возобновления. Увидеть список задач можно по команде jobs.504 Gateway Timeout на определённые API-запросы. Проблема:
- возникает только при внешнем трафике (через Cloudflare)
- не воспроизводится в staging-окружении
- не зависит от нагрузки — может случиться в 3 часа ночи
- происходит на разных endpoint'ах, но всегда спустя 100 секунд
📈 Метрики:
- В K8s pod'ах таймаутов нет
- NGINX ingress не логирует ошибок
- Istio mesh — без аномалий
- PostgreSQL работает стабильно, без долгих транзакций
- В логах нет ни timeout, ни broken pipe, ни reset by peer
---
🧩 Ваша задача:
1. Найти, где именно происходит таймаут — в сети, прокси, mesh, firewall или app
2. Выяснить, почему именно 100 секунд
3. Подтвердить гипотезу, не разрушая прод
4. Предложить решение без увеличения всех таймаутов подряд
5. Составить диагностический plan на случай повторного возникновения
💡 Подсказка:
- NGINX по умолчанию имеет proxy_read_timeout 60, но это не оно
- Cloudflare автоматически завершает соединения по таймауту 100 секунд
- Если вы используете long-polling или upload, CDN может прерывать соединение до ответа
🛠 Решение (примерный путь):
1. Проверить `curl -v` через Cloudflare и напрямую — сравнить TTL
2. Выставить `proxy_request_buffering off` и `client_body_timeout`
3. Обновить Ingress с `nginx.ingress.kubernetes.io/proxy-read-timeout: "180"`
4. Проверить KeepAlive между Envoy и backend
5. В Cloudflare использовать `chunked encoding` или WebSockets, если запросы >100с
📌 **Вывод:**
Таймаут в 100 секунд — не случайность. Это один из самых частых лимитов на уровне облачных прокси и CDN. DevOps-инженер должен уметь находить такие «невидимые» границы между слоями системы и грамотно обходить их.
💬 Поделись решением с командой — и запиши его в postmortem, чтобы не попасться второй раз.
@devopsitsecanonymous или ftp в качестве логина). Часто применяется для публичных загрузок.
🔹 Какие популярные FTP-серверы в Linux?
• vsftpd
• proftpd
• Pure-FTPd
🔹 Как обеспечить безопасность FTP?
Обычный FTP передаёт данные в незашифрованном виде. Для защиты используют:
• FTPS (FTP over SSL/TLS)
• SFTP (через SSH) — это вообще другой протокол
Также: ограничение по IP, chroot jail, шифрование паролей, запрет анонимного доступа.
🔹 Различия между FTP и SFTP?
• SFTP работает через SSH (порт 22)
• Обеспечивает полное шифрование
• Безопаснее, но несовместим с обычными FTP-клиентами
🔹 Какие команды FTP стоит знать?
• get, put — загрузка и выгрузка
• ls, cd, pwd, mget, mput
• passive / active — переключение режима
🔹 Как ограничить пользователя FTP в своём каталоге?
Через chroot jail: chroot_local_user=YES в vsftpd.conf
🔹 Как протестировать FTP-сервер?
Можно использовать:
• ftp (CLI)
• lftp — продвинутый CLI
• GUI-клиенты: FileZilla, WinSCP
📚 Все 25+ вопросов с ответами ты найдёшь тут → https://www.tecmint.com/ftp-interview-questions-and-answers/
⚙️ Отличный чеклист для подготовки к собеседованию или аудиту инфраструктуры!
#FTP #DevOps #Linux #Собеседование #Sysadmin #SFTP #Безопасность
@devopsitsecindex.html
✅ Svelte SPA:
- Структура с App.svelte, маршрутизацией и Vite
- Лёгкий, быстрый и понятный фронтенд
✅ Makefile + Vite + Docker (опционально)
⚙️ Как запустить:
# Сборка фронта
cd frontend
npm install
npm run build
# Запуск Go-сервера
cd ..
go run main.go
📦 Кому подойдёт:
- Go-разработчикам, которым нужен современный UI
- Тем, кто хочет обойтись без сложных фреймворков
- Для MVP, pet-проектов, админок и внутренних тулов
🔥 Если хочешь быстрый и удобный стек без лишнего — go-svelte-spa отличный выбор.
📁 Репозиторий: https://github.com/joelseq/go-svelte-spa
docker run -d -p 4444:4444 --shm-size=2g selenium/standalone-chrome
🤖 GitHub
@DevopsDocker compose.yaml.
Инструмент доступен как, так и npm-пакет. Под капотом — парсинг флагов с их корректным переносом в YAML-структуру. Проект особенно удобен, когда нужно интегрировать новый сервис в существующий стек: Composerize умеет мержить конфиги, поддерживает разные версии Compose и даже настраивает отступы.
🤖 GitHub
@DevopsDocker
متاح الآن! بحث تيليغرام 2025 — أهم رؤى العام 
