Saturday, 31 October 2020

Zabbix performance tuning #2.

Всем привет.

Сегодня я хочу продолжить тему оптимизации производительности Zabbix. На это раз пройдемся по разделам книги «Zabbix Performance Tuning» от Luciano Alves, издательство Packt Publishing, 2015. Это материал подготовил Евгений Каменев три года тому. С тех пор ничего более подробного на эту тему я не встречал. Так что продолжим.


Zabbix - это платформа, которая состоит из трех компонентов:

1.Сервер Zabbix.

2.База данных Zabbix.

3.Фронтенд Zabbix.

Но в тему оптимизации следует включить еще два дополнительных пункта:

4.Оптимизация операционной системы Linux.

5. Мониторинг состояния Zabbix.


Далее рассмотрим каждый пункт последовательно.

1.Оптимизация Zabbix-сервера.

Использование активных Zabbix-agent проверок вместо пассивных Zabbix-agent проверок (уменьшает нагрузку на Zabbix-сервер и количество TCP-соединений).

При этом на Zabbix-агенте, возможно,есть смысл увеличить дефолтные значения параметров.

Ниже приведены дефолтные значения

BufferSend=5

BufferSize=100

На Zabbix-сервере необходимо увеличить количество процессов Zabbix-trapper, которые принимают входящие соединения активных агентов, Zabbix-sender и активных прокси.

Использование наименее дорогого с точки зрения чтения/записи базы данных типа элемента данных - (numeric(unsigned),numeric (float), character, text, log).

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

Использовать наименее дорогого с точки зрения нагрузки процессора триггера - (функции last(), nodata(), min(), max(), avg())

Например, функции min/max/avg сильнее нагружают процессор в отличии от функций last и nodata.

Время хранения данных в таблицах history,trends,events.

Уменьшаем время хранения истории с дефолтных 90 дней на 7 дней (при создании элемента данных)

Время хранения в таблице trends оставляем дефолтное 365 дней (при создании триггера)(если нет необходимости в просмотре информации за год,то сокращаем время хранения тенденций)

Время хранения событий, генерируемых триггерами, можно уменьшить с дефолтных 365 дней, чтобы не увеличивать размер таблицы events при частых колебаниях/срабатывании триггеров.

Friday, 30 October 2020

Python и Scapy - сладкая парочка #2.

Всем привет.

Продолжим нашу лабораторную работу с Python и Scapy. Начало здесь.

Сканирование порта TCP.

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

Мы можем отправить некий пакет SYN и посмотреть ответит ли определённый сервер с помощью SYN-ACK:

>>> p = sr1(IP(dst="10.0.0.14")/TCP(sport=666,dport=23,flags="S"))

>>> p.show()

###[ IP ]###

 version= 4L

 ihl= 5L

 tos= 0x0

 len= 40

 id= 25373

 flags= DF

 frag= 0L

 ttl= 62

 proto= tcp

 chksum= 0xc59b

 src= 10.0.0.14

 dst= 10.0.0.10

 options

###[ TCP ]###

 sport= telnet

 dport= 666

 seq= 0

 ack= 1

 dataofs= 5L

 reserved= 0L

 flags= RA

 window= 0

 chksum= 0x9907

 urgptr= 0

 options= {}

Wednesday, 28 October 2020

Python и Scapy - сладкая парочка #1.

Всем привет.

Повторение - мать учения.  Так уж получилось что пришлось писать макет лабораторной работы для студентов в которой участвуют Python и Scapy. Поэтому часть материала будет для вас знакома. 

Scapy является мощной программой интерактивной манипуляции пакетами на основе Python. За исключением некоторых коммерческих программ, очень немногие инструменты могут делать то, что способно выполнять Scapy, это я знаю точно. Основная разница состоит в том, что Scapy позволяет вам вручную создавать и обрабатывать ваши собственные пакеты на базовом уровне.  Буквально послойно. Имеется возможность подделывать или декодировать сетевые пакеты.

На момент написания этой заметки Scapy 2.3.3 поддерживает Python 2.7.17. Хотя и были предприняты попытки для поддержки Python 3, они всё ещё являются прототипами, поэтому мы будем применять Python 2.7 для своего случая. Основная идея в том, что Scapy 3 будет только для Python 3 и не будет обратной совместимости со Scapy 2.x. Как говорится - не впервой.

Итак, ставим саму Scapy:

admin1@admin1-VirtualBox:~$ sudo apt-get update

admin1@admin1-VirtualBox:~$ sudo apt-get install git

admin1@admin1-VirtualBox:~$ git clone https://github.com/secdev/scapy

admin1@admin1-VirtualBox:~$ cd scapy/

admin1@admin1-VirtualBox:~/scapy$ sudo python setup.py install


Быстрая проверка для того чтобы убедиться, что все пакеты установлены правильно:

admin1@admin1-VirtualBox:~/scapy$ python

Python 2.7.17 (default, Mar 30 2020)

[GCC 7.5.0] on linux2

Type "help", "copyright", "credits" or "license" for more information.

>>> from scapy.all import *

Пустой ответ значит что все ок.

Monday, 26 October 2020

Как заменить фон в Microsoft Teams.

Всем привет.

Во время карантина, многие сотрудники, работающие удаленно, используют сервисы видеосвязи. Одной из полезных фишек таких приложений является функция замены фона. Потому как нередко участники конференции не обращают внимания что попадает в кадр за их спиной. Такая возможность появилась и в Microsoft Teams. В начале особо продвинутые использовали функцию затушовывания (bluring) фона, но со временем Microsoft предложила просто менять фон на любой другой.

Функция изменения фона доступна только для бизнес-аккаунтов Microsoft Teams. Если пользователь зарегистрировался для совершения звонков семье или друзьям, программа перенаправит его в Skype. Также обращаю ваше внимание что эта функция доступна только во время самого видеозвонка.

Итак, запустите видеозвонок Teams с помощью приложения для Windows. Для предварительной настройки адресат может звонок не принимать.

Нажмите на три точки (вверху значок расширенных функций).

Выберите «Показать фоновые эффекты».

Выберите один из предложенных вариантов фона.

Нажмите внизу «Предварительный просмотр», чтобы увидеть, как будет выглядеть экран по новому.

Если вы довольны результатом, то нажмите «Применить и включить видео».

Более того, сейчас в Microsoft Teams можно загрузить и собственный фон, кнопка "Добавить".

Удачи.


Saturday, 24 October 2020

Потоковый редактор awk #2.

Всем привет.

В отличии от sed потоковый редактор awk - это еще и язык программирования, в котором есть переменные, управляющие конструкции, циклы и т.п. По этой причине awk - более мощный редактор, но менее быстрый.

# Ключевые слова awk:

* BEGIN

* break

* close

* continue

* END

* exit

* exp

* FILENAME

* for * FS

* getline

* if

* in

* index

* int

* length

* log

* next * NF

* NR

* number

* OFMT

* OFS

* ORS

* print

* printf

* RS * split

* sprintf

* sqrt

* string

* substr

* while

Friday, 23 October 2020

А была ли революция восприятия?

Всем привет.

Как я и говорил, свой блог 10 лет тому  я начал с вольного поста на тему "Закат кино или революция восприятия?" За 10 лет  можно сделать некоторые выводы. Представим что я захотел бы сегодня написать вам на ту же тему.  Вот как это выглядело бы...

Благодаря или вопреки техническому прогреcсу формат 3D еле дышит! Для дома? Не думаю. Дело в том что от 3D кино реально получить удовольствие только в IMAX. Но даже там лучше не садиться выше, т.е. дальше 10-го ряда. В 3D не должно быть видно краев экрана. Иначе туфта.

Знаете реально киноленту которую хочется пересмотреть в таком формате? Аватар! И что "Аватар"? Фантазия фантазией, но «Аватар» показал возможность делать фильмы, не только с живыми актерами, а с любыми, даже с теми которых с нами больше нет. Возможно это не всем по нраву, но такая возможность есть. Намек на это был еще в «Симона» (2002).

А вот 3D «Аватар» подкинул идею дать выбор зрителю точки просмотра тех или иных сцен фильма. Вот вы всегда хотели смотреть только прямо на происходящее? А чуть левее? А сверху? А перемещаясь не только за камерой оператора? Теперь для этого не нужна дополнительная камера и куча дублей, привет из "Дежавю" (2006), такие сцены можно сделать цифровым моделированием!

Что-то подобное начинал предлагать уoutube свои партнерам под фишкой хотспотов. Зритель к таким фокусам на 5-ти минутных роликах оказался не готов, и фишку со временем убрали.

Позже к этому фокусу вернулся Netflix, тут опять особого восторга не было ибо зритель не собирался думать за режиссера "а что если герой здесь съест бургер?". Зрителю нужна сцена, накал, страсти, в общем движ на экране от начала и до конца. Ну не привык он тыкать кнопки пульта до самого финала. Ведь руки заняты гаджетом, поп-корном или пивом. Зритель желает наслаждения от фильма. А еще нужен популярный актер, с колоссальной харизмой, чтобы мог выразить волю режиссера и вернуть деньги продюсера.

И они есть, их появление в киноленте на первых ролях это гарантия успеха, это бомба проката если в "Соблазн", "Алиби", "Фокус", "Престиж", "Превосходство","Иллюзионист", "Метод Хитча", "Не оглядывайся", "Окончательный анализ", "Список контактов", "Та, которой не было", "Игра", "Адвокат дьявола"...добавить маленькую деталь - саму идею. Идею которую никто не будет спешить разжовывать зрителю через 10 минут от начала. Что ни говори, но сюжет имеет значение!

Сюжет? Будет вам сюжет - сказал Чарли Брукер и наваял "Черное зеркало" с актерами второго плана. Все 4-е сезона он издевался над зрителем как хотел, в принципе как это умеют журналисты (это его первая профессия). Но своего добился - он доказал что мы быстрее усваиваем информацию видео-потоком независимо от того телик это, кинотеатр или сеть. От зрителя зависит только одно - умеет ли он читать между строк, т.е. кадров.

Успехов.

Thursday, 22 October 2020

Zabbix performance tuning #1.

Hi everybody.

Today I would like to present some ideas about Zabbix performance tuning. The main feature of problem with Zabbix can too many processes by graphs:
- zabbix poller processes more than 75% busy
- zabbix unreachable poller processes more than 75% busy

1. The device that collects data through Zabbix agent is in the state of monitoring, but the machine crashes or other reasons cause the zabbix agent to die. The server cannot obtain data, and the unreachable poller will rise.

2. The device that collects data through Zabbix agent is in the monitoring state, but the server takes too long to obtain data from the agent, often exceeding the server or even the timeout time, at this time the unreachable poller will increase.

So, this article is recopied from the "Gong Xiaoyi" blog, please be sure to keep this source http://gongxiaoyi.blog.51cto.com/7325139/1825492

Wednesday, 21 October 2020

Sed - потоковый редактор текстовых файлов.


Всем привет.

Говорят что bash без применения утилит обработки текста sed и awk такой же скучный как осенний дождливый день. Однако чтобы разогнать тучи надо совсем немного - научиться понимать простейшие конструкции sed и awk и нескольких базовых команд.

Мы напомним что sed это неинтерактивный редактор текстовых файлов, а аwk - это язык обработки шаблонов с C-подобным синтаксисом. 

При всех своих различиях, эти две утилиты обладают похожим синтаксисом, они обе умеют работать с регулярными выражениями, обе, по-умолчанию, читают данные с устройства stdin и обе выводят результат обработки на устройство stdout. Обе являются утилитами UNIX-систем, и прекрасно могут взаимодействовать между собой. Вывод от одной может быть перенаправлен, по конвейеру, на вход другой. Их комбинирование придает сценариям, на языке командной оболочки, мощь и гибкость языка Perl.

Сегодня мы рассмотрим sed, а аwk будет позже. 

Базис.

Итак sed - потоковый редактор, который работает со строками. Параметры его потоков это:

* строка на входе (Input Stream)

* строка в оперативной ячейке (Pattern Space)

* буфер, в который можно поместить или добавить строку (Hold Buffer)

* строка на выходе (Output Stream)


Все команды sed - это буквы:

a b c d D g G h H i n N p P q Q r s t w x y =

Каждая - определяет некоторую операцию. Как правило, большинство команд sed применяются

к оперативной ячейке и выходному потоку. Т.е. если мы напишем что-то типа

sed -r 's/file/replace/' file.txt,

то подразумевается, что замена происходит для строки, находящейся в оперативной ячейке.


Для входного потока действуют только две команды:

n - взять строку и поместить ее в оперативную ячейку

N - взять строку и добавить ее к оперативной ячейке


На буфер влияют еще три команды

h - поместить оперативную ячейку в буфер

H - добавить оперативную ячейку к буферу

x - обменять местами буфер и оперативную ячейку

Monday, 19 October 2020

Reboot Linux by Ansible.

Всем привет.

Хоть Linux и не требует своей перезагрузки так часто как Windows, но тем не менее такой вариант надо знать тоже. Мы инсталировали софт в Linux с помощью Ansible, значит и перегружать ее будем с помощью того же Ansible.

Итак, пишем наш плейбук:

 - name: Linux system reboot

  apt: name=git update_cache=yes

  hosts: test

  become: yes


  tasks:

#Первая задача: непосредственно сам ребут

  - name: Reboot host

    command: shutdown -r now "Ansible system reboot"

    async: 3600

    poll: 0

    register: linux_clone

#вторая задача: отследим когда ребут завершится - вариант первый

  - name: Wait for linux to complete

    async_status:

      jid: "{{ linux_clone.ansible_job_id }}"

    register: result

    until: result.finished

    retries: 3600

#вторая задача: отследим когда ребут завершится - вариант второй

  - name: Wait for the host to finish rebooting

    local_action: wait_for host={{ inventory_hostname }} state=started

    become: false

    delegate_to: localhost

#вторая задача отследим когда ребут завершится - вариант третий

  - name: Wait for the host to finish rebooting

    wait_for:

        host: "{{ inventory_hostname }}"

        state: started

        delay: 5

        timeout: 40

    delegate_to: localhost


где:

1) аsync говорит о том, что команду надо запустить асинхронно (т.е. продолжить выполнение, после ее запуска не дожидаясь ответа). Аsync = 3600 - выполнять не более 3600 секунд.

2) poll говорит о том, через сколько попробовать получить результат выполнения команды. 

poll = 0 - т.е. можно перейти к следующей задаче не ожидая окончания выполнения текущей

3) register: linux_clone - захватим результат чтобы работать с ним дальше

4) async_status: - читаем результат задачи linux_clone

5) jid: "{{ linux_clone.ansible_job_id }}" - по идентификатору

    register: result

6) until: result.finished - перечитываем результат повторно много раз.



Saturday, 17 October 2020

Автоматическая выгрузка вложения из письма.

Всем привет.

Можно ли в Оutlook 2016 настроить автоматическое сохранение вложения входящего сообщения на диск?

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

Создаем проект, добавляем в него новый модуль и помещаем туда такой код:

Public Sub saveAtt (itm As Outlook.MailItem)

Dim objAtt As Outlook.Attachment 'переменная для работы с вложениями
Dim saveFolder As String 'переменная для пути к папке сохранения
Dim sDateMail as string 'переманная для даты письма
'сохраняем в правильном формате время создания сообщения
sDateMail = Format(itm.CreationTime, "hh-mm-ss_dd.mm.yyyy")
'задаем путь к папке сохранения
saveFolder = "C:\Users\Username\Desktop\"
'перебираем все вложения в письме
For each objAtt in itm.Attachments
'сохраняем вложение в папку под именем: дата письма + название файла вложения
objAtt.SaveAsFile saveFolder & "\" & sDateMail & "_" & objAtt.FileName
'очищаем переменную с вложением
Set objAtt = Nothing
Next objAtt

End Sub

Далее создаем правило. Задаем условие на письма и выбираем вариант действия "Запустить скрипт". Там в списке скриптов выбираем имя созданного выше макроса. Не забываем указать: "Разработчик" - "Безопасность макросов" - "Параметры макросов" - "Включить все макросы".

Фишка 1.
В последних версиях Outlook 2016/365 после секюрных патчей вариант действия "Запустить скрипт" отсутствует. Правится это неудобство в реестре добавлением ключа:

HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Outlook\Security
DWORD: EnableUnsafeClientMailRules
Value: 1

Фишка 2.
Макрос заработает только после полной перезагрузки ОС.

Удачи.

Thursday, 15 October 2020

Инсталлируем софт с помощью Ansible #2.

Всем привет.

Ну что ж, пробуем инсталлировать софт в Linux. Хорошая новость - для Linux в Ansible имеется модуль с названием package, который предпринимает попытку определения верного диспетчера пакетов для его использования на основании той операционной системы, для которой выполняется данный плейбук.

Определить пакетный менеджер можно так:
ansible localhost -m setup | grep ansible_pkg_mgr

А выполнить так:
# This uses a variable as this changes per distribution.
- name: remove the apache package
  package:
    name: "{{ item }}"
    state: absent

Однако тут надо учесть что один и тот же пакет может иметь разное название для разных систем:
для RHEL это  httpd
для Debian/Ubuntu это apache2.

Поэтому напишем нашу роль по другому.
---
- name: Install MariaDB
  hosts: all
  become: yes

  roles:
    - installmariadb

Тогда роль installmariadb для инсталяции пакета MariaDB:

- name: Install MariaDB Server on Ubuntu or Debian
  apt:
    name: "{{ item }}"
    state: present
  loop:
    - mariadb-server
    - mariadb-client
  when: ansible_distribution == 'Debian' or ansible_distribution == 'Ubuntu'

- name: Install MariaDB Server on CentOS or RHEL
  yum:
    name: "{{ item }}"
    state: present
  loop:
    - mariadb-server
    - mariadb
  when: ansible_distribution == 'CentOS' or ansible_distribution == 'Red Hat Enterprise Linux'


Роль для деинсталяции MariaDB:

- name: Install MariaDB Server on Ubuntu or Debian
  apt:
    name: "{{ item }}"
    state: absent
  loop:
    - mariadb-server
    - mariadb-client
  when: ansible_distribution == 'Debian' or ansible_distribution == 'Ubuntu'

- name: Install MariaDB Server on CentOS or RHEL
  yum:
    name: "{{ item }}"
    state: absent
  loop:
    - mariadb-server
    - mariadb
  when: ansible_distribution == 'CentOS' or ansible_distribution == 'Red Hat Enterprise Linux'


Роль для инсталяции пакета без его предварительной загрузки:

- name: Install Virtus software on Ubuntu
  apt:
    deb: https://github.com/software.forza.com/pkg/virtus_all.deb
  when: ansible_distribution == 'Debian' or ansible_distribution == 'Ubuntu'

- name: Install Virtus software on CentOS or RHEL
  yum:
    name: https://github.com/software.forza.com/pkg/virtus.noarch.rpm
    state: present
  when: ansible_distribution == 'CentOS' or ansible_distribution == 'Red Hat Enterprise Linux'


И роль инсталляции математики без самого пакета:

- name: download virtussoft install script
  get_url:
   url: http://software.forza.com/scripts/install.sh
   dest: /root/install.sh
   mode: 0755

- name: virtussoft install (takes around 10 mins) you can see progress using: tail -f /root/virtus-install.log
  shell: /root/install.sh --force --hostname {{ inventory_hostname }} --minimal --yes
  args:
    chdir: /root

Все необходимое прописывается в install.sh. Также в этом случае следует учесть что  вызов shell будет выполнятся всегда при повторном запуске плейбука.

Удачи.




Monday, 12 October 2020

Удаленку в каждый дом.

Всем привет.

Время всеобщего карантина дало многим возможность попробовать работать на удаленке. Т.е. из дому. Самый востребованный вариант не оказался чем-то революционным. Это всем извеcтная VPN. Если в вашей кампании нет средств или времени на закупку чего-го нового для своих сотрудников то используют вариант с OpenVPN. Технические моменты - как поднять сервер и как установить клиента показано здесь.

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

Цветочки начали распускаться после того как в требованиях на домашний компьютер он указал лицензионную Windows 10 и антивирус. Разумеется пользователь привык дома использовать что-угодно не особо вникая в лицензионную чистоту программного продукта. И в тех-поддержку потянулись ходоки с просьбами активировать(крякнуть) домашнюю Windows до нормальной. Наиболее хитрые приходили с просьбами апдейта Windows 7 до 10-ки. Каждый второй ПК работал под административной учеткой с пустым паролем! При этом надо не забывать что домашний ПК это домашний ПК со всеми секретами, глюками и зоопарком нелицензионного программного обеспечения. Ввиду этого брать на себя ответственность за не контролируемые персональные ПК не хотелось.

Поэтому, по моей инициативе, тех-поддержка постаралась максимально исключить свое взаимодействие с домашними ПК пользователей.

Что было предложено:
- была еще раз переписана инструкция установки VPN-клиента до уровня "как для маленьких", чтобы пользователи могли его ставить дома своими силами;

- обязательно требовалась проверка работы web-варианта Teams через office.com. В затруднительных ситуациях это давало возможность делиться экраном домашнего ПК с нами;

- в крайнем случае мы шли навстречу клиенту и предлагали полную переустановку Windows 10 на его личный ПК. Активация действительна на 90 дней. При этом предупреждали пользователя что остается только его ответственность за сохранность данных которые могут быть утеряны в процессе. Никаких вариантов "а у меня там было" после переустановки не рассматривается. Никакого дополнительного ПО не ставится;

- предложенный наспех вариант standalone антивируса от вендора мы не стали ставить никому по причине его мутной управляемости и ограниченной по времени лицензии. Кому нужен крутой антивирус, который перестанет обновляться через полгода? Ограничились активацией Windows Defender.

На этом все. Такие времена требуют более строгого подхода.

Sunday, 11 October 2020

Читаем журналы Linux #2.

Всем привет.

Журналы, журналы журналы - это один из самых важных источников информации при возникновении любых ошибок в операционной системе Linux. Раньше в Linux для сохранения журналов сервисов использовался отдельный демон под названием syslogd. Но с приходом системы инициализации systemd большинство функций касающихся управления сервисами перешли под её управление, в том числе и управление логами.

Теперь для просмотра логов определенного сервиса или загрузки системы используется утилита journalctl. По сравнению с обычными файлами журналов, у journalctl есть несколько преимуществ. Все логи находятся в одном месте, они индексируются и структурируются, поэтому к ним можно получить доступ в нескольких удобных форматах. Наличие этой утилиты в системе не означает, что теперь вы не можете пользоваться обычными файлами логов. Большинство сервисов как и раньше пишут свои основные логи в файлы, а в лог journalctl пишутся сообщения при старте сервисов, а также различные системные сообщения.

Синтаксис команды journalctl очень простой. Достаточно выполнить команду без опций или передав ей нужные опции. Если утилита не выводит ничего, выполните её от имени суперпользователя.

Получить сообщения с самого начала:

sudo journalctl

Формат вывода лога довольно простой:

янв 13 20:55:55 sergiy-pc kernel: Linux version 4.15.0-43-generic

где:

-янв 13 20:55:55 - дата и время события;

-sergiy-pc - хост, на котором произошло событие;

-kernel - источник события, обычно это программа или сервис. В данном случае ядро;

-Linux version 4.15.0-43-generic - само сообщение.

Частенько при неудачном запуске чего либо система сама предлагает выполнить "Failed to start service use journalctl -xe for details."

sudo journalctl -xe

Чтобы отфильтровать сообщения только от определенного сервиса можно использовать опцию -u. Например:

sudo journalctl -eu zabbix-server.service

С помощью опции -f можно указать утилите, что необходимо выводить новые сообщения в реальном времени:

sudo journalctl -f

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

sudo journalctl -b

Friday, 9 October 2020

Супер-инструментарий DEFT для исследователя.

Всем привет.

Каждый специалист по форензике наверняка слышал хоть раз про инструментарий под именем DEFT. DEFT Linux - зарекомендовавший себя и довольно известный в специальном кругу инструмент профессионального криминалиста по расследованию компьютерных инцидентов. Начинка дистрибутива предназначена для проведения анализа последствий взломов, определения скрытых или потерянных данных в системе, а также для сбора доказательств в расследованиях компьютерных преступлений. По мимо Linux-платформы разработана версия и для Windows-систем с пакетом дополнений DART 2 (Digital Advanced Response Toolkit), включающий более 200 утилит.

Название DEFT Linux произошло от акронима «Digital Evidence & Forensic Toolkit». Этот дистрибутив создан усилиями группы специалистов, занимающихся расследованием компьютерных преступлений. На сегодня доступен релиз дистрибутива DEFT 8.2, предназначенного для проведения анализа последствий взломов, определения скрытых или потерянных данных в системе, а также для сбора доказательств в расследованиях компьютерных преступлений. Дистрибутив построен на базе Lubuntu и снабжен удобным графическим интерфейсом, использующим компоненты десктоп-окружения LXDE и оптимизированным для упрощения выполнения типовых операций, выполняемых при проведении расследования.


Размер загрузочного Live-образа около 3 Гб, начиная с текущей версии дистрибутив поставляется только в 64-разрядных сборках. 

В состав дистрибутива входит достаточно полная подборка профильных утилит: от антивирусов, систем поиска информации в кэше браузера, сетевых сканеров и утилит для выявления руткитов, до анализаторов содержимого диска и программ для выявления скрытых данных. Например, в комплект входят такие инструменты, как Guymager, Sleuthkit, Autopsy, dcfldd, ddrescue и linen.

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

Thursday, 8 October 2020

Инсталлируем софт с помощью Ansible.


Всем привет.

Сегодня инсталлируем софт с помощью Ansible. В качестве управляемых хостов берем Windows. Итак, я знаю четыре способа как это сделать: из пакета, прямо из интернета, и с помощью пакетного cmd-файла или PowerShell. В двух последних случаях надо предварительно закинуть на хост сам cmd-файлик или ps1.

Создаем плейбук Ansible.

- name: Windows file example playbook

  hosts: all

  gather_facts: false

Далее пишем наши задачи. Первый вариант - инсталляция из пакета: 

  tasks:

- name: Install package 

    win_package:

      path: c:\temp\install\rdcman.msi

      product_id: '{0240359E-6A4C-4884-9E94-B397A02D893C}'

      arguments: /silent /unattended

      state: present

Пусть вы желаете раскрутить Adobe Acrobat Reader на штатных хостах Windows, вы можете воспользоваться модулями win_copy или win_get_url для распространения надлежащего установщика, а затем своим модулем win_package для его установки. Однако можно использовать более изящный способ:

- name: Install Acrobat Reader

  win_chocolatey:

    name: adobereader

    state: present

Tuesday, 6 October 2020

Читаем журналы Linux.

Всем привет.

Мы в курсе что журналы - это один из самых важных источников информации при возникновении любых ошибок в операционной системе Linux. Поэтому надо знать как их вычитывать. Покажу пять самых простых способов как это сделать.

 1) Показать "хвост" журнала:

sudo tail -f /var/log/apache2/access.log

ИЛИ

sudo tailf /var/log/apache2/access.log

ИЛИ

sudo less + F /var/log/apache2/access.log

2) Покажу только две последних строки из журнала

sudo tail -n2 -f /var/log/apache2/access.log

3) Автоматически буду следить за новым журналом после того как произойдет ротация

sudo tail -F /var/log/apache2/access.log

4) Показать 2 журнала одновременно:

-предварительно требуется установка multitail  в Debian и Ubuntu

sudo apt install multitail 

$ sudo multitail /var/log/apache2/access.log /var/log/apache2/error.log

5) Следить за содержимым двух журналов одновременно:

-предварительно требуется установка lnav в Debian & Ubuntu

sudo apt install lnav 

$ sudo lnav /var/log/apache2/access.log /var/log/apache2/error.log

Коротко и по делу.

Saturday, 3 October 2020

McAfee Artemis смена IP-адреса.

Всем привет.

Бывает что для McAfee Artemis меняются IP-адреса AE-сервера, которые прописаны в ветке реестра  HKLM\SOFTWARE\McAfee. 

Разумеется, их можно поменять либо через GPO либо из командной строки выполнив команду под учеткой администратора:

reg add "HKLM\SOFTWARE\McAfee\GTI Enterprise Server" /f /v "AEServer" /t REG_SZ /d "192.168.1.13,192.168.1.12"

Но даже в этом случае вы получите сообщение "отказано в доступе" потому как McAfee защищает свои данные  в реестре особо. Поэтому предварительно  надо зайти в McAfee Еndpoint Security и в общих параметрах отключить самозащиту для реестра. 

Все.



Thursday, 1 October 2020

Кинооператор сегодня, часть 2.

Всем привет.

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

Тогда переходим к реализации технических моментов в Teams. Из Skype-а то мы уже выросли.)

Организуем встречу в Teams со стороны Модератора (Инициатор собрания), добавляем всех охочих, и не забываем добавить обезличенного пользователя типа "Studio". Studio - это будет наша президия, т.е. гости, исходя из того что не стоит им предлагать чью-то реальную учетку в Teams.

Физически имеем: зал, стол президии ПК1 (или сцена), стол модератора ПК2+проектор, и полсотни удаленных участников собрания.

Президия (как Studio) на экране монитора который стоит у нее на столе видит всех кто подсоединился удаленно. Выносная web-камера имеет штатив (типа селфи-палки), который позволяет менять фокус в направлении на гостя вручную кем либо из членов президии если необходимо. Микрофон web-камеры включен, если нет отдельного выносного микрофона. Хотя выносной очень желателен ибо микрофон камеры обычно очень слаб.

Модератор (как Инициатор) видит на экране своего монитора всех кто участвует во встрече. При это его выносная web-камера смотрит либо на трибуну (если кто-то изъявит желание говорить с трибуны) либо в зал в зависимости от того какую картинку надо передать для сюжета. Его микрофон отключен для предотвращения эха. Модератор управляет процессом только в чате, т.е. с клавиатуры. Также у модератора желательно отключить звук встроенных динамиков. Но практичнее все же использовать наушники чтобы оценить качество звука, который передается в Teams для удаленных участников.

Проектор модератора проецирует экран ПК2 1х1 на большой экран на стене. Это может быть либо презентация выступающего либо матрица иконок всех подсоединенных в Teams. Для того чтобы на стене хоть что-нибудь разглядеть большой экран должен быть как минимум затемнен. Целесообразность использования проектора у меня всегда вызывает сомнения, но его все еще требуют. 

Модератору приходится следить за теми кто подсоединяется во время встречи ибо:

- не все выключают микрофоны. Это модератор может править от себя в Teams по каждому пользователю отдельно или по всем сразу.

- некоторые пользователи забывают что встроенная web-камера на ПК (моноблок) включена даже тогда когда она зашторена. К сожалению это модератор в Teams править не может. Тогда пользователь висит на встрече черным квадратом.


Модератор поддерживает запись собрания. При этом есть одна особенность - Teams будет писать всех участников у кого включена либо камера либо микрофон. Т.е. несмотря на то что у модератора на экране будет только картинка со камеры президии, в записи кадр будет разделен между всеми кто умудрился включить (т.е. не выключить) микрофон либо камеру.

Как предварительно проверить корректность подключения в собрание? Для этого не надо создавать тестовое собрание. Достаточно выбрать назначенное будущее собрание из календаря Teams и указать "Подсоединится сейчас".

На этом все.



Версия на печать

Популярное