Лига сисадминов
13K subscribers
343 photos
17 videos
15 files
1.84K links
Статьи, переводы статей, заметки, и юмор на тему системного администрирования.

Написать администратору: @s_league_admin_bot

КНД: https://clck.ru/3Fy4kQ
Download Telegram
Что-то не пойму, почему не засчитано. Правильный же ответ🤔

#ит_юмор #server
😁14🔥5💯5👍3
Разбиение файлов Terraform на компонуемые слои

Terraform позволяет создать облачную инфраструктуру с помощью всего одной команды. Допустим, вы хотите запустить Elasticsearch и Kibana в кластере Kubernetes.

Для этого можно написать несколько файлов .tf и выполнить команду terraform apply для инициализации кластера Kubernetes и развёртывания на нем нескольких подсистем.

Теперь предположим, что вам нужны и другие экземпляры стека Elastic, которые можно использовать для демонстрации. В этом случае придется создать новые рабочие пространства Terraform и выполнить terraform apply несколько раз.

Проблема такого подхода заключается в том, что в этом случае придется каждый раз реплицировать всю инфраструктуру. Следовательно, у вас будет несколько кластеров Kubernetes. На запуск каждого кластера уходит не менее 15 минут, а его стоимость на AWS составляет 72 долл. в месяц.

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

Именно для этого и существует Layerform. Layerform позволяет инженерам разбивать файлы Terraform на компонуемые слои. Таким образом, команды могут иметь общий базовый слой для кластера Kubernetes и несколько вышестоящих слоев с Elasticsearch, Kibana и даже другими необходимыми им бессерверными компонентами, такими как Lambdas, очереди SQS или балансировщики нагрузки.

В этой статье я расскажу о том, как работают слои, как разбить файлы Terraform на компонуемые слои и продемонстрирую несколько вариантов использования слоев. Эти случаи включают создание сред разработки, похожих на производственные, и настройку ссылок предварительного просмотра запросов на поставку для любого типа приложений.

https://telegra.ph/Razbienie-fajlov-Terraform-na-komponuemye-sloi-01-31

#ит_статьи #devops #linux #terraform #kubernetes #elasticsearch #nginx
👍17
Или пасеку организовать...

#ит_юмор
😁17💯9🔥7
.zshrc хаки: облачная синхронизация, алиасы, функции, хэши

zsh - пожалуй, лучший shell из когда-либо придуманных после оригинального POSIX-sh. Но держать всё в одном огромном .zshrc файле часто неудобно - а его бэкап вообще требует магии со скриптами. В этой статье поделю своими вариантами резервного копирования конфига zsh.

https://telegra.ph/zshrc-haki-oblachnaya-sinhronizaciya-aliasy-funkcii-hehshi-02-01

#ит_статьи #linux #shell #zsh #backup
👍18
SQL vs NoSQL базы данных

Вы когда-нибудь оказывались перед дилеммой выбора наиболее подходящего типа хранилища для своего приложения? Какая база данных лучше всего справится с бизнес-ожиданиями и обеспечит эффективную работу? Если да - эта заметка поможет разобраться, какую базу выбрать (SQL или NoSQL), и заставить ваше приложение работать как надо.

https://telegra.ph/SQL-vs-NoSQL-bazy-dannyh-02-01

#ит_статьи #devops #databases #systemdesign #sql #nosql
9👍7🔥3
Linux: как пинговать несколько хостов напрямую или через SSH-прокси

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

https://telegra.ph/Linux-kak-pingovat-neskolko-hostov-napryamuyu-ili-cherez-SSH-proksi-02-02

#ит_заметки #linux #ssh #shell #xargs #ping
👍15
Как использовать закладки в bash/zsh

Умение быстро перемещаться по терминалу напрямую влияет на продуктивность. Часто возникает необходимость мгновенно прыгать между разными проектами или директориями, разбросанными по всей системе. Например, код лежит в ~/project/my-project, а конфигурация сервера - где-нибудь в /etc/.... Запоминать такие пути неудобно, да и набирать их каждый раз долго. А что, если существует простое и почти бесплатное решение всего в четырёх строках bash?

https://telegra.ph/Kak-ispolzovat-zakladki-v-bashzsh-02-04

#ит_заметки #linux #terminal #bash #zsh #bookmarks
👍16🔥5
Почему я могу привязаться к привилегированному порту в контейнере без capability NET_BIND_SERVICE?

Недавно я игрался с разными штуками для hardening’а контейнеров и наткнулся на вещь, которая меня реально удивила. Пришлось довольно глубоко копать, чтобы во всём разобраться, и в процессе я обнаружил, что не я один такой - другие тоже были озадачены. В итоге решил написать об этом, в надежде, что текст когда-нибудь поможет кому-то ещё.

https://telegra.ph/Pochemu-ya-mogu-privyazatsya-k-privilegirovannomu-portu-v-kontejnere-bez-capability-NET-BIND-SERVICE-02-05

#ит_статьи #devops #linux #docker #capabilities #kernel
👍15💯2
Разбираемся с Vsock

Vsock - это семейство сокетов в Linux, предназначенное для связи между виртуальной машиной и её гипервизором.
Это новое семейство сокетов обеспечивает двустороннее, «многие-к-одному», взаимодействие между гипервизором и виртуальными машинами.
Изначально добавлено VMware напрямую в ядро.
Также может использоваться в QEMU/KVM, а также в Hyper-V, но там код уже закрытый.

Пользовательские приложения - как внутри виртуальной машины, так и на хосте - могут использовать API VM Sockets, которое обеспечивает быструю и эффективную коммуникацию между гостевыми ВМ и хостом. Предоставляется семейство адресов сокетов, на уровне интерфейса совместимое с UDP и TCP.

https://telegra.ph/Razbiraemsya-s-Vsock-02-07

#ит_статьи #vsock #linux #kernel #virtualization #qemu #kvm
🔥8👍71👀1
Глубокие проверки работоспособности Kubernetes

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

https://telegra.ph/Glubokie-proverki-rabotosposobnosti-Kubernetes-02-08

#ит_статьи #devops #kubernetes #cluster #orchestration
👍19😴1
Усиливаем безопасность SSH с помощью двухфакторной аутентификации (2FA) через PAM и Google Authenticator

Настроить двухфакторку для SSH через PAM и Google Authenticator - отличный способ поднять безопасность вашего SSH-сервера. Google Authenticator генерирует одноразовые пароли на основе времени (TOTP), добавляя ещё один слой защиты. В статье пошаговый порядок действий, как это всё завести.

https://telegra.ph/Usilivaem-bezopasnost-SSH-s-pomoshchyu-dvuhfaktornoj-autentifikacii-2FA-cherez-PAM-i-Google-Authenticator-02-08

#ит_статьи #devops #linux #ssh #totp #pam #google_authenticator
👍19🔥32
Полезные советы по снижению потребления ресурсов контейнерами в хост-системах

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

https://telegra.ph/Poleznye-sovety-po-snizheniyu-potrebleniya-resursov-kontejnerami-v-host-sistemah-02-10

#ит_статьи #devops #linux #docker #containers #optimization
👍16
Linux auditd для обнаружения угроз [Часть 1]

Несколько лет назад меня попросили подготовить конфигурацию auditd, которая должна была стать основной технологией детектирования для крупной организации. Хотя я неплохо разбирался в Linux, оказалось, что материалов по использованию auditd именно для масштабного мониторинга безопасности на удивление мало.

В этой статье я планирую разобрать:
- Краткое введение в Linux Audit System
- Советы по написанию audit-правил
- Проектирование конфигурации для мониторинга безопасности
- Что именно стоит логировать с помощью auditd
- Как справляться с шумом

Эта статья ориентирована на специалистов по безопасности, IR и blue team - тех, кому нужно определить, какие логи должны попадать в SIEM, чтобы эффективно выявлять вредоносную активность. Надеюсь, со временем всё станет проще благодаря eBPF, но, если честно, мы ведь никогда не умели полностью избавляться от старых технологий, правда?

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

https://telegra.ph/Linux-auditd-dlya-obnaruzheniya-ugroz-CHast-1-02-12

#ит_статьи #devsecops #linux #auditd #infosec #syscalls
👍18🔥3
Проброс TCP-порта на другой IP или порт через NAT в nftables

Помимо привычного сценария с NAT - когда вы даёте нескольким машинам доступ в интернет через один IP-адрес - у него есть и другие применения. Одно из них - проброс всего трафика, приходящего на определённый TCP-порт, на другой хост.

На практике это удобно, например, чтобы протестировать сервис на новом сервере, ничего не меняя на стороне клиента. Пользователям и клиентским приложениям не нужно указывать новый адрес машины, чтобы проверить её в деле. Если тест окажется неудачным - достаточно удалить правило NAT, и всё мгновенно вернётся как было.

https://telegra.ph/Probros-TCP-porta-na-drugoj-IP-ili-port-cherez-NAT-v-nftables-02-13

#ит_статьи #devops #linux #nftables #nat #portforwarding #firewall #network
👍20🔥2
Визуализация TCP-трафика в Kubernetes с помощью k8spacket и Grafana

Знаете ли вы, что делает ваш k8s-кластер, когда вы на него не смотрите? Кто устанавливает с ним TCP-соединения? К кому он сам обращается - например, через сторонние библиотеки?

С помощью k8spacket и Grafana можно наглядно визуализировать TCP-трафик внутри кластера. Посмотреть, как ваши workload’ы общаются между собой. Проанализировать, сколько соединений устанавливается, сколько байт передаётся и как долго эти соединения остаются активными.

https://telegra.ph/Vizualizaciya-TCP-trafika-v-Kubernetes-s-pomoshchyu-k8spacket-i-Grafana-02-13

#ит_статьи #devops #kubernetes #network #tcp #k8spacket #grafana
👍15
Разбираемся с Buffer и Cache в Linux

Прежде чем перейти к сегодняшней теме, давайте сначала посмотрим, как система использует память - на примере вывода команды free:

$ free
total used free shared buff/cache available
Mem: 8169348 263524 6875352 668 1030472 7611064
Swap: 0 0 0


Как видно, в этом выводе содержится подробная информация об использовании физической памяти (Mem) и пространства подкачки (Swap): общий объём памяти, использованная, свободная, кэш, доступная память и так далее. Обратите внимание, что показатель buff/cache - это сумма Buffer и Cache.

Большинство этих метрик понять довольно просто, а вот различить Buffer и Cache уже сложнее. Если буквально, Buffer - это временная область хранения данных, и Cache - тоже разновидность временного хранения в памяти. Но знаете ли вы, в чём разница между этими двумя типами «временного хранилища»?

https://telegra.ph/Razbiraemsya-s-Buffer-i-Cache-v-Linux-02-15

#ит_статьи #devops #linux #memory_management #cache
👍18🤔1
Linux auditd для обнаружения угроз [Часть 2]

В первой части мы познакомились с auditd и разобрали основы написания правил. Я порекомендовал материалы для чтения и настройки, которые хорошо зарекомендовали себя в моей практике. Мы прошлись по наиболее релевантным источникам данных из MITRE и обсудили, какие правила auditd помогут их фиксировать. В конце поговорили о снижении шума и о том, как заставить auditd нормально работать в больших и разнородных окружениях.

Самым ценным выводом из первой части, на мой взгляд, было сопоставление правил и источников данных и список рекомендуемых исключений. В этой части цель такая:
- подробно разобрать одно событие auditd
- посмотреть, какие поля особенно интересны нам с точки зрения поиска противника
- обсудить несколько приёмов расследования логов в Splunk

Этот пост будет довольно лёгким и по сути служит прологом к третьей части, которая выйдет вскоре после этой.

https://telegra.ph/Linux-auditd-dlya-obnaruzheniya-ugroz-CHast-2-02-16

#ит_статьи #devsecops #linux #auditd #infosec #syscalls
👍10🔥63
Забываем про ручное создание ВМ: как автоматизировать Proxmox с Terraform

Ручное создание виртуальных машин (ВМ) в Proxmox — процесс длительный и склонный к ошибкам: нужно вручную клонировать образы, настраивать сеть, прописывать параметры, следить за согласованностью конфигураций… Всё это может занять час и больше. Но этот процесс можно ускорить и сделать более воспроизводимым.

https://telegra.ph/Zabyvaem-pro-ruchnoe-sozdanie-VM-kak-avtomatizirovat-Proxmox-s-Terraform-02-17

#ит_статьи #devops #proxmox #terraform #vm
👍22
Как использовать Zswap и Zram в Linux

В этой статье разбираем продвинутые техники управления swap в Linux с упором на механизмы сжатого swap: zswap и zram.

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

https://telegra.ph/Kak-ispolzovat-Zswap-i-Zram-v-Linux-02-18

#ит_статьи #devops #linux #kernel #swap #zswap #zram
👍15
Когда нет двух ноутов, но есть парочка экземпляров Энциклопедии профессора Фортрана

#ит_юмор #fortran #ит_книги
😁11💯8🔥64👍2