Зачем командам двойное тире
Разбираем назначение разделителя -- в командах Linux и показываем его работу на примерах ssh, cat и rm. Учимся безопасно передавать имена файлов и аргументы, начинающиеся с дефиса.
Фото: Gera Cejas / PexelsПрактическая безопасность, hardening, фишинг, SSH, DNS, заголовки, атаки и защита.
Подборка про угрозы, защиту и реальные инженерные меры без академической пыли.
Разбираем назначение разделителя -- в командах Linux и показываем его работу на примерах ssh, cat и rm. Учимся безопасно передавать имена файлов и аргументы, начинающиеся с дефиса.
Ограничиваем видимость чужих процессов на многопользовательском Linux-сервере через параметры hidepid для /proc. Разбираем временное монтирование, запись в fstab и исключения доступа по группе gid.
Разбираем ключ -i в GNU base64, который пропускает символы вне алфавита кодирования. Примеры показывают, как декодировать изменённые строки и почему такое сокрытие данных нельзя считать настоящим шифрованием.
Утилита debsums сверяет файлы установленных Debian-пакетов с эталонными контрольными суммами. Разбираем полную проверку, поиск изменённых файлов и конфигураций после взлома или миграции сервера.
Строим связку из SSH-бастиона и изолированной машины без выхода в интернет для удалённых пользователей. Настраиваем ключи, принудительную оболочку и автоматический переход на внутренний сервер.
Разбираемся, почему короткий ключ ED25519 не слабее длинного RSA, какие типы SSH-ключей поддерживает OpenSSH и как конвертировать PPK из PuTTYgen. Практические команды для генерации и преобразования ключей.
Сценарий отката сетевой конфигурации удалённого Linux-сервера без IPMI и локального администратора. Резервная копия /etc, задание cron после перезагрузки и проверка успешного входа по SSH.
Сравниваем X11 Forwarding и RDP в Docker для удалённой работы с графическими приложениями на Linux-сервере. Разбираем подключение GPU NVIDIA и AMD, необходимые устройства контейнера и безопасный SSH-туннель.
Сравниваем privileged и обычные Docker-контейнеры по capabilities, устройствам, сети и изоляции. Выбираем между --cap-add, --device и полным привилегированным режимом.
Настраиваем обязательную смену пароля, требования libpam-pwquality и защиту fail2ban для SSH. Разбираем минимальный набор мер, если клиент отказывается переходить на ключи.
Шифруем пиксели PNG с парольной фразой или отдельным файлом-ключом через ImageMagick. Проверяем расшифровку, ограничения форматов и сохранение открытых метаданных.
Проверяем существование удалённого Git-репозитория и доступ к нему через git ls-remote. Пишем Bash-скрипты для HTTPS и SSH, отключаем интерактивные запросы и возвращаем понятные коды ошибок.
Устанавливаем корневой и подчинённый сертификаты Минцифры в Ubuntu одной shell-командой. Проверяем subject, SHA-1 fingerprint и цепочку OpenSSL, обновляем системное хранилище CA и тестируем HTTPS через curl.
Пишем Bash-скрипт, который проверяет длину очереди RabbitMQ по SSH и перезапускает зависший микросервис при накоплении писем. Разбираем cron, rabbitmqctl, awk и запуск команд от отдельного пользователя.
Привязываем SSH-подключение к bastion-серверу к комбинации Alt+B в Bash через функцию и bind -x. Также разбираем псевдотерминал, reset и вариант конфигурации для Zsh.
Настраиваем белый список команд для SSH-пользователя с помощью Bash-скрипта ONLY и директивы command в authorized_keys. Разбираем ключи, ограничения сессии и правила .onlyrules без выдачи интерактивной оболочки.
Генерируем повторяемые пароли через pwgen по логину, ключевому файлу и запоминаемому модификатору. Bash-обёртка скрывает ввод, проверяет зависимости и позволяет получать тот же набор паролей без их хранения.
Практическая схема резервного копирования с защищённой СХД, внешними дисками и промежуточным сервером. Объясняем чередование носителей, локальные дневные копии и ротацию нумерованных архивов.
Создаём ограниченное окружение chroot для SSH-пользователя в Linux. Копируем Bash и зависимости через ldd, настраиваем ChrootDirectory и по одной добавляем разрешённые утилиты.
Разбираем утилиту timeout для ограничения времени работы команд и скриптов в Linux. Показываем длительности, сигналы завершения, удалённый запуск через SSH и вариант на чистом Bash.
Создаём доверенный локальный центр сертификации и выпускаем SSL-сертификаты для localhost и внутренних доменов через mkcert. Настраиваем Windows, WSL, Scoop и общий CAROOT.
Разбираем Патч Бармина и поведение команды rm -rf /* в Unix-системах. Показываем раскрытие glob оболочкой, права на каталоги, интерактивный режим и защиту --preserve-root=all.
Настраиваем простой honeypot в Nginx против автоматического поиска забытых архивов и дампов. Ложный бэкап отдаётся с ограничением скорости, одним соединением и отдельным журналом запросов.
Собираем локальный генератор TOTP-кодов для двухфакторной аутентификации на Bash. Извлекаем секрет из QR-кода через zbarimg, генерируем OTP с oathtool и делаем меню для нескольких сервисов.
Показываем, как nip.io преобразует IP-адрес внутри доменного имени и позволяет открывать локальные сервисы без правки /etc/hosts. Проверяем поддомены, порты и выпуск SSL-сертификата для публичного IP.
Реализуем расширенную Basic Auth-аутентификацию в Nginx с помощью Lua и базы MySQL. Скрипт OpenResty читает заголовок Authorization, хеширует пароль, проверяет пользователя и передаёт запрос в защищённый location.
Ограничиваем SSH-пользователя интерактивным меню разрешённых административных команд. Bash-скрипт, ForceCommand и точечное правило sudoers дают перезапускать сервисы без полноценного доступа к серверу.
Bash-скрипт для интерактивного проброса TCP-портов через SSH jump-сервер. Готовое меню помогает подключаться к службам во внутренних сетях, не меняя конфигурацию вручную.
Разбираем heredoc в Bash на практических примерах с cat, sed, перенаправлением в файл и удалённым запуском команд по SSH. Показываю, как управлять подстановкой переменных и отступами.
Пошаговая настройка двухфакторной аутентификации SSH через PAM и Google Authenticator. Разбираем конфигурацию sshd, одноразовые коды, резервный доступ и безопасную проверку новой схемы входа.
Прячем ASCII-сообщение в девяти битах прав доступа Linux-файлов. На Bash разбираем сдвиги битов, восьмеричные режимы chmod и кодирование текста последовательностью файлов.
Сравниваем su и sudo: чьи пароли они запрашивают, как переключают пользователя и что происходит с переменными окружения. Разбираем дефис у su и различия ключей sudo -s и sudo -i.
Настраиваем проброс SSH-портов VirtualBox, чтобы подключаться к гостевой Ubuntu из WSL через Windows-хост. Разбираем правила NAT для localhost, локальной сети и VPN, а затем добавляем удобные алиасы.
Настраиваем policy-based routing для сервера с двумя шлюзами: API-трафик уходит через один маршрут, а ответы SSH и HTTP возвращаются через внешний шлюз. Используем netplan, отдельную таблицу маршрутизации, ip rule, iptables MARK и …
Монтируем удалённое хранилище через SSHFS и берём подключение под контроль systemd. Создаём mount-, timer- и service-юниты, которые ждут сеть, проверяют маркерный файл и автоматически перемонтируют шару после сбоя.
Используем пакет PSSH для параллельного запуска команд и копирования файлов на группу Linux-серверов. Настраиваем SSH-ключи и файл инвентаря, работаем с parallel-ssh, parallel-scp, prsync, pnuke и pslurp.
Настраиваем ограничение запросов в Nginx через limit_req_zone, geo и map. Разбираем размер зоны памяти, параметры rate, burst и nodelay, белый список IP-адресов и возврат HTTP 429 вместо стандартной ошибки 503.
Автоматизируем передачу файлов с сервера скриптом на Bash: проверяем размер, упаковываем крупные данные, загружаем их через curl в transfer.sh и получаем ссылку. Отдельно обсуждаем лимиты сервиса и безопасность.
Как блоки Match в sshd_config могут переопределить глобальные настройки SSH, даже если в 00-security.conf уже задан PermitRootLogin no. Разбираю приоритет параметров в Match, проверку итоговой конфигурации через sshd -T и -C, …
Почему SSH игнорирует настройки в sshd_config, хотя конфиг кажется правильным? Разбираю порядок обработки Include и файлов sshd_config.d, правило первого найденного значения параметра и распространённую ловушку с PermitRootLogin. …
Однажды я вручную гонял регресс 5 недель. Больше я так не хочу. Я построил фреймворк, который за 30 минут прогоняет то, на что раньше уходил месяц. Но главное — на этапе проектировки запросов мы нашли столько дефектов в SOAP API, …
Разбираем безопасность Docker контейнеров на практике. Security_opt, cap_drop, read_only, pids_limit, запуск не от root, ограничения CPU/RAM, seccomp, privileged и network_mode. Показываю, какие параметры Docker Compose реально …
Я собрал сотни фишинговых писем на специально созданных ящиках и обучил систему распознавать их в реальном времени. Анализ показал что почти все атаки умирают в спаме ещё до входа в аккаунт. Я расскажу какие детали писем позволяют …
Я потыкал Termix, бесплатный аналог Termius. И Termix выигрывает в открытости, поддержке SSH туннелей и возможности управлять файлами из браузера. Минусы – нестабильный VNC, странные анимации панели и наверное необходимость ручных …
Знаешь этот бесконечный скролл в git log? Кто-то привык к пагинации, кто-то тупо шпарит grep. Я расскажу тебе как git управляет выводом истории коммитов через внешнюю утилиту less. И да, если её убить — простыня посыплется без …
Как я поймал скрытый SSH трафик с Android и iPhone через opnSense. Люди до сих пор думают, что угрозы это когда хакер в худи ломает Пентагон. На деле твой смартфон сам бодро шатает чужие SSH порты пока ты листаешь мемы. Я проверил …
Показываю на реальном примере, как проверить безопасность своего сайта через Mozilla Observatory и почему у тебя, скорее всего, там позорный рейтинг. Разбираем, что означают эти буквы A–F, какие заголовки реально важны и как с …
Сегодня расскажу как пентестеры и черношляпы повышают привилегии на Linux машинах и получают root доступ. Без уязвимостей и эксплоитов.
Разбираем механику DNS Amplification атак и выясняем, почему использование ANY-запросов превращает твой сервер в инструмент для DDoS. Узнай, как работают векторы усиления трафика и как правильно настроить защиту на BIND и Unbound.
Разбираемся, что такое поисковик Startpage, как включить русский язык, сделать его основным поиском в Chrome, Firefox или Edge и какие ограничения есть у его конфиденциальности.
Забудьте про графику, в DeepNet всё построено на терминале и командах Bash. Игра очень атмосферная, с онлайн-миром и кучей возможностей для прокачки. Я залип на ней надолго, советую всем, кто любит подобные симуляторы.
Раньше с Cloudflare всё было просто, а теперь бесплатных вариантов почти нет. Я расскажу, как сам прячу IP сервера и защищаю приложения с помощью NetBird и Safeline.
Часто в скриптах приходится работать с паролями и ключами, но как не оставить их на диске? Делюсь простым приемом на Bash и более надежным вариантом на C с блокировкой памяти. Погнали!
Если ты умер и хочешь чтобы твой отпрыск получил по наследству пароли от золотой коллекции прона, этот пост для тебя.
Как подключить физический YubiKey к WSL2, чтобы использовать его для SSH без паролей и SMS. Разберёмся с проблемами прокидывания USB в WSL и сделаем автоматический скрипт, который решит баги с повторным подключением ключа.
Хватит доверять Google! Я поднял свой приватный поисковик, который не хранит твои данные и спокойно работает через прокси. Простой гайд и мои впечатления от SearXNG. Зацени, очень крутая штука!
Часто нужно быстро скачать файл с сервера, а настроить что-то сложное лень? Я расскажу, как с помощью одной команды Python поднять простой веб-сервер и скачать любой файл за пару секунд.
Думаешь, что инкогнито спасет твою приватность? А вот и нет! Сегодня разбираемся, как браузеры узнают тебя по шрифтам и canvas-хешу, даже если куки отключены. Делюсь своими экспериментами и советами, как запутать слежку.
О том, как данные пользователей разлетаются по интернету и почему я решил полностью отказаться от сервисов Google. Делюсь крутым инструментом, который помогает легко и прозрачно защитить свою приватность на всех популярных ОС. …
В пентесте реверс-шелл часто превращается в головную боль. Вот проверенный способ, который помогает быстро привести его в порядок и забыть про ошибки.
Если ты устал от сложных настроек DNS и хочешь кластер «из коробки», расскажу, как я быстро развернул Technitium DNS с минимальными усилиями.
Как мы мигрировали minecraft сервер на выделенный сервер и защитились от ботов с помощью Angie, просто и эффективно.
Выбираем и включаем плагин шифрования в Obsidian, чтоб критичные данные нигде не светились.
Выстраеваем понимание что есть домен, что есть хостинг, отделаем мух от котлет.
Разбираемся почему перестал меняться дефолтный ssh порт, залазием в кишочки и обнаруживаем интересное поведение.
Сегодня я покажу тебе, как зах**чить бэкдор в RSA-ключ. С чего всё началось. Да бл**ь, х*ль мусолить — даже в официальных алгоритмах возможны бэкдоры.
Ну вот и обзор. В большей части это вольный перевод официального сайта приложения и картинки оттуда, но есть вставки с моей инсталляции. Ссылки на многие описания сохранены. Я не использую весь потенциал продукта - это прям сто …