Обновить
220.38

Серверное администрирование *

Установка, настройка, обслуживание

Сначала показывать
Порог рейтинга
Уровень сложности

Фундаментальная проблема TLS/SSL или как потерять доверие к доверенным центрам

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров7.3K

Сегодня HTTPS считается де-факто стандартом для безопасного сёрфинга веб-страниц, но знаете ли вы о подводных камнях, на которые мы натыкаемся в самый неудобный момент? Сегодняшняя статья расскажет о самой главной из них, а так же о способе её исправления.

Поехали!

Как DNS работает через TLS: DNS-over-TLS на практике

Уровень сложностиСложный
Время на прочтение12 мин
Количество просмотров17K

Защита DNS при помощи TLS позволяет скрыть состав DNS-трафика, который обычно передаётся в открытом виде. Соединения DNS-over-TLS не так распространены, как DNS-over-HTTPS, но зато могут прозрачно применяться не только для доступа к резолверам, но и на авторитативных серверах. Посмотрим, вооружившись консольными утилитами, как всё это работает на практике.

Читать далее

Дело всегда в TCP_NODELAY

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров16K

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

Но для начала давайте проясним, о чём вообще речь. Лучше всего нам в этом поможет документ RFC896, изданный Джоном Нейглом в 19841 году. Вот описание задачи:

Обработка малых пакетов сопряжена с одной специфичной проблемой. Когда для передачи односимвольных сообщений с клавиатуры используется TCP, обычно для отправки одного байта полезных данных задействуется пакет размером 41 байт (один байт данных и 40 байт заголовка). Такие издержки в 4 000%, конечно, раздражают, но в слабо нагруженных сетях ещё терпимы.

Если коротко, то Нейгл хотел сократить затраты на отправку TCP-заголовков, чтобы повысить пропускную способность сети — вплоть до 40х! Эти крохотные пакеты поступали из двух основных источников: интерактивных приложений вроде оболочек, где пользователь вводил по одному байту за раз, и плохо реализованных программ, которые передавали сообщения ядру через множество вызовов write(). Предложенное Нейглом исправление оказалось простым и продуманным.
Читать дальше →

9 правил внедрения корпоративного ИТ-мониторинга: как сделать все правильно и избежать боли на старте

Уровень сложностиСредний
Время на прочтение16 мин
Количество просмотров6.2K

Кто бы мог подумать, что внедрение корпоративного ИТ-мониторинга может быть таким… скажем так, «интересным»? Вы начинаете с благих намерений, а заканчиваете в окружении мигающих экранов и тысячи алертов. Большинство проектов могли бы проходить гораздо быстрее, если бы не хаотичный подход. Особенно «весело» дела обстоят с legacy-системами, где документация — это древний свиток, а знания разбросаны, как пазл, потерявший половину деталей. Мы собрали 9 правил, которые помогут избежать хаоса и внедрить мониторинг без боли.

О том, «Что делать?» (без «Кто виноват?») — читайте в нашей статье.

Читать далее

Стильный современный «autoindex» в Angie/nginx без sms и сторонних модулей

Уровень сложностиПростой
Время на прочтение24 мин
Количество просмотров4.2K

Авто‑индекс — это функциональность HTTP‑сервера, позволяющая при обращении к каталогу на файловой системе автоматически выводить список содержащихся в нем файлов.

Поводом для этой статьи стал вопрос из нашего Telegram‑чата поддержки (присоединяйтесь — он открыт для всех!): «Почему в репозиториях Angie среди множества сторонних модулей отсутствует Nginx Fancy Index?».

Меня удивило, что кто‑то пользуется устаревшим модулем, поскольку ещё в 2014 году я добавил во встроенный в nginx модуль «autoindex» поддержку форматов JSON и XML, что делает сторонние решения избыточными.

Для чего понадобился сторонний модуль, упомянутый в вопросе, — вполне понятно, ведь внешний вид страницы со списком файлов по умолчанию выглядит весьма аскетично, поэтому хочется его разукрасить и улучшить. А как это сделать элегантно и просто без дополнительных модулей, я продемонстрирую наглядно на готовых примерах.

Читать далее

Как развернуть свой GitLab с CI/CD, используя IaC

Время на прочтение11 мин
Количество просмотров12K

Всем привет! Меня зовут Александр, я обучаюсь в магистратуре СПбПУ. А заодно являюсь младшим разработчиком на C++ и стараюсь использовать и внедрять практики DevOps в мою ежедневную разработку. Недавно я получил зачет за то, что развернул собственный GitLab (именно GitLab, а не аналог) на серверах Selectel с CI/CD и Container Registry. Собственно, об этом и расскажу и в статье.
Читать дальше →

Я наконец-то нашел идеальную self hosted замену для Google Keep: установка и обзор Memos

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров16K

Пробовать новые приложения для заметок — это мое немного странное хобби, о котором я случайным людям не рассказываю. Мне нравится переносить все свои тексты в новый сервис, изучать его пару дней, а потом возвращаться обратно. Но недавно я наткнулся на довольно интересный self-hosted сервис, на котором, возможно, задержусь подольше. Рассказываю все подробности о своей находке!

Читать далее

Как перестать бояться и задеплоить Django-проект в облако самым простым способом

Время на прочтение4 мин
Количество просмотров6K

Привет! По себе знаю, что любителям программирования нравится именно программировать, но очень не нравится делать деплой приложений на сервер. Пугают неведомые Linux, Docker и Gunicorn с Nginx. Что это все такое и как оно должно работать в связке?

Туториалы по деплою для новичков — просто перечисление незнакомых команд с комментариями, от которых становится еще страшнее. Так я и решил создать максимально простой гайд для начинающих, из которого выбросил абсолютно все, без чего можно обойтись на первом, тестовом деплое. Я хочу показать «скелет» действий и доказать, что это не такой страшный монстр.
Читать дальше →

Fundamentals SNMP

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров23K

SNMP (Simple Network Management Protocol) — это протокол для управления и мониторинга сетевых устройств, таких как маршрутизаторы, коммутаторы и фаерволы. Он является частью системы управления сетью и позволяет администраторам:

Раскройте все возможности SNMP

Оптимизация ресурсов виртуальных машин: как сэкономить бюджет и не потерять производительность

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров6.9K

Решение зрело уже давно, но постоянно получал один ответ: «Не трогай, работает же». Но на этот раз, когда цифры перерасхода уже были выведены жирным шрифтом и показаны директору Бизнес-центра (БЦ), ситуация изменилась. Нам дали зеленый свет на «оптимизацию».

Читать далее

Балансировка в Angie

Уровень сложностиСредний
Время на прочтение20 мин
Количество просмотров4.4K

Статья посвящена обзору возможностей балансировки в трёх продуктах: Angie, Angie PRO, Angie Load Balancer в составе Angie ADC. Angie - бесплатный продукт с открытым исходным кодом, остальные два - коммерческие продукты. Некогда Angie был создан как форк NGINX.

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

Читать далее

Автоматизация сети: как настроить DHCP-сервер в Astra Linux и забыть о ручной настройке IP

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров8.8K

В статье рассмотрена настройка DHCP-сервера в Astra Linux с использованием пакета isc-dhcp-server. Описан процесс автоматизации назначения IP-адресов, что упрощает управление сетью и экономит время администратора. Материал будет полезен всем, кто работает с сетевыми устройствами в крупных или растущих сетях.

Читать далее

Мониторинг высоконагруженных систем: поддержка SLA и масштабируемость

Уровень сложностиСредний
Время на прочтение17 мин
Количество просмотров2.8K

Это обзорная статья: высоконагруженные системы обеспечивают работу онлайн-сервисов, облачных платформ, финансовых операций, стриминговых сервисов и других цифровых решений. Их отказоустойчивость и производительность напрямую влияют на удовлетворенность пользователей и соответствие условиям SLA (Service Level Agreement). Мониторинг помогает следить за поведением систем, а также и предотвращать сбои.

Читать далее

Ближайшие события

Почему observability — это не только Grafana и Prometheus

Время на прочтение11 мин
Количество просмотров21K

Вы видите красивые графики в Grafana, алерты настроены, метрики собираются — значит, все под контролем? На самом деле, нет. Когда в продакшене что-то пойдет не так, Prometheus покажет скачок latency, но не объяснит, почему это произошло. Логи могут не содержать нужных данных. Трейсов нет. Итог — часы расследования, хаотичные гипотезы, поиски иголки в стоге сена.

Observability — одно из тех модных слов, которые часто понимают неправильно. Для многих оно сводится к связке Grafana + Prometheus, не более. Однако в реальных системах наблюдаемость (observaбыстроbility) — это больше, чем просто красивые дашборды с метриками. В этой статье разберемся, почему классический стек не покрывает все задачи, какие альтернативы есть на рынке и как построить современный observability-стек.
Читать дальше →

Тестируем СХД Tatlin.Unified Gen2

Уровень сложностиСредний
Время на прочтение19 мин
Количество просмотров5.5K

Привет, Хабр! Меня зовут Алексей Козлов, я ведущий инженер‑проектировщик в центре компетенций по вычислительным комплексам в Т1 Интеграция, занимаюсь проектированием и внедрением систем хранения данных и систем резервного копирования. Сегодня поговорим про наше тестирование «новинки» отечественного СХД‑строения от компании Yadro — Tatlin.Unified Gen2. Почему новинки в кавычках? Потому что на момент развёртывания этой системы в нашей лаборатории количество поставленных заказчикам Tatlin Unified Gen2 исчислялось сотнями. Первые отгрузки были уже в октябре 2023 года.

Читать далее

Настройка печати на Synology с принтером HP LaserJet Professional M1132 MFP

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров3.3K

Synology NAS может выполнять роль принт-сервера, позволяя печатать документы по сети без необходимости постоянно держать компьютер включённым. В этой статье я расскажу, как настроить печать через CUPS (Common UNIX Printing System) на примере HP LaserJet Professional M1132 MFP, подключённого по USB.

Это актуально для старых принтеров, у которых имеется только USB-порт, без LAN и WiFi.

В качестве рабочей отправной точки я использовал репозиторий: https://github.com/ziwork/synology-airprint

Читать далее

Постмортем: 4 мои ошибки во время отражения DDOS атаки (спойлер — выкуп в $250 мы все-таки не заплатили)

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров22K

Мой обеденный кофе прервался. Начали приходить уведомления от мониторинга, что сайт и API не отвечают, а CloudFlare отдаёт 521-ю ошибку на все запросы. Спустя пять минут ко мне в личку пришли пользователи с жалобами на неработающие приложения. А ещё спустя пять позвонил сооснователь проекта и сказал, что от нас требуют $250 за остановку DDOS'a.

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

Читать далее

Экспорт ключей TLS: зачем, почему и как реализовать с Go

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров2.1K

Недостаточно просто записать дамп TLS-трафика: чтобы влезть внутрь анализатором - нужны секретные ключи. Если предусмотреть экспорт ключей при разработке сервиса, то это поможет при отладке. А инженеры DevOps, которые сервис сопровождают, будут рады. В crypto/tls из типовых библиотек Go интерфейс для экспорта сессионных ключей встроен в базовый "конфигуратор". Кроме простого примера кода в статье рассказано, почему экспорт ключей работает, что именно выводится в экспортные файлы и как использовать результат в tshark/Wireshark.

Читать далее

LXC теряли память и падали. И при чем же здесь tmpfs и journald?

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров4.6K

Старый добрый Proxmox с его контейнерами и виртуалками - по-прежнему рабочая лошадка многих компаний. И если нарезать много-много мелких контейнеров, то может случиться, что память куда-то девается со временем, а контейнеры падают в OOM без очевидной причины. Причем не все. Причем иногда. И зачастую проще перезапустить и ехать дальше чем разбираться. А причина есть, и она оказалось довольно проста.

Читать далее

Как за пару минут установить на свой сервер Immich — полноценную замену Google и Apple iCloud

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров21K

Хейтеры скажут, что я выбираю темы для статей только ради возможности сделать к ним дурацкую обложку. И они не так уж далеки от истины! 🙈

Читать далее

Вклад авторов