certbot: автоматизация TLS-сертификатов Let's Encrypt

Платный wildcard-сертификат или возня с CSR — избыточны для большинства сайтов. certbot сам получает сертификат Let’s Encrypt, вписывает его в конфиг nginx и настраивает автопродление: сертификаты живут 90 дней, продление обязано быть автоматическим. # выпуск + автонастройка nginx для домена sudo certbot certonly --nginx -d example.com -d www.example.com # автопродление настроено? (обычно systemd timer) systemctl list-timers | grep certbot # сухой прогон продления, без реального обновления sudo certbot renew --dry-run --nginx сам находит нужный server-блок. --standalone — если nginx ещё не поднят. renew --dry-run раз в квартал стоит гонять руками — чтобы не узнать о сломанном автопродлении в момент истечения сертификата. ...

25 июля 2026 г. · llexa

age: современная замена gpg для шифрования файлов

gpg умеет всё — подписи, web-of-trust, keyserver’ы, десятки опций — но для простой задачи «зашифровать файл получателю» это избыточная сложность. age делает ровно одну вещь и без конфигов. age-keygen -o key.txt # Public key: age1qy... Шифрование по публичному ключу получателя, можно на нескольких сразу: age -r age1qy... -o secret.age file.txt age -r age1qy... -r age1zx... -o secret.age file.txt Расшифровка — своим приватным ключом: age -d -i key.txt secret.age > file.txt Если получателя нет и нужен просто пароль — симметричный режим без ключей вообще: ...

23 июля 2026 г. · llexa

ssh-agent, ssh-add и ed25519-ключи по-нормальному

ed25519 — современный формат ключей: короче RSA, быстрее считается, криптографически не хуже. Для новых ключей брать его. ssh-keygen -t ed25519 -C "user@host" -f ~/.ssh/id_ed25519 eval "$(ssh-agent -s)" # запустить агент ssh-add ~/.ssh/id_ed25519 # пароль спросит раз, потом ключ в памяти ssh-add -l # какие ключи сейчас в агенте На десктопе агент обычно уже поднят DE — ssh-add -l покажет, жив ли сокет. На сервере, откуда ходишь дальше (git, другие хосты), нужен ForwardAgent yes для конкретного хоста в ~/.ssh/config — глобально небезопасно: root на промежуточном хосте получит доступ к сокету. ...

21 июля 2026 г. · llexa

nginx: усиление TLS без танцев с бубном

Дефолтный nginx с сертификатом Let’s Encrypt работает, но A на SSL Labs не даст — разрешены старые протоколы и слабые шифры. Правится парой директив в server. ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers HIGH:!aNULL:!MD5:!3DES; ssl_prefer_server_ciphers on; add_header Strict-Transport-Security "max-age=63072000" always; ssl_stapling on; # OCSP stapling — сервер сам ssl_stapling_verify on; # прикладывает статус сертификата После правки: nginx -t && systemctl reload nginx, проверка — ssl-labs.com/ssltest или openssl s_client -connect host:443 -status. HSTS с годовым max-age необратим: сломается TLS — браузеры откажутся ходить и по HTTP. Включать значение постепенно. ...

20 июля 2026 г. · llexa

lynis: аудит безопасности сервера одной командой

lynis — сканер безопасности для Linux/Unix без агента и без сети: работает локально, читает конфиги и состояние системы. На выходе — не список уязвимостей, а числовой hardening index и причина по каждой находке. apt install lynis # или git clone для последней версии lynis audit system # полный прогон, ~200 тестов lynis show tests # список проверок с ID lynis audit system --cronjob # тихий прогон для cron Результат — в /var/log/lynis.log и /var/log/lynis-report.dat. В конце — блок Suggestions с ID вида SSH-7408 и кратким пояснением. Категории: SSH-конфиг, права на файлы, устаревшие пакеты, параметры ядра — первый прогон на свежем сервере обычно выдаёт полсотни рекомендаций. ...

17 июля 2026 г. · llexa

rkhunter: охота за руткитами и бэкдорами

rkhunter (Rootkit Hunter) ищет то, что обычный антивирус на сервере не ловит: подмену системных бинарников, скрытые процессы, следы известных руткитов. Работает по базе сигнатур плюс сравнение с сохранённым эталоном — эталон нужно снять сразу после чистой установки. apt install rkhunter rkhunter --propupd # снять эталон после установки rkhunter --update # обновить базу сигнатур rkhunter --check --sk # проверка без пауз (--skip-keypress) Результат — в /var/log/rkhunter.log, предупреждения помечены [Warning]. Часть — стандартный шум (изменённые пути после апдейта пакетов, нестандартные права) — разобрать один раз и занести в /etc/rkhunter.conf через ALLOWHIDDENDIR. Для регулярного контроля — --cronjob вместо интерактивного режима. ...

17 июля 2026 г. · llexa

age: простое шифрование файлов вместо gpg

gpg для разового шифрования файла — это ключи, keyring и десяток флагов, о которые легко запнуться. age решает ту же задачу без веба доверия: ключ — одна строка, шифрование — одна команда. age-keygen -o key.txt # Public key: age1ql3z7hjy54pw3hyww5ayyfg7zqgvc7w3j2elw8zmrj2kg5sfn9aqmcac8p age -r age1ql3z7hjy54pw3hyww5ayyfg7zqgvc7w3j2elw8zmrj2kg5sfn9aqmcac8p \ -o backup.tar.age backup.tar age -d -i key.txt -o backup.tar backup.tar.age # симметричный вариант с паролем, вообще без ключей age -p -o secret.age secret.txt Формат бинарный и компактный, ключи можно хранить прямо в .ssh/ (age шифрует и на существующий ssh ed25519-ключ через ssh-to-age) — удобно для бэкапов в dotfiles-репозиториях, где полноценный gpg-keyring избыточен. ...

9 июля 2026 г. · llexa

chattr и lsattr: защита файлов на уровне ФС

chattr +i /etc/resolv.conf — файл становится иммутабельным: даже root не может изменить, удалить или переименовать его до снятия атрибута. chattr +i /etc/resolv.conf # иммутабельный chattr +a /var/log/app.log # append-only: нельзя перезаписать или удалить chattr -i /etc/resolv.conf # снять атрибут lsattr /etc/resolv.conf # ----i---------e--- lsattr -R /etc/ # рекурсивно +a (append-only) — для лог-файлов: процесс пишет, но никто не сделает truncate или rm. Работает на ext2/3/4 и btrfs; на tmpfs и vfat атрибуты не поддерживаются. ...

30 июня 2026 г. · llexa

auditd: аудит файлов и событий безопасности

auditd пишет в ядерный кольцевой буфер — ни один rootkit не подменит события до записи на диск. Смотреть за файлом паролей и sudoers: auditctl -w /etc/passwd -p wa -k passwd_changes auditctl -w /etc/sudoers -p wa -k sudo_changes Флаги -p wa — write + attribute change. -k — ключ для поиска. Правила выживают перезагрузку через /etc/audit/rules.d/audit.rules. Найти все события по ключу и посмотреть статистику входов: ausearch -k passwd_changes --interpret aureport --auth --summary aureport --failed покажет только неудачные попытки — удобно для ежедневного отчёта в cron. ...

25 июня 2026 г. · llexa

md5sum, sha256sum, b3sum: контрольные суммы в Linux

md5sum сломан криптографически с 1996 года — коллизии найдены. Для проверки целостности файлов используй sha256sum или быстрее: # классика — медленно, но везде есть md5sum file.iso sha256sum file.iso # проверить по файлу контрольных сумм sha256sum -c SHA256SUMS # сгенерировать для директории find . -type f | sort | xargs sha256sum > checksums.sha256 # BLAKE3 — быстрее SHA-256, современный стандарт b3sum file.iso # apt install b3sum Скорость на большом файле: md5sum ≈ sha256sum < sha512sum < blake2 < blake3 (в 3–5× быстрее sha256 на многоядерных). ...

25 июня 2026 г. · llexa