Лига сисадминов – Telegram
Лига сисадминов
12.9K subscribers
339 photos
15 videos
15 files
1.79K links
Статьи, переводы статей, заметки, и юмор на тему системного администрирования.

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

КНД: https://clck.ru/3Fy4kQ
Download Telegram
Используем файл конфигурации SSH

Каждый день нам приходиться подключаться к удалённым хостам с помощью ssh.
Сначала мы генерируем пару ключей: приватный и публичный. Публичный кладем на удаленный компьютер. Далее вбиваем в терминале что-то вроде ssh username@210.190.13.14. Соединение установлено и мы можем работать на удаленном компьютере как на собcтвенном. Отлично, но что делать если вы хотите подключаться к нескольким удаленным компьютерам? Можно поступить глупо и положить на все удаленные сервера один и тот же публичный ключ. Это будет работать, но значительно снизит безопасность таких соединений.

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

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

https://telegra.ph/Ispolzuem-fajl-konfiguracii-SSH-12-22

#ит_статьи #linux #shell #ssh #config
👍14🔥3😱1
Logrotate: приводим лог-файлы в порядок

Все, кто админил Linux, в курсе, что логи имеют свойство расти как на дрожжах (в отдельных случаях катастрофически быстро). Без контроля они спокойно сожрут весь диск, и не подавятся.
На помощь, для решения этой проблемы, приходит logrotate - стандартная утилита, которая автоматически ротирует, сжимает и при необходимости удаляет старые логи. С ней система остаётся стабильнее, а разбираться в логах становится намного проще.

https://telegra.ph/Logrotate-privodim-log-fajly-v-poryadok-12-23

#ит_статьи #linux #logs #logrotate
👍9🔥61
Привязка функциональных клавиш к bash

Недавно коллега задал между делом вопрос, который ввёл меня в ступор.
Как назначить F-клавиши (функциональные клавиши) на клавиатуре для выполнения команд bash?
Несмотря на много лет работы с Linux, я об этом даже не задумывался. Так что пришлось разобраться - и заодно узнать, как это делается.

Есть два рабочих способа. Либо добавить запись в файл inputrc, либо использовать команду bind. Оба варианта работают и у каждого есть свои плюсы.

https://telegra.ph/Privyazka-funkcionalnyh-klavish-k-bash-12-24

#ит_статьи #linux #shell #bash
👍14
Отслеживание утечек памяти с помощью ProcDump для Linux

Довольно часто, когда речь заходит о генерации core dump’ов по триггерам, связанным с памятью, мы сталкиваемся с проблемой: как понять, куда именно таинственным образом утекает память, имея на руках только core dump? А ведь было бы здорово получить не только core dump, но и стеки вызовов для утекшей памяти. В ProcDump для Linux есть поддержка и того, и другого.

https://telegra.ph/Otslezhivanie-utechek-pamyati-s-pomoshchyu-ProcDump-dlya-Linux-12-25

#ит_статьи #linux #kernel #procdump #debug
👍16
Когда под конец года очень устал от ежедневных созвонов

#ит_юмор #созвоны #фон
😁12🔥11💯7👍5
Погружение в ключевые механизмы Docker: файловая система OverlayFS

Изучаем внутреннюю работу OverlayFS — файловой системы, лежащей в основе образов и контейнеров Docker. В этой статье исследована одна из частей архитектуры Docker — файловая система для Linux.

Работать с Docker CLI довольно легко — вы просто создаете, запускаете, проверяете, извлекаете и отправляете контейнеры и образы. Но задумывались ли вы над тем, как на самом деле работают внутренние компоненты в Docker-интерфейсе?

Здесь скрывается множество интересных технологий, и в этой статье мы рассмотрим одну из них — union filesystem — файловую систему, лежащую в основе всех слоев контейнеров и образов.

https://telegra.ph/Polnoe-pogruzhenie-v-Docker-fajlovaya-sistema-OverlayFS-12-27

#ит_статьи #devops #linux #docker #overlayfs
👍16
IPv6 в доменных сетях: скрытый фактор атак на Active Directory

Во многих современных IT-системах IPv6, как правило, включён по умолчанию. Это относится и к операционным системам, и к серверам, и к сетевому оборудованию, и к контейнерным платформам. Даже если в компании или проекте официально используется только IPv4, IPv6 чаще всего уже присутствует и функционирует — без явного внимания со стороны архитекторов и специалистов по ИБ.

Это важный момент, потому что безопасность обычно строится вокруг того, что явно спроектировано. Если протокол не заложен в архитектуру, под него редко настраивают фильтрацию, мониторинг и контроль. IPv6 в таких случаях — не «новая технология», а незадокументированный элемент системы.

На уровне операционных систем ситуация выглядит достаточно просто. Windows, Linux и другие распространённые ОС по умолчанию включают IPv6-стек. Хост получает link-local адрес, начинает участвовать в обмене служебным IPv6-трафиком и может принимать соединения по IPv6, даже если в сети никто сознательно не планировал его использование. При этом администратор уверен, что система «IPv4-only», потому что все прикладные настройки и политики на хостах делались именно под IPv4. Фильтрация и правила доступа при этом настраиваются только для IPv4, потому что именно он фигурирует в техническом задании и в документации.

Да, нормальный межсетевой экран настроен на блокировку всех соединений, если явно не разрешено иное. Однако IPv6 трафик на этапе атаки не ходит через пограничный сетевой файрвол, который «рулит» основной частью трафика. Он остается в своем сегменте и ходит между соседями, хостовый файрвол которых разрешает такие соединения.

В результате сервер может оказаться доступным по IPv6 по совершенно другой логике, чем по IPv4, и это долгое время остаётся незамеченным. Отсутствие контроля приводит к тому, что всё использование IPv6 в организации является неучтенной поверхностью атаки.

https://telegra.ph/IPv6-v-domennyh-setyah-skrytyj-faktor-atak-na-Active-Directory-12-28

#ит_статьи #network #windows #active_directory #ipv6
👍16👀1
ComplianceAsCode/content

ComplianceAsCode/content
— это мощный набор инструментов для автоматизации проверки соответствия систем стандартам безопасности.

Репозиторий содержит готовые политики и профили для популярных стандартов (CIS, DISA STIG, PCI DSS и др.), которые можно применять для Linux-систем. Всё построено на основе SCAP (Security Content Automation Protocol).

Основные возможности:
- Автоматическая генерация правил и профилей безопасности.
- Проверка конфигурации систем на соответствие стандартам.
- Интеграция с инструментами вроде OpenSCAP.
- Поддержка множества дистрибутивов Linux (RHEL, Fedora, Ubuntu, Debian и др.).

Этот проект идеально подходит для DevSecOps и админов, которым нужно централизованно управлять политиками безопасности и быть уверенными, что инфраструктура соответствует нормативам.

https://github.com/ComplianceAsCode/content

#ит_заметки #devsecops #security #ansible #hardening
👍10🔥66
Объяснение команды file в Linux: как мгновенно определить реальный тип файла

Расширения файлов в Linux часто вводят в заблуждение. Файл с именем noscript.sh может не быть скриптом. Файл с именем backup.tar.gz может не быть архивом. Поэтому администраторы Linux часто полагаются на команду file.

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

#ит_статьи #linux #shell #file #cheatsheet
👍18
Построение кластера высокой доступности с HAProxy и Keepalived в Docker

Высокая доступность (aka HA) критически важна, если вы хотите, чтобы веб-приложения оставались доступными даже при сбоях оборудования или программного обеспечения. Архитектура HA распределяет трафик между несколькими серверами и позволяет избежать единой точки отказа. В этой статье мы разберём, как построить кластер высокой доступности с использованием HAProxy и Keepalived - двух мощных инструментов для балансировки нагрузки и failover’а.

Чтобы повысить гибкость и упростить развёртывание, мы будем использовать Docker для контейнеризации HAProxy, Keepalived и наших веб-приложений. Docker позволяет собрать переносимую и удобную в управлении HA-конфигурацию, которую можно запускать в разных средах - как on-premises, так и в облаке.

По ходу руководства мы пройдём весь путь целиком: от настройки Docker-сетей и сборки Dockerfile’ов до конфигурации HAProxy и Keepalived для бесшовного failover’а. В итоге у вас получится полностью рабочий HA-кластер, который гарантирует постоянную доступность веб-приложений - и всё это в Docker-окружении.

https://telegra.ph/Postroenie-klastera-vysokoj-dostupnosti-s-HAProxy-i-Keepalived-v-Docker-01-01

#ит_статьи #devops #linux #haproxy #keepalived #docker
👍17
Внутри ядра Docker: что на самом деле происходит при запуске контейнера

Когда вы вводите в командную строку docker run nginx - кажется, что произошло какое-то волшебство: за считанные секунды появляется полностью изолированная среда. Но здесь нет никакой магии, а просто инженерия ядра Linux. Давайте подробнее разберём эту тему подробнее и изучим, что именно происходит внутри ядра, когда Docker создаёт контейнер.

https://telegra.ph/Vnutri-yadra-Docker-chto-na-samom-dele-proishodit-pri-zapuske-kontejnera-01-02

#ит_статьи #devops #docker #linux #kernel
👍22
Awesome Sysadmin

Awesome Sysadmin - это огромный список отличных бесплатных и открытых ресурсов для системных администраторов.

https://github.com/awesome-foss/awesome-sysadmin

#ит_заметки #devops #open_source #github #cheatsheet
👍13🔥65
Nginx для начинающих: точная настройка процессов, заголовков, SSL, keepalive и маршрутизации запросов

Nginx часто воспринимают как «просто веб-сервер», который достаточно поставить и запустить с дефолтным конфигом. На этом этапе обычно и останавливаются: процессы работают как попало, заголовки отдаются по умолчанию, SSL настроен формально, keepalive либо не используется, либо вредит, а маршрутизация запросов со временем обрастает хаотичными location. В результате конфигурация вроде бы выполняет свою задачу, но остаётся плохо управляемой, неочевидной и далёкой от оптимальной.

Эта статья — о базовых, но часто недооценённых возможностях Nginx. Мы последовательно разберём настройку рабочих процессов, управление HTTP-заголовками, корректную конфигурацию SSL, работу keepalive-соединений и маршрутизацию запросов. Без магии и редких трюков — только то, что действительно используется в продакшене и позволяет сделать конфигурацию понятной, предсказуемой и безопасной даже для начинающего администратора

https://telegra.ph/Nginx-dlya-nachinayushchih-tochnaya-nastrojka-processov-zagolovkov-SSL-keepalive-i-marshrutizacii-zaprosov-01-05

#ит_статьи #devops #linux #network #nginx
👍16🔥8
Как добавить несколько IP-адресов на один сетевой интерфейс в Linux

На прошлой неделе я столкнулся с задачей. На моём домашнем сервере крутятся NFS и DLNA-сервер для фотографий на 192.168.90.106. Я хотел добавить CoreDNS, но при этом изолировать его от остальных сервисов. Разные правила фаервола, более чистые логи, проще разбираться с проблемами.

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

https://telegra.ph/Kak-dobavit-neskolko-IP-adresov-na-odin-setevoj-interfejs-v-Linux-01-06

#ит_статьи #linux #network #homelab #iptables #routing
👍8🔥4