Ловушки PowerShell: поведение, которое ломает привычные ожидания разработчиков
В этой статье собраны непривычные, нелогичные и местами раздражающие особенности PowerShell, с которыми столкнулся в реальных проектах.
https://telegra.ph/Lovushki-PowerShell-povedenie-kotoroe-lomaet-privychnye-ozhidaniya-razrabotchikov-12-26
#ит_статьи #windows #powershell #best_practice
В этой статье собраны непривычные, нелогичные и местами раздражающие особенности PowerShell, с которыми столкнулся в реальных проектах.
https://telegra.ph/Lovushki-PowerShell-povedenie-kotoroe-lomaet-privychnye-ozhidaniya-razrabotchikov-12-26
#ит_статьи #windows #powershell #best_practice
Telegraph
Ловушки PowerShell: поведение, которое ломает привычные ожидания разработчиков
оригинал В этой статье собраны непривычные, нелогичные и местами раздражающие особенности PowerShell, с которыми столкнулся в реальных проектах. Начну со своего "любимого" поведения в PowerShell. В Powershell оператор return не то, к чему мы привыкли Сможете…
🔥9👍7✍1
Погружение в ключевые механизмы 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
Изучаем внутреннюю работу 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
Telegraph
Полное погружение в Docker: файловая система OverlayFS
Изучаем внутреннюю работу OverlayFS — файловой системы, лежащей в основе образов и контейнеров Docker. В этой статье исследована одна из частей архитектуры Docker — файловая система для Linux. Работать с Docker CLI довольно легко — вы просто создаете, запускаете…
👍17
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
Во многих современных 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
Telegraph
IPv6 в доменных сетях: скрытый фактор атак на Active Directory
Во многих современных IT-системах IPv6, как правило, включён по умолчанию. Это относится и к операционным системам, и к серверам, и к сетевому оборудованию, и к контейнерным платформам. Даже если в компании или проекте официально используется только IPv4…
👍17👀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
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
👍11🔥6✍6
Объяснение команды file в Linux: как мгновенно определить реальный тип файла
Расширения файлов в Linux часто вводят в заблуждение. Файл с именем noscript.sh может не быть скриптом. Файл с именем backup.tar.gz может не быть архивом. Поэтому администраторы Linux часто полагаются на команду file.
Команда file определяет истинный тип файла, считывая его содержимое, а не имя. В этом руководстве мы расскажем вам, как использовать команду file на примерах. Мы также приведем несколько реальных историй о решении проблем и краткую шпаргалку.
#ит_статьи #linux #shell #file #cheatsheet
Расширения файлов в Linux часто вводят в заблуждение. Файл с именем noscript.sh может не быть скриптом. Файл с именем backup.tar.gz может не быть архивом. Поэтому администраторы Linux часто полагаются на команду file.
Команда file определяет истинный тип файла, считывая его содержимое, а не имя. В этом руководстве мы расскажем вам, как использовать команду file на примерах. Мы также приведем несколько реальных историй о решении проблем и краткую шпаргалку.
#ит_статьи #linux #shell #file #cheatsheet
👍19
Построение кластера высокой доступности с 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
Высокая доступность (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
Telegraph
Построение кластера высокой доступности с HAProxy и Keepalived в Docker
Высокая доступность (aka HA) критически важна, если вы хотите, чтобы веб-приложения оставались доступными даже при сбоях оборудования или программного обеспечения. Архитектура HA распределяет трафик между несколькими серверами и позволяет избежать единой…
👍18
Внутри ядра 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
Когда вы вводите в командную строку 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
Telegraph
Внутри ядра Docker: что на самом деле происходит при запуске контейнера
оригинал Когда вы вводите в командную строку docker run nginx - кажется, что произошло какое-то волшебство: за считанные секунды появляется полностью изолированная среда. Но здесь нет никакой магии, а просто инженерия ядра Linux. Давайте подробнее разберём…
👍23
Awesome Sysadmin
Awesome Sysadmin - это огромный список отличных бесплатных и открытых ресурсов для системных администраторов.
https://github.com/awesome-foss/awesome-sysadmin
#ит_заметки #devops #open_source #github #cheatsheet
Awesome Sysadmin - это огромный список отличных бесплатных и открытых ресурсов для системных администраторов.
https://github.com/awesome-foss/awesome-sysadmin
#ит_заметки #devops #open_source #github #cheatsheet
GitHub
GitHub - awesome-foss/awesome-sysadmin: A curated list of amazingly awesome open-source sysadmin resources.
A curated list of amazingly awesome open-source sysadmin resources. - awesome-foss/awesome-sysadmin
👍14🔥6✍5
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
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
Telegraph
Nginx для начинающих: точная настройка процессов, заголовков, SSL, keepalive и маршрутизации запросов
Nginx часто воспринимают как «просто веб-сервер», который достаточно поставить и запустить с дефолтным конфигом. На этом этапе обычно и останавливаются: процессы работают как попало, заголовки отдаются по умолчанию, SSL настроен формально, keepalive либо…
👍19🔥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
На прошлой неделе я столкнулся с задачей. На моём домашнем сервере крутятся 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
Telegraph
Как добавить несколько IP-адресов на один сетевой интерфейс в Linux
Зачем мне понадобилось несколько IP на одной сетевой карте На прошлой неделе я столкнулся с задачей. На моём домашнем сервере крутятся NFS и DLNA-сервер для фотографий на 192.168.90.106. Я хотел добавить CoreDNS, но при этом изолировать его от остальных сервисов.…
👍22🔥5
Отладка Ansible
Недавно я занялся разработкой фичи для одного ansible-модуля. По дороге, разумеется, наделал багов и пришлось разбираться, как их находить и чинить. Тут было всё подряд: от проблем с вложенностью данных (очевидно - распечатай их и подвигай уровни вверх или вниз) до ошибок, связанных с попытками удалить что-то из объекта параметров ansible / его структуры данных. Сами баги были довольно простыми в исправлении, но вот с дебаггером всё оказалось не так просто.
https://telegra.ph/Otladka-Ansible-01-06
#ит_статьи #linux #devops #ansible #python #pdb #debugging
Недавно я занялся разработкой фичи для одного ansible-модуля. По дороге, разумеется, наделал багов и пришлось разбираться, как их находить и чинить. Тут было всё подряд: от проблем с вложенностью данных (очевидно - распечатай их и подвигай уровни вверх или вниз) до ошибок, связанных с попытками удалить что-то из объекта параметров ansible / его структуры данных. Сами баги были довольно простыми в исправлении, но вот с дебаггером всё оказалось не так просто.
https://telegra.ph/Otladka-Ansible-01-06
#ит_статьи #linux #devops #ansible #python #pdb #debugging
Telegraph
Отладка Ansible
Недавно я занялся разработкой фичи для одного ansible-модуля. По дороге, разумеется, наделал багов и пришлось разбираться, как их находить и чинить. Тут было всё подряд: от проблем с вложенностью данных (очевидно - распечатай их и подвигай уровни вверх или…
👍14