Dev0ps
40 subscribers
211 photos
3 videos
50 files
3.33K links
Download Telegram
Forwarded from Мониторим ИТ
Презентация с Promcon 2019 о PromQL, Prometheus и Alertmanager. Julien Pivotto рассказывает о собственных подходах к описаниям алертинга в YAML-файлах.
Cloud Native Computing Foundation решил рассортировать свои многочисленные видео. Здесь: https://videos.cncf.io/
Forwarded from Updates rtfm.co.ua 🇺🇦 (rtfmcoua)
Kubernetes: мониторинг с Prometheus

Следующая задача – настроить мониторинг Kubernetes. Задача осложняется тем, что у нас есть целый набор ресурсов, которые требуется мониторить: инфраструктура – ЕС2 инстасы WokerNodes, их ЦПУ, память, сеть ключевые сервисы самого Kubernetes – состояние API сервера, etcd, scheduler состояние подов и контейнеров состояние деплойментов сбор метрик непосредственно с приложений Для мониторинга всего этого доступны следующие…

https://rtfm.co.ua/kubernetes-monitoring-s-prometheus/
Forwarded from Updates rtfm.co.ua 🇺🇦 (rtfmcoua)
AWS: CloudFormation – использование lists в Parameters

В продолжение темы AWS: Elastic Kubernetes Service — автоматизация создания кластера, часть 1 — CloudFormation – теперь надо добавить передачу в стек параметра в виде списка. Идея в том, что бы в Ansible получать все AvailabilityZones, а потом этот список использовать для eksctl, который будет создавать WorkerNodes в разных AvailabilityZones, и для CloudFormation – что бы…

https://rtfm.co.ua/aws-cloudformation-ispolzovanie-lists-v-parameters/
Forwarded from PROdlenka
Pivotal не отстаёт от трендов:

https://spring.io/blog/2020/04/09/spring-graal-native-0-6-0-released
Podman is an open-source cli tool for working with containers, pods and container images. It uses a kernel feature called seccomp to filter syscalls made by the processes inside the container. This allows Podman to reduce the attack surface of the kernel which is exposed to the container.
Currently, everybody ships the same basic seccomp profile. This tool allows us to generate seccomp rules based on what the container actually requires and allows us to lock down the container by reducing the attack surface to the kernel.


Generate seccomp profiles for containers using bpf
https://www.youtube.com/watch?v=U6FEJpbuZDs
Forwarded from Dev Tools
​​explainshell

Очень удобный сервис, который разбирает шелл команды.
Я не особо хорошо умею в bash скриптинг и зачастую пользую готовые решения вместо сложных команд.
Но периодически на форумах ищу решения и натыкаюсь на огромную шелл команду которая делает что-то непонятное.
На explainshell.com можно разобрать что именно происходит в команде.
Оч удобно.
Forwarded from CTO On Live
Гюльчатай закрой личико или базовая защита веб-морды 🙈
#Безопасность

На днях я писал, что плотно заняться безопасностью можно и нужно на втором этапе жизни проекта, когда уже пошел поток клиентов, но есть вещи, которые можно сделать сразу на этапе запуска.

Прежде всего начнем с тюнинга Nginx (у вас же он, правда?)

Про самое очевидное: сразу забудьте про то, что такое сайт без SSL, купите хоть самый дешевый или сделайте бесплатный через let's encrypt

Все запросы, что прилетают на http сразу отправляйте редиректом на https. Как вариант запись эта может выглядеть так:

return 301 https://$host$request_uri;

А чтобы браузер в последствии всегда автоматически переходил на https добавьте заголовок HSTS

add_header Strict-Transport-Security 'max-age=31536000';

Помимо этого заголовка неплохо было бы включить и встроенные механизмы защиты браузера

add_header X-XSS-Protection "1; mode=block";
add_header X-Content-Type-Options "nosniff";
add_header X-Frame-Options "sameorigin";

Старайтесь использовать актуальные настройки ssl_protocols и ssl_ciphers (их, как и вообще весь ssl конфиг можно сгенерить на мозиле)

Проверить уровень настройки SSL можно на ssllabs и там же посмотреть рекомендации по улучшению

Я тебя не знаю, уходи!

Закройте обращения по ip или любому непонятному адресу к вашему приложению. Для этого просто последним в sites-enabled у вас должен быть конфиг default_server

server {
listen 80 default_server;
return 444;
}

Ответ 444, сразу же скидывает соединение не возвращая никакого тела, что позволит помимо мусорного трафика, также снизить и нагрузку. (Для https подключения можно сделать похожий конфиг)

С базовыми вещами по nginx разобрались, теперь возьмем уровень чуть повыше.

Любые запросы к своему API пропускайте через модуль лимитов nginx и отдавайте код 429. После чего обязательно настройте мониторинг на отлов ответов с этим кодом. Это даст вам возможность оперативно поймать потенциальный брутфорс или кривые интеграции, когда сторонний разработчик запустил while (true) и ушел пить кофе.

Иногда нам может потребоваться включить для тех или иных обращений CORS, чтобы на других доменах нашего или интеграционного проекта разработчики могли сделать ajax запросы без прокидывания через свой backend. В этом случае я часто вижу на разных проектах ребята не долго думая делают:

Access-Control-Allow-Origin: *

Так как данный заголовок поддерживает, либо доступ с любого домена, либо только с одного, без перечислений. Решается проблема, либо через map в nginx с установкой нужной переменной (сравниваем желаемый хост с http_origin) и последующей передачей через add_header того же домена в заголовке Access-Control-Allow-Origin либо проще это контролировать через конфиги приложения, как по мне.

Перебейте заголовок Server, который по дефолту отдает Nginx. Сделать это можно либо через server_tokens off; (который при этом все равно будет показывать, что используется nginx, но без версии), либо через бекенд часть приложения, заменив его на то, что вашей душе угодно.

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

Горшочек с медом

Техника honeypot не новая, но почему-то многие ей пренебрегают. Заключается она в том, чтобы добавить стандартные для всех сканеров или ручных тестеров роуты при попадании на которые вы получите тем или иным способом оповещение и включите более детальную аналитику по запросам злоумышленника.

Допустим вы можете оставить "открытым" cgi-bin или pma (phpmyadmin) или любой другой дефолтный url, да хоть .git (главное чтобы реального git'а там не было:)) и как только получаете туда обращение, значит кто-то проверяет пути, которые обычный человек точно не будет смотреть, а это повод задуматься.

На этом, пожалуй, пока что всё. Конечно подход должен быть более комплексным, как с точки зрения защиты доступов к серверам (vpn, ssh-ключи, iptables и т.д.), анализ трафика и прочее, но это уже другая история
Forwarded from DevOps News
Пересказ исследования о том, почему использовать файловую систему как backend для распределенного хранилища - не очень хорошая идея (на примере ceph).

В целом после SOSP'19 колличество интересных статей значительно увеличилось.

https://blog.acolyer.org/2019/11/06/ceph-evolution/

#research #ceph #performance
Forwarded from DevOps&SRE Library
HAProxy Exposes a Prometheus Metrics Endpoint

В HAProxy добавили нативную поддержку отдачи метрик в формате Prometheus'а.

https://www.haproxy.com/blog/haproxy-exposes-a-prometheus-metrics-endpoint
Forwarded from DevOps&SRE Library
PromQL tutorial for beginners

Базовый гайд по языку запросов в Prometheus - PromQL.

https://medium.com/@valyala/promql-tutorial-for-beginners-9ab455142085
Forwarded from DevOps&SRE Library
Trickster

Reverse proxy cache для Prometheus.

https://github.com/Comcast/trickster
Forwarded from feedmetoo
#Redis #RedisLabs
Redis Labs опубликовали аж два интересных поста. Первый о 7 Redis Worst Practices: https://redislabs.com/blog/7-redis-worst-practices/. Ничего сверхъестественного: открытые наружу, массовые сканы, numbered databases, отсутствие кеша соединений, неразмазывание горячих ключей и использование redis как primary database. Короче, норм статья для тех, кто не успел обжечься на проде - подходит и к мемкешу тоже. Второй пост - о Probabilistic Data Structures, https://redislabs.com/blog/streaming-analytics-with-probabilistic-data-structures/. Этот пост про такие возможности как HyperLogLog, Bloom filters, TopK и count-min sketch. Эта статья даёт хорошее начальное понимание, какие возможности по работе с различными дополнительными структурами данных предоставляет Redis.
Enjoy!
Forwarded from feedmetoo
#Одноклассники #Elastic #Graylog
Если ещё не видели статью Одноклассников про кластер под хранилище логов (Кластер Elasticsearch на 200 ТБ+) - посмотрите. Статья длинная, но очень подробная, про архитектуру ES+Graylog, с кучей историй про донастройку Javа в контейнерах и описаний сценариев развала кластера (не могу удержаться: "дата-ноды спамили мастера до того, что он уходил в full GC ... роль мастера переезжала на какую-то следующую ноду, с ней происходило абсолютно то же самое, и в итоге кластер разваливался полностью"). https://habr.com/ru/company/odnoklassniki/blog/494260/
Forwarded from CatOps
Falcon - бесплатный десктоп клиент для баз данных с открытым кодом.

Поддерживает RedShift, MySQL, PostgreSQL, IBM DB2, Impala, MS SQL, Oracle (с дополнительными приседаниями), SQLite.

Написан на Electron

#toolz