Там Винс Зампелла погиб в ДТП
F легенде🫡 🫡 🫡
https://geograffee.ru/project/50ee79b7822b44408d61b2d4f171279a
F легенде
https://geograffee.ru/project/50ee79b7822b44408d61b2d4f171279a
Please open Telegram to view this post
VIEW IN TELEGRAM
geograffee.ru
Винс Зампелла и его влияние на жанр шутеров
🫡6
"Идеальный старт для знакомства с Cilium"
Книга даёт полный обзор возможностей инструмента: от базовых принципов сетевых политик Kubernetes до продвинутых функций Cilium
https://github.com/stanislavtrubachev/cilium-kubernetes-network-policy-guide-ru
Книга даёт полный обзор возможностей инструмента: от базовых принципов сетевых политик Kubernetes до продвинутых функций Cilium
https://github.com/stanislavtrubachev/cilium-kubernetes-network-policy-guide-ru
GitHub
GitHub - stanislavtrubachev/cilium-kubernetes-network-policy-guide-ru: Полный русский перевод книги «Kubernetes Network Policies…
Полный русский перевод книги «Kubernetes Network Policies Done the Right Way». Практическое руководство по безопасности, сетевой политике и наблюдаемости в Kubernetes на основе Cillium. - stanislav...
🔥2
Новый день - новые приколы от CORS-ов
Перенес S3 бакет веб-приложения из одного облака в другое, нарулил корсы 1в1 как было и раньше
Но не работает!
Подключение к бакету то таймаутит, то отдает интересную ошибочку:
Чтож за сеть такая
Оказывается CORS так (не)определяет приватные IP-сети, домен бакета резолвится в подсеть 10.0.0.0/8, до этого запрос ходил в бакет через внешку
А веб-аппликуха тем временем запрашивает в браузере доступы на подключение к эндпоинтам локальной сети, не получает разрешения, подключение к S3 валится по таймауту (если есть настроение - отдаст ошибку
Пути у нас два:
- Разрешаем приложению в браузере подключаться к локальным адресам
- Прописываем на стороне S3 заголовок ответа
#шпаргалки
Перенес S3 бакет веб-приложения из одного облака в другое, нарулил корсы 1в1 как было и раньше
Но не работает!
Подключение к бакету то таймаутит, то отдает интересную ошибочку:
Access to fetch at 'https://my.bucket.s3/file' from origin 'https://my.web.app' has been blocked by CORS policy: Permission was denied for this request to access the `unknown` address space.
Чтож за сеть такая
unknown?Оказывается CORS так (не)определяет приватные IP-сети, домен бакета резолвится в подсеть 10.0.0.0/8, до этого запрос ходил в бакет через внешку
А веб-аппликуха тем временем запрашивает в браузере доступы на подключение к эндпоинтам локальной сети, не получает разрешения, подключение к S3 валится по таймауту (если есть настроение - отдаст ошибку
has been blocked by CORS, так и не понял от чего зависит)Пути у нас два:
- Разрешаем приложению в браузере подключаться к локальным адресам
- Прописываем на стороне S3 заголовок ответа
Access-Control-Allow-Private-Network: true, благодаря чему каждому клиенту не придется назначать разрешения в браузере (затестить пока не удалось, так что это только в теории)#шпаргалки
Forwarded from MTik.pro новости
В Новогодние праздники свершилось чудо радостное событие.🍾
Вышла первая версия #RouterOS 7 в канале ❤️🔥 Long-term (aka bugfix-only)!
⚠️ 7.20.7 ⚠️
То есть теперь вообще нет никаких причин, чтобы не обновляться на RouterOS 7.
———————
Мы ждали этого:
*> 3 месяцев — с момента выхода ветки 7.20
*> 9 месяцев — с момента выхода предыдущей Long-term
*> 4 лет — с момента выхода 7.1 (первой RouterOS 7 в ветке stable)
*7 лет и 4 месяца — с момента выхода 7.0beta (первая публичная версия RouterOS 7)
Вышла первая версия #RouterOS 7 в канале ❤️🔥 Long-term (aka bugfix-only)!
⚠️ 7.20.7 ⚠️
То есть теперь вообще нет никаких причин, чтобы не обновляться на RouterOS 7.
———————
Мы ждали этого:
*
*
*
*
Please open Telegram to view this post
VIEW IN TELEGRAM
🫡5
sdnv's funk-hole
У меня настроен DoH на домашнем микроте, увидел что перестали резолвиться имена, заценил в логах портянку из no trusted CA certificate found Вероятно, теперь для работы с CloudFlare нужен другой серт. Отправил курлик до CF с нагрузкой, вывод показал что теперь…
История повторяется, отвал DoH Cloudflare из-за смены CA
Смотрим какой CN issuer и идем его гуглить
Отключаем верификацию DoH серта, чтобы домены начали резолвиться
Либо прописываем обычный DNS-сервер
Ставим новый серт
Не забываем включить верификацию DoH серта обратно
#шпаргалки
Смотрим какой CN issuer и идем его гуглить
╭─ 🦖 ~
╰─➤ curl -v 'https://1.1.1.1/dns-query?ct=application/dns-json&name=Cloudflare.com'
...
* Server certificate:
...
* issuer: C=US; ST=Texas; L=Houston; O=SSL Corp; CN=SSL.com SSL Intermediate CA ECC R2
Отключаем верификацию DoH серта, чтобы домены начали резолвиться
Либо прописываем обычный DNS-сервер
[sdnv@hAPax2] > /ip/dns/edit verify-doh-cert
Ставим новый серт
[sdnv@hAPax2] > /tool fetch url=https://ssl.com/repo/certs/SSLcom-SubCA-SSL-ECC-384-R2.pem
[sdnv@hAPax2] > /certificate/import file-name=SSLcom-SubCA-SSL-ECC-384-R2.pem passphrase=
Не забываем включить верификацию DoH серта обратно
#шпаргалки
🤝2👍1
Dockadvisor - быстрый, легковесный линтер
В его составе порядка
Из приятного есть наличие красивого
src: @k8security
Dockerfile написанный на Go, который (очевидно) помогает найти различные общие проблемы и анти-паттерны.В его составе порядка
60 правил. Каких-то уникальных правил найдено не было - все достаточно стандартно для подобных инструментов (Dockle*, Hadolint, KICS, Checkov, Semgrep).Из приятного есть наличие красивого
web-интерфейса с подсветкой и при этом можно использовать как и чисто go библиотеку.src: @k8security
👍1
Решаем архитектурную проблему nginx с HTTP/3: опыт Angie и магия eBPF
В этой статье рассказано, как в Angie 1.11 удалось устранить эти фундаментальные недостатки. Была не просто добавлена поддержка протокола, а пересмотрена механику взаимодействия с ядром. Путь от простых хешей до создания полноценного аналога accept() для QUIC с помощью BPF‑программ позволил заявить: реализация HTTP/3 в Angie закончена, лишена «детских болезней» nginx и полностью готова к эксплуатации в высоконагруженных средах.
src: @usr_bin_linux
Для пользователя может показаться, что переход с HTTP/2 на HTTP/3 — это просто замена TCP на UDP в конфиге. Но для серверного ПО с многопроцессной архитектурой этот шаг превращается в настоящую «головную боль». Классическая схема с accept(), на которой годами строилась работа с TCP‑соединениями, в мире QUIC попросту не существует. Пакеты летят в UDP‑порт, и ядро ОС больше не знает, какому именно рабочему процессу их отдать.
В оригинальном nginx это привело к тому, что поддержка HTTP/3 уже долгое время остается «экспериментальной» и ограниченной: она страдает от проблем с обрывами сессий и деградации сервиса при обновлении конфигурации. Для многих это стало стоп‑фактором для внедрения протокола в реальный продакшен.
В этой статье рассказано, как в Angie 1.11 удалось устранить эти фундаментальные недостатки. Была не просто добавлена поддержка протокола, а пересмотрена механику взаимодействия с ядром. Путь от простых хешей до создания полноценного аналога accept() для QUIC с помощью BPF‑программ позволил заявить: реализация HTTP/3 в Angie закончена, лишена «детских болезней» nginx и полностью готова к эксплуатации в высоконагруженных средах.
src: @usr_bin_linux
👍1
Debian 13 и ключи GPG
Есть у нас ansible роль для раскатки агентов безопасности. Под debian13 для скачивания GPG ключа из репозитория использовался ansible модуль
Модуль
Пофиксить легко, используем
Скачивает через curl -> gpg —dearmor -> получаем валидный формат.
Альтернативный и более ansible way вариант перейти на модуль
Этот модуль создаст source файл и скачает ключ для него.
#ansible
src: @andtree_sec
Есть у нас ansible роль для раскатки агентов безопасности. Под debian13 для скачивания GPG ключа из репозитория использовался ansible модуль
ansible.builtin.get_url. Как оказалось это неверно, ибо он качает в ASCII-armored, а 13 Debian требует бинарный формат GPG keyring. Модуль
ansible.builtin.apt_key по 13 дебиан не работает, кстати. Следовательно при прокатке можно увидеть ошибку вида:<file> ignored as the file has an unsupported filetype.
Пофиксить легко, используем
ansible.builtin.shell:- name: "Add GPG key"
ansible.builtin.shell: |
curl -fsSL "{{ item.key }}" | gpg --dearmor -o "{{ <GPG key path> }}"
chmod 644 "{{ <GPG key path> }}"
args:
creates: "{{ <GPG key path> }}"
loop: "< loop by list >"
Скачивает через curl -> gpg —dearmor -> получаем валидный формат.
Альтернативный и более ansible way вариант перейти на модуль
ansible.builtin.deb822_repository. Проверен с Debian 11, 12, 13.- name: "Add GPG key and repository"
ansible.builtin.deb822_repository:
name: <file_name>
types: deb
uris: "{{ <url> }}"
suites: apt
components: main
signed_by: "{{ url.key }}"
state: present
loop: "{{ <loop> | default ([]) }}"
when:
- ansible_distribution == 'Debian'
Этот модуль создаст source файл и скачает ключ для него.
#ansible
src: @andtree_sec
👍2
Forwarded from Купер.тех
Когда нужная команда утонула в хорошей документации, тебе нужна всего одна строка, а вместо этого перед глазами двадцать экранов текста и статья, название которой ты уже не помнишь — то на помощь приходят сниппеты.
Дмитрий Рагулин, DevOps-инженер платформы (PaaS), делится практическим подходом, как вытаскивать такие фрагменты на поверхность и держать их под рукой без переписывания документации и новых инструментов.
Если у вас тоже есть «команда, которая точно где-то была», то переходите по ссылке и читайте советы!
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegraph
Отображение сниппетов в терминале
При работе с личной базой знаний быстро становится ясно, что данные бывают разного характера. Статьи и заметки подходят для описания концепций и решений, скрипты — для автоматизации повторяющихся действий. Однако на практике часто встречаются небольшие фрагменты…
1👍1👌1
Вы знали, что в Ansible можно определить переменную в 22х местах?
Вот теперь и живите с этим,вас еще на собесах будут мучать таким вопросом
Официальная дока - тут
Товарищам без VPN - порядок приоритета от наименьшего к наибольшему:
1. Передаваемые значения в adhoc/при запуске ansible
2. Директория defaults в структуре ансибл-роли
3. Переменные группы хостов в инвентори-файле
4. Inventory group_vars/all
5. Playbook group_vars/all
6. Inventory group_vars/*
7. Playbook group_vars/*
8. Переменные хостов в инвентори-файле
9. Inventory host_vars/*
10. Playbook host_vars/*
11. Facts хоста и закешированные set_facts
12. Секция
13. Секция
14. Секция
15. Директория vars в структуре ансибл-роли
16. Переменные объявленного блока
17. Переменные объявленной таски
18. Секция
19. Переменные из
20. Переменные объявленные в
21. Переменные которые используются внутри
22. Extra vars, которые используем через ключ
#шпаргалки
Вот теперь и живите с этим,
Официальная дока - тут
Товарищам без VPN - порядок приоритета от наименьшего к наибольшему:
1. Передаваемые значения в adhoc/при запуске ansible
[--private-key PRIVATE_KEY_FILE] [-u REMOTE_USER]...2. Директория defaults в структуре ансибл-роли
3. Переменные группы хостов в инвентори-файле
4. Inventory group_vars/all
5. Playbook group_vars/all
6. Inventory group_vars/*
7. Playbook group_vars/*
8. Переменные хостов в инвентори-файле
9. Inventory host_vars/*
10. Playbook host_vars/*
11. Facts хоста и закешированные set_facts
12. Секция
vars в плейбуке13. Секция
vars_prompt в плейбуке14. Секция
vars_files в плейбуке15. Директория vars в структуре ансибл-роли
16. Переменные объявленного блока
17. Переменные объявленной таски
18. Секция
include_vars19. Переменные из
register и set_fact20. Переменные объявленные в
include_role21. Переменные которые используются внутри
include_tasks22. Extra vars, которые используем через ключ
-e при запуске ansible#шпаргалки
1🤯6👍2👌1
Forwarded from Опенград
На днях тут наткнулся на одну прикольную статью, где рассказывалось об основных ошибках, которые возникают при взаимодействии с TLS и вообще PKI. А также о том, что достаточно часто многие заметают такие ошибки под ковер используя -k, если мы говорим о том же curl. Хотя делать это не рекомендуется. Решил написать свою, расширенную, так сказать, версию того, как диагностировать некоторые проблемы подобного рода.
Telegraph
Отладка основных ошибок во время работы с сертификатами
Введение Если вы работаете с инфраструктурой достаточно долго, у вас наверняка выработался рефлекс, при котором если вы видите ошибку сертификата, то добавляете ключ -k и идёте дальше. Это понятно. Ошибки TLS бывают раздражающими, непрозрачными и, казалось…
👍3