Главная страница

лабораторная работа 7.3.2. БКС_7.3.2.5. Отчет по лабораторной работе Чтение журналов сервера СанктПетербург 2022 г. Чтение журналов сервера Задачи


Скачать 0.94 Mb.
НазваниеОтчет по лабораторной работе Чтение журналов сервера СанктПетербург 2022 г. Чтение журналов сервера Задачи
Анкорлабораторная работа 7.3.2.5
Дата31.05.2022
Размер0.94 Mb.
Формат файлаdocx
Имя файлаБКС_7.3.2.5.docx
ТипОтчет
#560864




Дисциплина
Безопасность компьютерных сетей

Отчет по лабораторной работе

Чтение журналов сервера

Санкт-Петербург

2022 г.

Чтение журналов сервера

Задачи

Часть 1. Чтение файлов журналов с использованием программ Cat, More и Less

Часть 2. Файлы журналов и Syslog

Часть 3. Файлы журналов и Journalctl

  1. Общие сведения и сценарий

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

  1. Чтение файлов журналов с использованием программ Cat, More и Less

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

      1. Открытие файлов журналов.

Файлы журналов обычно содержат информацию, представленную в виде обычного текста, который можно просмотреть практически в любой программе, пригодной для обработки текста (например, текстовых редакторах). Однако некоторые средства используются чаще других благодаря их удобству и быстродействию. В этом разделе рассматриваются четыре программы, запускаемые из командной строки: cat, more, less и tail.

CAT, производное от слова concatenate (сцепить), — инструмент, запускаемый из командной строки UNIX. Используется для чтения и вывода содержимого файла на экран. Благодаря простоте и возможности открыть текстовый файл, отображая его содержимое на терминале, работающем только в текстовом режиме, cat широко используется по сей день.

        1. Запустите ВМ рабочей станции CyberOps и откройте окно терминала.

        2. Из окна терминала выполните приведенную ниже команду для отображения содержимого файла logstash-tutorial.log, который находится в папке /home/analyst/lab.support.files/.

analyst@secOps

$ cat /home/analyst/lab.support.files/logstash-tutorial.log



Содержимое файла должно прокручиваться в окне терминала, пока не будет показано все содержимое.

В чем состоит недостаток использования cat с текстовыми файлами большого размера?

Нет разбиения страниц

Другим, широко распространенным средством отображения файлов журналов является more. Как и cat, more — средство, запускаемое из командной строки UNIX, с помощью которого можно открыть текстовый файл и вывести его содержимое на экран. Главное различие между cat и more заключается в том, что more обеспечивает разбиение страниц и пользователь может просматривать содержимое файла постранично. Для вывода следующей страницы нужно нажать клавишу пробела.

        1. Из того же окна терминала воспользуйтесь приведенной ниже командой для отображения содержимого файла logstash-tutorial.log повторно. На этот раз с использованием more:

analyst@secOps $ more /home/analyst/lab.support.files/logstash-tutorial.log

Содержимое файла должно прокручиваться в окне терминала, пока не будет показана одна страница. Нажмите клавишу пробела, чтобы перейти к следующей странице. Нажмите клавишу Enter (Ввод), чтобы показать следующую строку текста.

Что является недостатком использования more?

Основываясь на функциональных возможностях cat и more, инструмент less позволяет показывать содержимое файла страницу за страницей, одновременно позволяя пользователю просматривать ранее отображавшиеся страницы.

        1. Из того же окна терминала воспользуйтесь средством less для показа содержимого файла logstash-tutorial.log повторно.

analyst@secOps $ less /home/analyst/lab.support.files/logstash-tutorial.log

Содержимое файла должно прокручиваться в окне терминала, пока не будет показана одна страница. Нажмите клавишу пробела, чтобы перейти к следующей странице. Нажмите клавишу Enter (Ввод), чтобы показать следующую строку текста. Используйте клавиши со стрелками вверх и вниз для перемещения вперед и назад по текстовому файлу.

Нажмите клавишу q на клавиатуре для выхода из средства less.

        1. Команда tail отображает конец текстового файла. По умолчанию tail отображает последние десять строк файла.

Служит для показа последних 10 строк файла /home/analyst/lab.support.files/logstash-tutorial.log.

analyst@secOps $ tail /home/analyst/lab.support.files/logstash-tutorial.log

218.30.103.62 - - [04/Jan/2015:05:28:43 +0000] "GET /blog/geekery/xvfb-firefox.html HTTP/1.1" 200 10975 "-" "Sogou web spider/4.0(+http://www.sogou.com/docs/help/webmasters.htm#07)"

218.30.103.62 - - [04/Jan/2015:05:29:06 +0000] "GET /blog/geekery/puppet-facts-into-mcollective.html HTTP/1.1" 200 9872 "-" "Sogou web spider/4.0(+http://www.sogou.com/docs/help/webmasters.htm#07)"

198.46.149.143 - - [04/Jan/2015:05:29:13 +0000] "GET /blog/geekery/disabling-battery-in-ubuntu-vms.html?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+semicomplete%2Fmain+%28semicomplete.com+-+Jordan+Sissel%29 HTTP/1.1" 200 9316 "-" "Tiny Tiny RSS/1.11 (http://tt-rss.org/)"

198.46.149.143 - - [04/Jan/2015:05:29:13 +0000] "GET /blog/geekery/solving-good-or-bad-problems.html?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+semicomplete%2Fmain+%28semicomplete.com+-+Jordan+Sissel%29 HTTP/1.1" 200 10756 "-" "Tiny Tiny RSS/1.11 (http://tt-rss.org/)"

218.30.103.62 - - [04/Jan/2015:05:29:26 +0000] "GET /blog/geekery/jquery-interface-puffer.html%20target= HTTP/1.1" 200 202 "-" "Sogou web spider/4.0(+http://www.sogou.com/docs/help/webmasters.htm#07)"

218.30.103.62 - - [04/Jan/2015:05:29:48 +0000] "GET /blog/geekery/ec2-reserved-vs-ondemand.html HTTP/1.1" 200 11834 "-" "Sogou web spider/4.0(+http://www.sogou.com/docs/help/webmasters.htm#07)"

66.249.73.135 - - [04/Jan/2015:05:30:06 +0000] "GET /blog/web/firefox-scrolling-fix.html HTTP/1.1" 200 8956 "-" "Mozilla/5.0 (iPhone; CPU iPhone OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A5376e Safari/8536.25 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"

86.1.76.62 - - [04/Jan/2015:05:30:37 +0000] "GET /projects/xdotool/ HTTP/1.1" 200 12292 "http://www.haskell.org/haskellwiki/Xmonad/Frequently_asked_questions" "Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20140205 Firefox/24.0 Iceweasel/24.3.0"

86.1.76.62 - - [04/Jan/2015:05:30:37 +0000] "GET /reset.css HTTP/1.1" 200 1015 "http://www.semicomplete.com/projects/xdotool/" "Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20140205 Firefox/24.0 Iceweasel/24.3.0"

86.1.76.62 - - [04/Jan/2015:05:30:37 +0000] "GET /style2.css HTTP/1.1" 200 4877 "http://www.semicomplete.com/projects/xdotool/" "Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20140205 Firefox/24.0 Iceweasel/24.3.0"

      1. Активное отслеживание журналов.

В некоторых случаях желательно вести мониторинг файлов журналов по мере внесения записей в файлы журналов. В этих случаях очень полезна команда tail -f.

        1. Используйте tail -f для активного отслеживания содержимого файла /var/log/syslog.

analyst@secOps $ sudo tail –f /home/analyst/lab.support.files/logstash-tutorial.log

Чем отличаются выходные данные tail и tail -f? Дайте пояснение.

Просмотр через –f в реальном времени. Изменение файла будет отображено сразу в терминале с tail -f

        1. Для просмотра tail –f в действии откройте второе окно терминала. Организуйте дисплей таким образом, чтобы видеть оба окна терминала. Измените размеры окон, чтобы видеть оба одновременно, как показано на рисунке ниже.



В окне терминала вверху выполняется tail -f для отслеживания файла /home/analyst/lab.support.files/logstash-tutorial.log. Используйте окно терминала внизу для добавления сведений в отслеживаемый файл.

Для упрощения визуализации выберите верхнее окно терминала (в котором выполняется tail -f) и нажмите клавишу Enter (Ввод) несколько раз. В результате будет добавлено несколько строк между текущим содержимым файла и введена новая информация.

        1. Выберите нижнее окно терминала и введите следующую команду:

[analyst@secOps ]$ echo "this is a new entry to the monitored log file" >> lab.support.files/logstash-tutorial.log

Приведенная выше команда добавляет в файл /home/analyst/lab.support.files/logstash-tutorial.log сообщение "this is a new entry to the monitored log file" (это новая запись в отслеживаемый файл журнала). Поскольку tail –f отслеживает файл в данный момент, в файл добавляется строка. В верхнем окне новая строка должна отображаться в режиме реального времени.

        1. Нажмите CTRL + C, чтобы остановить выполнение tail -f и вернуться в командную строку.

        2. Закройте одно из двух окон терминала.

  1. Файлы журналов и системный журнал

Из-за их важности файлы журналов обычно размещаются на одном отслеживающем компьютере. Syslog — это система, цель которой — позволить устройствам отправлять свои файлы журналов на центральный сервер, известный как сервер syslog. Клиенты обмениваются данными с сервером syslog с использованием протокола syslog. Syslog разворачивается часто, он совместим практически со всеми вычислительными платформами.

Виртуальная машина рабочей станции CyberOps создает файлы журналов на уровне операционной системы и передает их в syslog.

        1. Используйте команду cat как root для отображения содержимого файла /var/log/syslog.1. Этот файл содержит записи журналов, создаваемые операционной системой виртуальной машины рабочей станции CyberOps и отправленные в службу syslog.

analyst@secOps $ sudo cat /var/log/syslog.1

[sudo] пароль для analyst:

Feb 7 13:23:15 secOps kernel: [5.458959] psmouse serio1: hgpk: ID: 10 00 64

Feb 7 13:23:15 secOps kernel: [5.467285] input: ImExPS/2 BYD TouchPad as /devices/platform/i8042/serio1/input/input6

Feb 7 13:23:15 secOps kernel: [5.502469] RAPL PMU: API unit is 2^-32 Joules, 4 fixed counters, 10737418240 ms ovfl timer

Feb 7 13:23:15 secOps kernel: [5.502476] RAPL PMU: hw unit of domain pp0-core 2^-0 Joules

Feb 7 13:23:15 secOps kernel: [5.502478] RAPL PMU: hw unit of domain package 2^-0 Joules

Feb 7 13:23:15 secOps kernel: [5.502479] RAPL PMU: hw unit of domain dram 2^-0 Joules

Feb 7 13:23:15 secOps kernel: [5.502480] RAPL PMU: hw unit of domain pp1-gpu 2^-0 Joules

Feb 7 13:23:15 secOps kernel: [5.672547] ppdev: user-space parallel port driver

Feb 7 13:23:15 secOps kernel: [5.709000] pcnet32 0000:00:03.0 enp0s3: renamed from eth0

Feb 7 13:23:16 secOps kernel: [6.166738] pcnet32 0000:00:03.0 enp0s3: link up, 100Mbps, full-duplex

Feb 7 13:23:16 secOps kernel: [6.706058] random: crng init done

Feb 7 13:23:18 secOps kernel: [8.318984] floppy0: no floppy controllers found

Feb 7 13:23:18 secOps kernel: [8.319028] work still pending

Feb 7 14:26:35 secOps kernel: [3806.118242] hrtimer: interrupt took 4085149 ns

Feb 7 15:02:13 secOps kernel: [5943.582952] pcnet32 0000:00:03.0 enp0s3: link down

Feb 7 15:02:19 secOps kernel: [5949.556153] pcnet32 0000:00:03.0 enp0s3: link up, 100Mbps, full-duplex

Почему команда cat должна быть выполнена как root?

/var/log/syslog принадлежит root

        1. Обратите внимание, что в файле /var/log/syslog хранятся только недавние записи журнала. Для того чтобы размер файла syslog оставался небольшим, операционная система периодически выполняет ротацию файлов журналов, переименовывая старые файлы журналов в syslog.1, syslog.2 и т. д.

Используйте команду cat для создания списка старых файлов syslog

analyst@secOps $ sudo cat /var/log/syslog.2

analyst@secOps $ sudo cat /var/log/syslog.3

analyst@secOps $ sudo cat /var/log/syslog.4

Можете ли вы назвать причины, по которым так важно правильно синхронизировать время и дату компьютеров?

Если на компьютере будет настроены неправильные дата и время, мы не сможем понять, когда именно произошло то или иное событие, записанное в журнале. Некоторые приложения и вовсе не смогут функционировать.

  1. Файлы журналов и Journalctl

Другая популярная система управления журналами называется journal. Управляется служебной программой journald, предназначена для централизованного управления журналами, независимо от источника сообщений. В контексте данной лабораторной работы самая заметная особенность управляющей программы системы journal заключается в использовании только добавляемых двоичных файлов, служащих в качестве файлов журналов.

      1. Запуск journalctl без параметров.

        1. Для того чтобы найти журналы journald, используйте команду journalctl. Средство journalctl интерпретирует и отображает записи журнала, которые ранее хранились в двоичных файлах журналов journal.

analyst@secOps $ journalctl

-- Logs begin at Fri 2014-09-26 14:13:12 EDT, end at Tue 2017-02-07 13:23:29 ES

Sep 26 14:13:12 dataAnalyzer systemd[1087]: Starting Paths.

Sep 26 14:13:12 dataAnalyzer systemd[1087]: Reached target Paths.

Sep 26 14:13:12 dataAnalyzer systemd[1087]: Starting Timers.

Sep 26 14:13:12 dataAnalyzer systemd[1087]: Reached target Timers.

Sep 26 14:13:12 dataAnalyzer systemd[1087]: Starting Sockets.

Sep 26 14:13:12 dataAnalyzer systemd[1087]: Reached target Sockets.

Sep 26 14:13:12 dataAnalyzer systemd[1087]: Starting Basic System.

Sep 26 14:13:12 dataAnalyzer systemd[1087]: Reached target Basic System.

Sep 26 14:13:12 dataAnalyzer systemd[1087]: Starting Default.

Sep 26 14:13:12 dataAnalyzer systemd[1087]: Reached target Default.

Sep 26 14:13:12 dataAnalyzer systemd[1087]: Startup finished in 18ms.

Sep 26 14:14:24 dataAnalyzer systemd[1087]: Stopping Default.

Sep 26 14:14:24 dataAnalyzer systemd[1087]: Stopped target Default.

Sep 26 14:14:24 dataAnalyzer systemd[1087]: Stopping Basic System.

Sep 26 14:14:24 dataAnalyzer systemd[1087]: Stopped target Basic System.

Sep 26 14:14:24 dataAnalyzer systemd[1087]: Stopping Paths.

Sep 26 14:14:24 dataAnalyzer systemd[1087]: Stopped target Paths.

Sep 26 14:14:24 dataAnalyzer systemd[1087]: Stopping Timers.

Sep 26 14:14:24 dataAnalyzer systemd[1087]: Stopped target Timers.

Sep 26 14:14:24 dataAnalyzer systemd[1087]: Stopping Sockets.



Примечание. При запуске journalctl в качестве root будут показаны более подробные сведения.

        1. Используйте сочетание клавиш CTRL + C для выхода.

      1. Journalctl и некоторые параметры.

Возможности средства journalctl отчасти заключаются в его параметрах. Для следующих команд используйте CRTL + C для выхода.

        1. Используйте journalctl -utc для показа всех меток времени по Гринвичу.

analyst@secOps $ sudo journalctl –utc

        1. Используйте journalctl -b для отображения записей журнала, записанных во время последней загрузки.

analyst@secOps $ sudo journalctl-b

Feb 07 08:23:13 secOps systemd-journald[172]: Time spent on flushing to /var is

Feb 07 08:23:13 secOps kernel: Linux version 4.8.12-2-ARCH (builduser@andyrtr)

Feb 07 08:23:13 secOps kernel: x86/fpu: Supporting XSAVE feature 0x001: 'x87 fl

Feb 07 08:23:13 secOps kernel: x86/fpu: Supporting XSAVE feature 0x002: 'SSE re

Feb 07 08:23:13 secOps kernel: x86/fpu: Supporting XSAVE feature 0x004: 'AVX re

Feb 07 08:23:13 secOps kernel: x86/fpu: xstate_offset[2]: 576, xstate_sizes[2]

Feb 07 08:23:13 secOps kernel: x86/fpu: Enabled xstate features 0x7, context si

Feb 07 08:23:13 secOps kernel: x86/fpu: Using 'eager' FPU context switches.

Feb 07 08:23:13 secOps kernel: e820: BIOS-provided physical RAM map:



        1. Используйте journalctl, чтобы указать службу и период времени для записей журнала. Приведенная ниже команда показывает все журналы службы nginx, записанные сегодня.

analyst@secOps $ sudo journalctl -u nginx.service --since today

        1. Используйте параметр -k для показа только сообщений, созданных ядром.

analyst@secOps $ sudo journalctl -k

        1. Аналогично средству tail -f, описанному выше, используйте параметр -f для активного отслеживания журналов по мере их записи.

analyst@secOps $ sudo journalctl – f

  1. Вопросы для повторения

Сравните Syslog и Journald. В чем заключаются преимущества и недостатки каждого из них?

Существенным недостатком Syslog является сохранение записей без учета часового пояса.

Journald является частью systemd. Имеет бинарный формат хранения логов.



написать администратору сайта