Новости
10.05.2020
Книга «Bash и кибербезопасность: атака, защита и анализ из командной строки Linux»
Авторы Пол Тронкон и Карл Олбинг рассказывают об инструментах и хитростях командной строки, помогающих собирать данные при упреждающей защите, анализировать логи и отслеживать состояние сетей. Пентестеры узнают, как проводить атаки, используя колоссальный функционал, встроенный практически в любую версию Linux.
Для кого эта книга
Книга «Bash и кибербезопасность» предназначена для тех, кто желает научиться работать с командной строкой в контексте компьютерной безопасности. Наша цель — не заменить существующие инструменты скриптами для командной строки, а, скорее, научить вас эффективно использовать командную строку для улучшения существующего функционала.
На протяжении всей книги мы приводим примеры таких методов безопасности, как сбор данных, их анализ и тестирование на проникновение в систему. Цель этих примеров — продемонстрировать возможности командной строки и познакомить вас с некоторыми фундаментальными методами, используемыми в инструментах более высокого уровня.
Эта книга не является введением в программирование, хотя в части I и освещены некоторые общие понятия.
Мониторинг журналов в режиме реального времени
Умение анализировать журнал после того, как событие произошло, — важный навык. Но не менее важно иметь возможность извлекать информацию из файла журнала в режиме реального времени, чтобы обнаруживать вредоносные или подозрительные действия в то время, когда они происходят. В этой главе мы рассмотрим методы чтения записей журнала по мере их создания и форматирования для вывода аналитики и создания предупреждений на основе известных показателей угрозы для работы системы или сети (indicators of compromise).
Мониторинг текстовых журналов
Самый простой способ мониторинга журнала в режиме реального времени — использовать команду tail с параметром –f — она непрерывно считывает файл и по мере добавления новых строк выводит их в stdout. Как и в предыдущих главах, для примеров будем использовать журнал доступа к веб-серверу Apache, но описанные методы актуальны для любого текстового журнала. Чтобы отслеживать журнал доступа Apache с помощью команды tail, введите следующее:
tail -f /var/logs/apache2/access.log
Вывод из команды tail может быть передан команде grep, поэтому будут выводиться только записи, соответствующие определенным критериям. В следующем примере отслеживается журнал доступа Apache и выводятся записи, соответствующие конкретному IP-адресу:
tail -f /var/logs/apache2/access.log | grep '10.0.0.152'
Можно также использовать регулярные выражения. В этом примере будут отображаться только записи, возвращающие код состояния HTTP 404 «Страница не найдена»; параметр -i добавляется для игнорирования регистра символов:
tail -f /var/logs/apache2/access.log | egrep -i 'HTTP/.*" 404'
Для очистки от посторонней информации вывод следует передать команде cut. В этом примере выполняется мониторинг журнала доступа для запросов, приводящих к коду состояния 404, а затем используется метод cut для отображения только даты/времени и запрашиваемой страницы:
$ tail -f access.log | egrep --line-buffered 'HTTP/.*" 404' | cut -d' ' -f4-7
[29/Jul/2018:13:10:05 -0400] "GET /test
[29/Jul/2018:13:16:17 -0400] "GET /test.txt
[29/Jul/2018:13:17:37 -0400] "GET /favicon.ico
Далее, чтобы убрать квадратные скобки и двойные кавычки, вы можете направить вывод в tr -d '[]"'.
Обратите внимание: здесь используется параметр --line-buffering команды egrep. Это вынуждает egrep выводить в stdout каждый раз, когда происходит разрыв строки. Без данного параметра произойдет буферизация и выходные данные не будут переданы команде cut до тех пор, пока буфер не будет заполнен. Мы не хотим так долго ждать. Данный параметр позволит команде egrep записывать каждую строку сразу по мере ее нахождения.
С полным содержанием статьи можно ознакомиться на сайте "Хабрахабр": https://habr.com/ru/company/piter/blog/501528/
Комментарии: 0
Пока нет комментариев