Фотография к материалу «Безопасность»Фото: Gera Cejas / Pexels
← Все подборки Маршрут Bashdays

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

Практическая безопасность, hardening, фишинг, SSH, DNS, заголовки, атаки и защита.

securityбезопасностьфишингphishingsshddosdnsroot
134 материалов в подборке
О подборке

Подборка про угрозы, защиту и реальные инженерные меры без академической пыли.

Сначала новые

Материалы маршрута

Материалов: 134

security

Как настроить SSH-доступ по ключам и отключить пароли

Настройка sshd для входа по ключам вместо пароля: PubkeyAuthentication, PasswordAuthentication и PermitRootLogin. Как проверить дополнительные конфиги, выполнить sshd -t и не потерять доступ к серверу при перезагрузке службы.

Фото: Infinity Shutter / Pexels
linux

Зачем ограничивать PATH в Linux

Минимальный глобальный PATH снижает риск запуска программ из неожиданных каталогов и делает автоматизацию предсказуемее. Разбираем настройку через Ansible, применение в CI/CD и проверку доступности curl в чистом окружении.

Фото: Dirk Schuneman / Pexels
devops

Как не выставить порты Docker наружу

Привязка опубликованных портов Docker Compose к 127.0.0.1 закрывает прямой доступ к контейнеру извне, но оставляет его доступным для локального Nginx. Разбираем безопасный ports binding на примере Gitea и альтернативу с Traefik.

Фото: Ann H / Pexels
networks

Как поднять SOCKS-прокси через SSH

Настраиваем личный SOCKS5-прокси через SSH без доступа пользователя к shell и SFTP. Ограничиваем аккаунт в sshd_config, запускаем динамический проброс порта и подключаем Firefox с передачей DNS-запросов через прокси.

Фото: Holger Schué / Pexels
bash

Зачем ставить ./ перед запуском скрипта

Объясняем, почему исполняемый файл из текущего каталога запускают через ./ и как оболочка использует PATH. Разбираем безопасность такого поведения, опасность добавления точки в PATH и полные пути для cron.

Фото: Tom Fisk / Pexels
devops

Как масштабировать GitLab Runner без вреда продакшену

Практическая схема размещения GitLab Runner на отдельных серверах без лишней нагрузки на продакшен. Разбираем общие теги, балансировку заданий, регистрацию нескольких раннеров и деплой по SSH.

Фото: Cristian Camilo Estrada / Pexels
security

Как полностью отключить логирование в Linux

Экспериментируем с отключением системных журналов Linux, journald, rsyslog и истории Bash. Материал показывает, где остаются логи, какие побочные эффекты возникают и почему эти приёмы допустимы только в учебной среде.

Фото: Amorie Sam / Pexels
linux

Как установить Ubuntu 23 или 24 в WSL

Показываем три способа установить свежую Ubuntu в WSL: импортировать rootfs из Docker, выполнить dist-upgrade или поставить Ubuntu Preview. Внутри — команды экспорта контейнера, импорта tar-архива и проверки дистрибутивов.

Фото: Bhavishya :) / Pexels
linux

SSH known_hosts для пользователя без домашнего каталога

Настраиваем SSH-вызов от системного пользователя без домашнего каталога и убираем бесконечный запрос подтверждения fingerprint. Выносим known_hosts в общий каталог, заполняем его через ssh-keyscan и подключаем с параметром …

Фото: Mehmet Turgut Kirkgoz / Pexels
security

SSH-сертификаты для доступа к сотням серверов

Настраиваем собственный центр сертификации SSH, чтобы управлять доступом к сотням серверов без ручного обновления authorized_keys. Разбираем доверие к CA, подпись пользовательских ключей, сроки действия сертификатов и их отзыв.

Фото: Markus Spiske / Pexels
devops

Как автоматически получать SSL-сертификаты в Angie

Настраиваем встроенный ACME-клиент Angie для автоматического получения и продления SSL-сертификатов Let’s Encrypt. Устанавливаем веб-сервер, добавляем домен, резервные сертификаты и проверяем конфигурацию без certbot и acme.sh.

Фото: Bulat843 / Pexels
security

Как восстановить доступ после потери приватного SSH-ключа

Семь практических сценариев восстановления доступа к серверу после потери приватного SSH-ключа. Рассматриваем парольный вход, KVM и IPMI, резервную рабочую машину, Rescue Mode и автоматизацию через Ansible или AWX.

Фото: Esra Erdem / Pexels
linux

Как настроить вход по SSH-ключу

Пошагово настраиваем вход на Linux-сервер по SSH-ключу: генерируем пару RSA, восстанавливаем публичную часть, копируем её через ssh-copy-id и выставляем права на authorized_keys. Также разбираем подключение под разными …

Фото: Obi Onyeador / Pexels
security

grep.app ищет секреты в открытых репозиториях

grep.app ищет строки кода сразу по миллионам публичных Git-репозиториев и заодно показывает последствия случайной публикации API-ключей и приватных данных. Инструмент полезен для аудита открытого кода и проверки собственных …

Фото: Nothing Ahead / Pexels
devops

Status Page для мониторинга Angie

Пакет angie-console-light добавляет веб-панель со статистикой HTTP, TCP, DNS и кешей Angie. Показываем установку пакета, конфигурацию location и обязательную защиту страницы через Basic Auth.

Фото: Sergey Sergeev / Pexels
linux

Когда использовать runuser вместо su

Команда runuser запускает процесс от имени другого пользователя без запроса пароля, когда вызывающий процесс уже обладает правами root. Это делает её удобной для системных скриптов, cron-задач и служб.

Фото: Jonathan Borba / Pexels
linux

Suicide Linux: одна ошибка — и система удалена

Suicide Linux запускается в Docker с корнем хоста и удаляет систему после первой ошибочной команды. Опасный эксперимент допустим только в одноразовой изолированной лаборатории.

Фото: Ann H / Pexels
devops

Как сверить отпечаток SSH-ключа в GitLab

Команда ssh-keygen помогает понять, тот ли приватный SSH-ключ использует GitLab Runner. Получаем MD5-отпечаток, сравниваем его с GitLab или GitHub и исправляем ошибку доступа к приватному репозиторию.

Фото: Towfiqu barbhuiya / Pexels
linux

Linux и Doom внутри PDF-файла

PDFLinux запускает Linux прямо внутри PDF в Chromium и Firefox благодаря JavaScript, PDFium и эмулятору RISC-V. Смотрим на необычный эксперимент, его ограничения, исходный код и версию Doom в PDF.

Фото: Rotimi / Pexels
security

Как SSH-ссылка раскрывает IP и логин

Подключение к чужому SSH-серверу может оставить в его логах не только IP, но и имя локального пользователя. Разбираем простой способ не раскрывать рабочий логин при проверке незнакомых SSH-ссылок.

Фото: COPPERTIST WU / Pexels
security

TOTP-коды в Vaultwarden

Vaultwarden умеет хранить ключ аутентификатора и генерировать одноразовые TOTP-коды рядом с логином и паролем. Показываем встроенную возможность на примере двухфакторной аутентификации Gitea.

Фото: Zulfugar Karimov / Pexels
linux

Двухлогинная защита SSH от мусора в логах

Идея двухлогинной схемы для SSH помогает отделить опасный перебор реальных учётных записей от фонового шума. Дополнительная часть логина также может показать, из какой группы произошла утечка.

Фото: CODE SAFE / Pexels
linux

Как выйти в root shell через Vim

Vim и Vi могут запустить интерактивную оболочку через команды -c и --cmd. Показываем, почему редактор в белом списке команд способен обойти ограниченную оболочку и открыть путь к повышению привилегий.

Фото: Diana Indriany / Pexels
linux

MySQL без пароля через .my.cnf

Настраиваем подключение к MySQL без передачи логина и пароля в командной строке или Bash-скрипте. Используем файл ~/.my.cnf, секцию client, параметр --defaults-file и безопасные права доступа.

Фото: Dan Nelson / Pexels
bash

Лучшие посты Bashdays за октябрь 2023

Собрали самые просматриваемые, пересылаемые и обсуждаемые публикации Bashdays за октябрь 2023 года. В подборке Bash, Linux, chroot, strace, VIM, архиваторы и полезные shell-инструменты.

Фото: Tiger Lily / Pexels
networks

Переезд с pfSense на OPNsense

Личный опыт второй попытки заменить pfSense на OPNsense на периметровом маршрутизаторе. Рассказываем о стабильности, интерфейсе, трёх DHCP-серверах и выборе Dnsmasq для домашней сети.

Фото: Enrique / Pexels
services

Nginx Proxy Manager для управления прокси

Nginx Proxy Manager предоставляет веб-интерфейс для reverse proxy, TLS-сертификатов Let's Encrypt, wildcard DNS Challenge и списков доступа. Сервис быстро разворачивается через Docker Compose и поддерживает пользовательские …

Фото: Brett Sayles / Pexels
linux

Безопасный sudoers для перезапуска служб

Как разрешить пользователю без пароля перезапускать только PostgreSQL, службы 1С и сервер через sudoers. Практический пример NOPASSWD и разбор аварийного восстановления после ошибки в конфигурации sudo.

Фото: Daniil Komov / Pexels
security

Самодельная двухфакторная аутентификация для SSH

Концепт второго фактора для SSH без стороннего сервиса аутентификации. Shell-скрипт после входа выдаёт код, уведомляет администратора, проверяет ответ через почту или Telegram и передаёт управление Bash.

Фото: Jakub Zerdzicki / Pexels
networks

Как проверить лимит DNS-запросов в SPF

SPF Surveyor показывает, сколько DNS-запросов требует почтовая SPF-запись и укладывается ли она в лимит 10 lookup. На реальном примере разбираем результат 36/10, удаление mx и a и проблему вложенных include.

Фото: Mikhail Nilov / Pexels
devops

Одна SSH-сессия для deploy pipeline

Объединяем несколько команд деплоя в одну SSH-сессию внутри GitLab CI pipeline. Многострочный YAML-блок с heredoc снижает риск упереться в MaxSessions или Fail2ban и делает сценарий развёртывания читаемее.

Фото: cottonbro studio / Pexels
linux

Как заменить last и lastb в Debian 13

В Debian 13 привычные команды last и lastb могут отсутствовать, но историю успешных и неудачных SSH-входов можно собрать через journalctl и gawk. Готовые команды формируют таблицу timestamp, IP и логина, поддерживают фильтр по …

Фото: Tima Miroshnichenko / Pexels
bash

Как работает fork-бомба в Bash

Разбираем fork-бомбу на Bash: как рекурсивный запуск процессов приводит к отказу в обслуживании и почему используется конвейер. Показываем читаемую форму функции и ограничение числа процессов через ulimit и limits.conf.

Фото: CK Seng / Pexels
linux

Как установить FAR в Linux через far2l

Устанавливаем двухпанельный файловый менеджер FAR в современных дистрибутивах Linux через пакет far2l. Сравниваем его с Midnight Commander, проверяем запуск в WSL и по SSH и вспоминаем эволюцию консольных файловых менеджеров.

Фото: Element5 Digital / Pexels
security

Нужен ли пароль для приватного SSH-ключа

Обсуждаем компромисс между удобством и защитой приватного SSH-ключа паролем. Разбираем модель угроз, гигиену рабочей станции и ситуации, в которых passphrase действительно снижает риск кражи ключа.

Фото: Kindel Media / Pexels
security

Как спрятать данные внутри эмодзи через ZWJ

Разбираемся, как последовательности Zero Width Joiner позволяют кодировать данные внутри одного видимого эмодзи или символа Unicode. Рассматриваем онлайн-кодер Paul Butler, устройство кодовых точек, сценарии маркировки утечек и …

Фото: cottonbro studio / Pexels
linux

Почему SSH долго подключается из-за PAM

Ищем причину многоминутной задержки при подключении к старому SSH-серверу. Проверяем UseDNS, UsePAM и модули в /etc/pam.d/sshd, чтобы локализовать тормозящий этап аутентификации и вернуть PAM после вдумчивой настройки.

Фото: panumas nikhomkhai / Pexels
devops

Зачем в Nginx используют server_name _

Разбираемся, зачем в конфигурации Nginx указывают server_name _ и как обрабатываются запросы с неизвестным Host. Сравниваем соглашение с подчёркиванием и параметр default_server, а также показываем заглушку с кодом 444.

Фото: David McElwee / Pexels
linux

Как восстановить SSH после ошибки в .bashrc

Восстанавливаем доступ по SSH, когда ошибка в .bashrc ломает интерактивную оболочку удалённого сервера. Показываем два способа входа через принудительный запуск /bin/sh и SFTP, а также объясняем риск простых ограничивающих …

Фото: Mikhail Nilov / Pexels
security

Как ограничить SFTP через MySecureShell

Настраиваем отдельный SFTP-сервер MySecureShell поверх OpenSSH и ограничиваем пользователей файловой подсистемой. Разбираем установку в Debian, смену оболочки, конфигурацию, управление скоростью и совместимость с SSHFS и rsync.

Фото: cottonbro studio / Pexels
linux

Как заблокировать консоль через vlock

Знакомимся с vlock для блокировки виртуальной консоли Linux без графического окружения. Разбираем блокировку одной или всех консолей, защиту от SysRq, скринсейверы и риск потерять доступ, если пароль пользователя забыт.

Фото: Alfredo Marco Pradil / Pexels
linux

Как искать пути повышения привилегий через LinPEAS

Проверяем Linux-сервер с помощью LinPEAS и ищем ошибки конфигурации, SUID-файлы и другие пути повышения привилегий. Показываем запуск без установки через curl или Python и объясняем, почему скрипту не нужен root.

Фото: Bulat843 / Pexels
linux

Как отлаживать SSH-подключение по логам

Ищем причины отказа SSH-аутентификации по ключам через журнал сервера и `tail`. Разбираем права на authorized_keys, неверные ключи, типовые сообщения auth.log и безопасное восстановление конфигурации.

Фото: Mikhail Nilov / Pexels
networks

Как сократить SPF-запись с помощью CIDR

Разбираемся с ограничениями длины SPF-записи и количеством DNS-запросов при её проверке. Заменяем длинный перечень IP-адресов сетями CIDR, проверяем запись валидатором и наблюдаем результат через DMARC.

Фото: Miguel Á. Padriñán / Pexels
games

Bandit как игра помогает изучать Linux

Знакомимся с Bandit от OverTheWire — консольной игрой, где уровни проходятся через SSH и команды Linux. Разбираем принцип игры, пользу для отладки и другие хакерские симуляторы вроде Uplink.

Фото: Tima Miroshnichenko / Pexels
security

Как StrictModes влияет на проверку SSH-ключей

Разбираем ошибку `bad ownership or modes` при входе по SSH-ключу и роль параметра `StrictModes`. Показываем безопасную диагностику прав `authorized_keys` и объясняем риски временного отключения проверки.

Фото: Pixabay / Pexels
security

Почему не стоит менять стандартный SSH-порт

Разбираем, почему перенос SSH с порта 22 редко повышает безопасность и лишь усложняет подключения. Вместо security through obscurity используем SSH-ключи, запрет root-входа, отключение паролей и fail2ban.

Фото: Jessica Lewis 🦋 thepaintedsquare / Pexels
linux

Как найти лишние файлы в Linux через cruft

Утилита cruft находит файлы, которые появились в Linux в обход пакетного менеджера. Настраиваем исключения для Docker и пользовательских каталогов, сохраняем отчёт и ищем забытые скрипты или подозрительные артефакты.

Фото: cottonbro studio / Pexels
security

Как перехватить пароль SSH через strace

Показываем, как strace может раскрыть пароль пользователя при входе по SSH на скомпрометированном сервере. Разбираем параметры трассировки sshd, формат полученного вывода и риск для систем после захвата root-доступа.

Фото: FBO Media / Pexels
linux

Как работают права 330 на каталог

Разбираем необычные права 330 для каталога Linux и их применение на SFTP-сервере. Показываем, как разрешить запись и удаление файлов, но скрыть список содержимого от пользователей одной учётной записи.

Фото: Benedek Kaufmann / Pexels
devops

Как безопасно перенести Docker-образы к себе

Разбираем практический ответ на блокировку публичного Docker-реестра без сомнительных прокси. Переносим официальные образы во внутреннюю инфраструктуру, фиксируем версии и сохраняем контроль над цепочкой поставки.

Фото: Wolfgang Weiser / Pexels
linux

Как смонтировать BitLocker-раздел в Linux

Пошагово подключаем зашифрованный BitLocker-раздел в Linux с помощью dislocker. Разбираем пароль и ключ восстановления, режим только для чтения, NTFS и exFAT, а также автоматическое монтирование через fstab.

Фото: cottonbro studio / Pexels
linux

Условные настройки SSH через Match

Настраиваем разные правила sshd для пользователей и адресов через блок Match. Рассматриваем парольную аутентификацию последнего шанса, шаблоны условий и проверку итоговой конфигурации командой sshd -T -C.

Фото: Alena Darmel / Pexels
bash

Зачем командам двойное тире

Разбираем назначение разделителя -- в командах Linux и показываем его работу на примерах ssh, cat и rm. Учимся безопасно передавать имена файлов и аргументы, начинающиеся с дефиса.

Фото: Arlind D / Pexels
linux

Как скрыть процессы Linux через hidepid

Ограничиваем видимость чужих процессов на многопользовательском Linux-сервере через параметры hidepid для /proc. Разбираем временное монтирование, запись в fstab и исключения доступа по группе gid.

Фото: Lisa from Pexels / Pexels
bash

Как base64 игнорирует посторонние символы

Разбираем ключ -i в GNU base64, который пропускает символы вне алфавита кодирования. Примеры показывают, как декодировать изменённые строки и почему такое сокрытие данных нельзя считать настоящим шифрованием.

Фото: Markus Spiske / Pexels
linux

Проверка целостности пакетов через debsums

Утилита debsums сверяет файлы установленных Debian-пакетов с эталонными контрольными суммами. Разбираем полную проверку, поиск изменённых файлов и конфигураций после взлома или миграции сервера.

Фото: Maor Attias / Pexels
security

SSH-бастион без доступа в интернет

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

Фото: Sakina Mammadli / Pexels
security

ED25519 против RSA для SSH

Разбираемся, почему короткий ключ ED25519 не слабее длинного RSA, какие типы SSH-ключей поддерживает OpenSSH и как конвертировать PPK из PuTTYgen. Практические команды для генерации и преобразования ключей.

Фото: Артем Зелюткин / Pexels
linux

Удалённый Linux-рабочий стол с GPU

Сравниваем X11 Forwarding и RDP в Docker для удалённой работы с графическими приложениями на Linux-сервере. Разбираем подключение GPU NVIDIA и AMD, необходимые устройства контейнера и безопасный SSH-туннель.

Фото: Andrey Matveev / Pexels
linux

Как установить сертификаты Минцифры в Ubuntu

Устанавливаем корневой и подчинённый сертификаты Минцифры в Ubuntu одной shell-командой. Проверяем subject, SHA-1 fingerprint и цепочку OpenSSL, обновляем системное хранилище CA и тестируем HTTPS через curl.

bash

Перезапуск сервиса по длине очереди RabbitMQ

Пишем Bash-скрипт, который проверяет длину очереди RabbitMQ по SSH и перезапускает зависший микросервис при накоплении писем. Разбираем cron, rabbitmqctl, awk и запуск команд от отдельного пользователя.

Фото: Pavel Danilyuk / Pexels
security

Белый список команд SSH через ONLY

Настраиваем белый список команд для SSH-пользователя с помощью Bash-скрипта ONLY и директивы command в authorized_keys. Разбираем ключи, ограничения сессии и правила .onlyrules без выдачи интерактивной оболочки.

Фото: Jakub Zerdzicki / Pexels
security

Детерминированные пароли с pwgen

Генерируем повторяемые пароли через pwgen по логину, ключевому файлу и запоминаемому модификатору. Bash-обёртка скрывает ввод, проверяет зависимости и позволяет получать тот же набор паролей без их хранения.

Фото: Pixabay / Pexels · CC0
devops

Надёжная схема резервного копирования

Практическая схема резервного копирования с защищённой СХД, внешними дисками и промежуточным сервером. Объясняем чередование носителей, локальные дневные копии и ротацию нумерованных архивов.

Фото: Aleksander Dumała / Pexels
security

Локальные SSL-сертификаты с mkcert

Создаём доверенный локальный центр сертификации и выпускаем SSL-сертификаты для localhost и внутренних доменов через mkcert. Настраиваем Windows, WSL, Scoop и общий CAROOT.

linux

Почему rm -rf удаляет систему

Разбираем Патч Бармина и поведение команды rm -rf /* в Unix-системах. Показываем раскрытие glob оболочкой, права на каталоги, интерактивный режим и защиту --preserve-root=all.

Фото: Cup of Couple / Pexels
security

Nginx-ханипот для охотников за бэкапами

Настраиваем простой honeypot в Nginx против автоматического поиска забытых архивов и дампов. Ложный бэкап отдаётся с ограничением скорости, одним соединением и отдельным журналом запросов.

Фото: Adonyi Gábor / Pexels
bash

Генератор TOTP-кодов на Bash

Собираем локальный генератор TOTP-кодов для двухфакторной аутентификации на Bash. Извлекаем секрет из QR-кода через zbarimg, генерируем OTP с oathtool и делаем меню для нескольких сервисов.

Фото: Annushka Ahuja / Pexels
networks

Локальные домены без DNS с nip.io

Показываем, как nip.io преобразует IP-адрес внутри доменного имени и позволяет открывать локальные сервисы без правки /etc/hosts. Проверяем поддомены, порты и выпуск SSL-сертификата для публичного IP.

Фото: Adem Percem / Pexels
services

Basic Auth в Nginx через Lua и MySQL

Реализуем расширенную Basic Auth-аутентификацию в Nginx с помощью Lua и базы MySQL. Скрипт OpenResty читает заголовок Authorization, хеширует пароль, проверяет пользователя и передаёт запрос в защищённый location.

Фото: Jakub Zerdzicki / Pexels
security

Безопасное меню команд через SSH

Ограничиваем SSH-пользователя интерактивным меню разрешённых административных команд. Bash-скрипт, ForceCommand и точечное правило sudoers дают перезапускать сервисы без полноценного доступа к серверу.

Фото: Fernando Narvaez / Pexels
bash

Как использовать heredoc в Bash

Разбираем heredoc в Bash на практических примерах с cat, sed, перенаправлением в файл и удалённым запуском команд по SSH. Показываю, как управлять подстановкой переменных и отступами.

Фото: Mikhail Nilov / Pexels
security

Как настроить 2FA для SSH

Пошаговая настройка двухфакторной аутентификации SSH через PAM и Google Authenticator. Разбираем конфигурацию sshd, одноразовые коды, резервный доступ и безопасную проверку новой схемы входа.

Фото: panumas nikhomkhai / Pexels
bash

Стеганография в правах доступа Linux

Прячем ASCII-сообщение в девяти битах прав доступа Linux-файлов. На Bash разбираем сдвиги битов, восьмеричные режимы chmod и кодирование текста последовательностью файлов.

Фото: Magda Ehlers / Pexels
linux

Чем отличаются su и sudo

Сравниваем su и sudo: чьи пароли они запрашивают, как переключают пользователя и что происходит с переменными окружения. Разбираем дефис у su и различия ключей sudo -s и sudo -i.

Фото: Pavel Danilyuk / Pexels
linux

Как подключиться из WSL к VirtualBox по SSH

Настраиваем проброс SSH-портов VirtualBox, чтобы подключаться к гостевой Ubuntu из WSL через Windows-хост. Разбираем правила NAT для localhost, локальной сети и КВН, а затем добавляем удобные алиасы.

Фото: | helloiamtugce | / Pexels
linux

Маршрутизация ответов через отдельный шлюз

Настраиваем policy-based routing для сервера с двумя шлюзами: API-трафик уходит через один маршрут, а ответы SSH и HTTP возвращаются через внешний шлюз. Используем netplan, отдельную таблицу маршрутизации, ip rule, iptables MARK и …

Фото: Benjamin White / Pexels
linux

Как автоматически перемонтировать SSHFS через systemd

Монтируем удалённое хранилище через SSHFS и берём подключение под контроль systemd. Создаём mount-, timer- и service-юниты, которые ждут сеть, проверяют маркерный файл и автоматически перемонтируют шару после сбоя.

Фото: Nothing Ahead / Pexels
linux

Как запускать команды на нескольких серверах через PSSH

Используем пакет PSSH для параллельного запуска команд и копирования файлов на группу Linux-серверов. Настраиваем SSH-ключи и файл инвентаря, работаем с parallel-ssh, parallel-scp, prsync, pnuke и pslurp.

Фото: RDNE Stock project / Pexels
devops

Как настроить rate limit в Nginx

Настраиваем ограничение запросов в Nginx через limit_req_zone, geo и map. Разбираем размер зоны памяти, параметры rate, burst и nodelay, белый список IP-адресов и возврат HTTP 429 вместо стандартной ошибки 503.

Фото: Abdulaziz hasan / Pexels
bash

Как передавать файлы через transfer.sh

Автоматизируем передачу файлов с сервера скриптом на Bash: проверяем размер, упаковываем крупные данные, загружаем их через curl в transfer.sh и получаем ссылку. Отдельно обсуждаем лимиты сервиса и безопасность.

Фото: Kampus Production / Pexels
security

Как Match переопределяет настройки sshd_config

Как блоки Match в sshd_config могут переопределить глобальные настройки SSH, даже если в 00-security.conf уже задан PermitRootLogin no. Разбираю приоритет параметров в Match, проверку итоговой конфигурации через sshd -T и -C, …

Фото: Adem Percem / Pexels
security

Порядок настроек в sshd_config

Почему SSH игнорирует настройки в sshd_config, хотя конфиг кажется правильным? Разбираю порядок обработки Include и файлов sshd_config.d, правило первого найденного значения параметра и распространённую ловушку с PermitRootLogin. …

Фото: Michaela St / Pexels
qa

Сколько стоит фреймворк автоматизации #1

Однажды я вручную гонял регресс 5 недель. Больше я так не хочу. Я построил фреймворк, который за 30 минут прогоняет то, на что раньше уходил месяц. Но главное — на этапе проектировки запросов мы нашли столько дефектов в SOAP API, …

Фото: Mikhail Nilov / Pexels
devops

Безопасность Docker контейнеров. Важные настройки

Разбираем безопасность Docker контейнеров на практике. Security_opt, cap_drop, read_only, pids_limit, запуск не от root, ограничения CPU/RAM, seccomp, privileged и network_mode. Показываю, какие параметры Docker Compose реально …

Фото: Bùi Hoàng Long / Pexels
security

Как я собирал «урожай» фишинга и обучал защиту

Я собрал сотни фишинговых писем на специально созданных ящиках и обучил систему распознавать их в реальном времени. Анализ показал что почти все атаки умирают в спаме ещё до входа в аккаунт. Я расскажу какие детали писем позволяют …

Фото: Gustavo Fring / Pexels
devops

Termix бесплатный менеджер серверов. Обзор

Я потыкал Termix, бесплатный аналог Termius. И Termix выигрывает в открытости, поддержке SSH туннелей и возможности управлять файлами из браузера. Минусы – нестабильный VNC, странные анимации панели и наверное необходимость ручных …

Фото: panumas nikhomkhai / Pexels
linux

Тайна вызова Less в Linux утилитах

Знаешь этот бесконечный скролл в git log? Кто-то привык к пагинации, кто-то тупо шпарит grep. Я расскажу тебе как git управляет выводом истории коммитов через внешнюю утилиту less. И да, если её убить — простыня посыплется без …

Фото: Ron Lach / Pexels
security

Массовый SSH‑скан в своей Wi‑Fi сети

Как я поймал скрытый SSH трафик с Android и iPhone через opnSense. Люди до сих пор думают, что угрозы это когда хакер в худи ломает Пентагон. На деле твой смартфон сам бодро шатает чужие SSH порты пока ты листаешь мемы. Я проверил …

Фото: Ricky Esquivel / Pexels
security

Твой сайт — решето! Или как не обосраться

Показываю на реальном примере, как проверить безопасность своего сайта через Mozilla Observatory и почему у тебя, скорее всего, там позорный рейтинг. Разбираем, что означают эти буквы A–F, какие заголовки реально важны и как с …

Фото: Stephen Andrews / Pexels
security

Как превратить DNS-сервер в пушку для DDoS-атаки

Разбираем механику DNS Amplification атак и выясняем, почему использование ANY-запросов превращает твой сервер в инструмент для DDoS. Узнай, как работают векторы усиления трафика и как правильно настроить защиту на BIND и Unbound.

Фото: RDNE Stock project / Pexels
games

Браузерный киберпанк-симулятор хакера — DeepNet

Забудьте про графику, в DeepNet всё построено на терминале и командах Bash. Игра очень атмосферная, с онлайн-миром и кучей возможностей для прокачки. Я залип на ней надолго, советую всем, кто любит подобные симуляторы.

Фото: ds rexy / Pexels
dev

Безопасное управление секретами в скриптах и приложениях

Часто в скриптах приходится работать с паролями и ключами, но как не оставить их на диске? Делюсь простым приемом на Bash и более надежным вариантом на C с блокировкой памяти. Погнали!

Фото: cottonbro studio / Pexels
security

Настройка Yubikey + WSL2 + SSH

Как подключить физический YubiKey к WSL2, чтобы использовать его для SSH без паролей и SMS. Разберёмся с проблемами прокидывания USB в WSL и сделаем автоматический скрипт, который решит баги с повторным подключением ключа.

Фото: Bia Sousa / Pexels
security

Поднимаем свой поисковик или Fuck The Google!

Хватит доверять Google! Я поднял свой приватный поисковик, который не хранит твои данные и спокойно работает через прокси. Простой гайд и мои впечатления от SearXNG. Зацени, очень крутая штука!

Фото: Markus Winkler / Pexels
linux

Как быстро скачать файл с сервера

Часто нужно быстро скачать файл с сервера, а настроить что-то сложное лень? Я расскажу, как с помощью одной команды Python поднять простой веб-сервер и скачать любой файл за пару секунд.

Фото: Elizabeth Celestino / Pexels
security

Как тебя вычисляют по шрифтам, правда о browser fingerprint

Думаешь, что инкогнито спасет твою приватность? А вот и нет! Сегодня разбираемся, как браузеры узнают тебя по шрифтам и canvas-хешу, даже если куки отключены. Делюсь своими экспериментами и советами, как запутать слежку.

Фото: cottonbro studio / Pexels
security

Интимность данных. Как вернуть контроль над своей приватностью

О том, как данные пользователей разлетаются по интернету и почему я решил полностью отказаться от сервисов Google. Делюсь крутым инструментом, который помогает легко и прозрачно защитить свою приватность на всех популярных ОС. …

Фото: Mariam Antadze / Pexels
security

Внедряем бэкдор в RSA ключ

Сегодня я покажу тебе, как зах**чить бэкдор в RSA-ключ. С чего всё началось. Да бл**ь, х*ль мусолить — даже в официальных алгоритмах возможны бэкдоры.

Фото: Olga Lazacovici / Pexels
security

Всё что нужно знать про CrowdSec

Ну вот и обзор. В большей части это вольный перевод официального сайта приложения и картинки оттуда, но есть вставки с моей инсталляции. Ссылки на многие описания сохранены. Я не использую весь потенциал продукта - это прям сто …

Фото: Caleb Oquendo / Pexels