Слогер Создать блог
Разработка

Зачем в безопасности bash: разбор книги Cybersecurity Ops with bash

306 страниц, 2019 год, авторы Пол Тронконе и Карл Олбинг. Книга про принципы работы, а не про конкретный набор утилит — и именно поэтому её до сих пор советуют разработчикам.

Книга Cybersecurity Ops with bash вышла в 2019 году. 306 страниц, авторы Пол Тронконе и Карл Олбинг, категория — безопасность. Её регулярно включают в списки для разработчиков, и дело тут не в хайпе: инструменты за пять лет успевают смениться дважды, а способ думать о задаче остаётся. Книга как раз про второй.

Почему ставка на принципы окупается

Любой курс по безопасности рискует устареть ещё до того, как вы его закончите: интерфейсы панелей меняются, названия сканеров другие, синтаксис запросов переписали. Тронконе и Олбинг строят материал вокруг того, что меняется медленно — как выглядит нормальная работа системы, как отличить её от аномалии, как собрать данные и что с ними дальше делать.

Bash тут выбран не как модный инструмент, а как самый доступный. Он есть на любом сервере, на котором вы окажетесь: в контейнере, на роутере, на старой виртуалке, куда кроме ssh ничего не завезли. Когда инцидент уже случился, ставить туда что-то новое поздно. Вы работаете тем, что есть.

Кому это читать

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

Не подойдёт она тому, кто ищет готовые рецепты под конкретный продукт. Рецептов в стиле «нажмите эту кнопку в такой-то панели» здесь нет и быть не может.

Что на bash реально делают в безопасности

Типовой сценарий выглядит так: собрать данные из системы, отфильтровать лишнее, сравнить с тем, что было раньше, и отправить результат туда, где его увидят. Каждый шаг делается парой команд, и вся ценность в том, что цепочку можно собрать за минуту прямо в терминале, пока проблема ещё горячая.

  • Разбор логов. Вытащить все неудачные попытки входа за сутки, сгруппировать по адресам, отсортировать по количеству — это grep, awk и sort в одну строку.
  • Инвентаризация. Что за процессы слушают порты, какие файлы менялись за последние часы, у кого есть права на запись в конфиги.
  • Регулярные проверки. Скрипт по cron, который сверяет контрольные суммы важных файлов с эталоном и пишет, если что-то поехало.
  • Реакция. Заблокировать адрес, погасить процесс, снять копию каталога до того, как туда полезли руками.

Когда bash проигрывает

ЗадачаbashПолноценный язык (Python и подобные)
Разбор текстовых логовОдна строка, работает везде без установкиБольше кода ради того же результата
Проверка по расписаниюcron плюс скрипт, ничего доустанавливать не нужноНужен интерпретатор и зависимости
Сложная логика с состояниемБыстро превращается в нечитаемую кашуСтруктуры данных и тесты
Бинарные форматыПочти никакГотовые библиотеки
Запросы к APIcurl и jq закрывают простые случаиПонятнее при разборе ошибок и повторах

Правило простое: если скрипт перевалил за сотню строк или в нём появилось состояние, переносите на язык посерьёзнее. Bash хорош на дистанции в один вечер, а не в один год.

Ошибки, которые ломают всё

  1. Однострочник, который через месяц не поймёт даже автор. Имена переменных вида a и tmp2 в скрипте безопасности — плохая идея.
  2. Отсутствие кавычек вокруг переменных. Пробел в имени файла или подстановка извне превращают безобидную команду в неприятность.
  3. Запуск от root там, где хватило бы обычного пользователя. Скрипт с широкими правами и ошибкой внутри — это уже инцидент.
  4. Пароли и токены прямо в теле скрипта, который лежит в общем репозитории.

Как читать эту книгу

Терминал должен быть открыт рядом. Материал устроен так, что команды из примеров хочется сразу набрать и посмотреть, что вернётся — просто прочитанные страницы забудутся к следующему вечеру.

Книга 2019 года. Отдельные примеры и версии утилит с тех пор успели уйти вперёд, так что сверяйтесь с man-страницами на своей машине, если команда ведёт себя иначе.

И ещё: 306 страниц не нужно проходить целиком. Возьмите свою реальную задачу — разобрать логи, проверить подозрительный процесс — и читайте под неё. Книга нормально работает как справочник по подходам, а не как роман с последовательным сюжетом.

Что остаётся в сухом остатке

Cybersecurity Ops with bash не научит вас взламывать и не выдаст список инструментов, которые надо поставить. Она даёт более скучную и более полезную вещь: умение за пять минут собрать из стандартных утилит ответ на вопрос «что здесь происходит». Такое умение не привязано к версии софта и работает на любой машине, куда вас пустят по ssh.

По материалам: career. Текст переработан редакцией Слогера.

← На главную

Рекламное место — Конец поста
Реклама · Слогер

Комментарии (0)

Войдите, чтобы комментировать.

Пока нет комментариев. Будьте первым.