Блог

Безопасность

Укрепляем SSH за 10 минут

Отключите вход по паролю и под root, оставьте только ключи и ограничьте список пользователей.

Безопасность

Файрвол на nftables: минимальный набор

nftables заменил iptables в современных дистрибутивах. Политика drop по умолчанию и список разрешённых портов — основа любого сервера.

Безопасность

Fail2ban: баним перебор паролей

Fail2ban читает логи и временно блокирует адреса, которые долбятся в сервисы.

Серверы

Пишем собственные systemd-юниты

Юнит-файл превращает любой скрипт или бинарник в управляемый сервис с автоперезапуском.

Серверы

journalctl: поиск по логам без боли

Журнал systemd умеет фильтровать по юниту, времени и приоритету — grep почти не нужен.

Автоматизация

systemd timers вместо cron

Таймеры дают журналирование, зависимости и догон пропущенных запусков.

Хранилище

LVM: расширяем том на живой системе

Если в группе томов есть свободное место, том и файловая система растут без остановки сервисов.

Хранилище

Программный RAID с mdadm

Зеркало из двух дисков — простая защита от отказа одного накопителя. Это не замена бэкапу.

Хранилище

Резервные копии через rsync

rsync копирует только изменения и сохраняет права, ACL и xattr.

Хранилище

restic: шифрованные дедуплицированные бэкапы

restic хранит снимки в зашифрованном репозитории — локальном, по SFTP или в S3.

Серверы

Nginx как обратный прокси

Nginx принимает запросы на 80 и 443 и передаёт их приложению на локальном порту.

Безопасность

Бесплатные сертификаты Let's Encrypt

Certbot получает сертификат и сам настраивает nginx. Продление идёт по таймеру.

Серверы

Docker: команды, которые нужны каждый день

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

Серверы

Docker Compose в продакшене

Фиксируйте версии образов, храните секреты в .env и добавляйте healthcheck.

Мониторинг

Prometheus и node_exporter

node_exporter отдаёт метрики железы и ОС, Prometheus их собирает по HTTP.

Мониторинг

Дашборды Grafana и запросы PromQL

Пара готовых запросов покрывает CPU и память для любого сервера.

Мониторинг

Load average: с чего начать диагностику

Нагрузка растёт — выясните, чего не хватает: процессора, памяти или диска.

Мониторинг

Диагностика дисков: iostat и iotop

Высокий iowait и долгий отклик диска замедляют всё остальное.

Сеть

tcpdump: смотрим сетевой трафик

Когда логи молчат, пакеты расскажут правду.

Сеть

ss вместо netstat

ss быстрее и показывает больше: процессы, состояния, таймеры.

Сеть

WireGuard: свой VPN за полчаса

WireGuard — быстрый VPN с коротким конфигом и современной криптографией.

Сеть

DNS-диагностика: dig и resolvectl

Большинство «сайт не открывается» — это DNS. Проверьте записи и резолвер.

Автоматизация

Безопасные bash-скрипты

Строгий режим и trap избавят от половины ночных сюрпризов.

Автоматизация

Ansible: первый плейбук

Ansible настраивает серверы по SSH без агентов на целевой стороне.

Безопасность

SELinux без паники

Не отключайте SELinux: читайте отказы и меняйте булевы значения.

Серверы

Тюнинг ядра через sysctl

Несколько параметров заметно помогают нагруженному серверу.

Серверы

logrotate: чтобы диск не закончился

Ротация логов — самая скучная и самая полезная настройка.

Хранилище

Бэкап PostgreSQL через pg_dump

Формат custom сжимает дамп и позволяет выборочное и параллельное восстановление.