Showing posts with label netflow. Show all posts
Showing posts with label netflow. Show all posts

Friday, 17 January 2025

Безнодовый ComfyUI.

Привет на привет.

В сети много жалоб что интерфейс ComfyUI сложен для понимания, эти паутины, ноды,  и т.п. Согласен, порог вхождения в GenAI через ComfyUI высокий. Но с помощью youtube все возможно, более того - так сложилось у меня лично что знакомство с GenAI я начинал именно с ComfyUI.))

это потом уже были Automatic1111 с Fooocus-м. Но сейчас уже многим очевидно что за ComfyUI будущее, и гуру от GenAI начинают медленно (чтобы подписота не разбежалась), но уверенно переводить своих прихожан на религию ComfyUI. ComfyUI можно ругать за сложность и не очевидность(весьма спорно!) некоторых моментов, но с помощью этого генератора можно сделать буквально ВСЕ. Более того, в процесс генерации можно сохранить (картинка или файл json) буквально ВСЕ параметры workflow для будуших генераций в отличие от Automatic1111 или Forge.

Кроме того сегодня ComfyUI работает в качестве бекенда в Stability Matrix, SimpleSDXL и SwarmUI. этo те случаи когда разработчики прячут GUI ComfyUI от пользователя чтобы не травмировать его психику. 

Monday, 7 October 2024

Защита сетевого оборудования.


Всем привет.

Хотя я уже далек от администрирования сетевого оборудования, но для тренировки мозга время от времени пользуюсь виртуальными лабораториями типа  CSRv, FTDv, APIC-EM. Разумеется я не мог не обратить внимания на свежее издание Базаров М. М. "Сети глазами хакера", СПб.: БХВ-Петербург, 2025. Сразу видно что ввиду внешней политики страны издания в первую очередь страдают умные головы в той же стране. Так и здесь, знаменитое издательство "БХВ-Петербург" последние годы все чаще просто переиздает популярные книги прошедших лет, либо книги современных ИТ-писателей из Индии. В данном случае изданы "записки на полях" сетевого инженера-практика. Прошу прощения, но ниже главу из книги я вычитывал трижды, хотя опечатки могли все равно остаться.

Безопасность телекоммуникационных устройств - вопрос острый, особенно в по­следнее время. Атаки на инфраструктуры провайдеров происходят все чаще. Сегодня я покажу вам,  как можно защитить сетевое оборудование от потенциального вторжения. Все команды я буду демонстрироваться на Cisco IOS. Однако сами механизмы безо­пасности реализованы у всех вендоров, отличия лишь в иерархии расположения компонентов и синтаксисе. 

Безопасность коммутационной матрицы САМ 

У Cisco IOS  есть несколько проблем сетевой безопасности.  Давайте посмотрим, на какие из них стоит обратить внимание в первую очередь. 

САМ (Content  Addressable  Memory)  - это  ассоциативная память коммутатора, внутри которой хранится таблица МАС-адресов и связанных с ними портов. Это несложный механизм, однако уже очень давно существует хулиганский вектор DоS-атаки, при которой атакующий переполняет САМ-таблицу с  помощью рас­сылки  Ethernet-кaдpoв  с  рандомизирующимися  МАС-адресами  источника,  что перебивает коммутационную матрицу.  Очень известный прием, но не упомянуть о нем я не могу. 

Защитить САМ-таблицы своих коммутаторов очень просто, достаточно использо­вать Port Security. В нашем случае эта настройка подходит для ограничения количе­ства МАС-адресов за портом коммутатора.  Допустим, если мы настроим ограниче­ние в 20  МАС-адресов на порту, а атакующий начнет в эфире флуд (каким-нибудь macof), то к порту будут уже применяться ограничения - в зависимости от настро­енной политики.  Вот пример конфигурации, при которой ставится ограничение в два МАС-адреса,  а при нарушении этого ограничения порт будет выключен. 

Router01(config)#  interface  range  gX/X 

Router01(config-if)#  switchport port-security maximum  <value> 

Router01(config-if)#  switchport port-security violation shutdown 

При такой конфигурации в момент нарушения политики МАС-адресов порт будет переведен в состояние err-disabled. Чтобы настроить автоматическое восстановле­ние порта из этого состояния, понадобится еще одна команда: 

Router01(config)#  errdisaЬle recovery  interval  120 

Router01(config)#  errdisaЬle recovery  cause  psecure-violation 

Thursday, 29 February 2024

Работа с сетью в командной строке Windows, #3.

Всем привет.

Продолжаем рассматривать сетевые утилиты командной строки Windows, сегодня у нас в фокусе NETSTAT и другая мега-утилита NET.

Утилита NETSTAT

    Утилита netstat.exe присутствует во всех версиях Windows, однако, существуют некоторые отличия используемых параметров командной строки и результатов ее выполнения, в зависимости от операционной системы. Используется для отображения TCP и UDP -соединений, слушаемых портов, таблицы маршрутизации, статистических данных для различных протоколов. 

Синтаксис:

netstat[-a] [-e] [-n] [-o] [-pProtocol] [-r] [-s] [Interval]

-a - отображение всех активных соединений по протоколам TCP и UDP, а также, списка портов, которые ожидают входящие соединения (слушаемых портов). 

-b - отображение всех активных соединений по протоколам TCP и UDP, а также, списка портов, которые ожидают входящие соединения (слушаемых портов) с информацией об именах исполняемых файлов. Данный параметр применим для операционных систем Widows XP и старше.

-e - отображение статистики Ethernet в виде счетчиков принятых и отправленных байт и пакетов. 

-n - отображение номеров портов в виде десятичных чисел.

-o - отображение соединений, включая идентификатор процесса (PID) для каждого соединения. 

-p Protocol - отображение соединений для заданного протокола. Протокол может принимать значения tcp, udp, tcpv6, udpv6 . При использовании совместно с параметром -s в качестве протокола можно задавать tcp, udp, icmp, ip, tcpv6, udpv6, icmpv6, ipv6.

-s - отображение статистических данных по протоколам TCP, UDP, ICMP, IP , TCP over IPv6, UDP over IPv6, ICMPv6, и IPv6 . Если задан параметр-p , то статистика будет отбражатися только для выбранных протоколов.

-r - отображение таблицы маршрутов. Эквивалент команды route print 

Interval - интервал обновления отображаемой информации в секундах. 

-v - отображать подробную информацию. 

/? - отобразить справку по использованию netstat 

При использовании утилиты netstat.exe удобно пользоваться командами постраничного вывода (more), перенаправления стандартного вывода в файл ( > ) и поиска текста в результатах (find). 

netstat -a | more - отобразить все соединения в постраничном режиме вывода на экран.

netstat -a > C:\netstatall.txt - отобразить все соединения с записью результатов в файл C:\netstatall.txt.

netstat -a | find /I "LISTENING" - отобразить все соединения со статусом LISTENING. Ключ /I в команде find указывает, что при поиске текста не нужно учитывать регистр символов. 

netstat -a | find /I "listening" > C:\listening.txt - отобразить все соединения со статусом LISTENING с записью результатов в файл C:\listening.txt.

Sunday, 25 February 2024

Работа с сетью в командной строке Windows, #1.

Всем привет.

При работе с сетью в командной строке Windows большинство сетевых утилит для полноценной работы требуют наличия административных привилегий. Для операционных систем семейства Windows достаточно того, чтобы пользователь работал под учетной записью члена группы администраторов. В среде операционных систем Widows интерпретатор cmd.exe должен быть запущен для выполнения с использованием пункта контекстного меню "Запустить от имени администратора". Командные файлы, в которых используются сетевые утилиты, также должны выполняться в контексте учетной записи с привилегиями администратора. 

В этом цикле статей будут представлены следующие сетевые утилиты командной строки для получения информации о сетевых настройках, выполнения операций по конфигурированию и диагностике сети: arp, ipconfig, getmac, nbtstat, netsh, netstat, net, nslookup, pathping, ping, route, telnet и tracert.


Утилита ARP

Утилита командной строки ARP.EXE присутствует во всех версиях Windows и имеет один и тот же синтаксис.

Команда ARP позволяет просматривать и изменять записи в кэш ARP (Address Resolution Protocol - протокол разрешения адресов), который представляет собой таблицу соответствия IP-адресов аппаратным адресам сетевых устройств. Аппаратный адрес - это уникальный, присвоенный при изготовлении, 6-байтный адрес сетевого устройства, например сетевой карты. Этот адрес также часто называют MAC-адресом (Media Access Control - управление доступом к среде) или Ethernet-адресом. В сетях Ethernet передаваемые и принимаемые данные всегда содержат MAC-адрес источника (Source MAC) и MAC-адрес приемника (Destination MAC). Два старших бита MAC-адреса используются для идентификации типа адреса:

- первый бит - одиночный (0) или групповой (1) адрес.

- второй бит - признак универсального (0) или локально администрируемого (1) адреса. 


Следующие 22 бита адреса содержат специальный код производителя MFG или OUI - универсальный код организации. 

Другими словами, любое сетевое устройство имеет аппаратный адрес, состоящий из 2- х частей. Старшую часть MAC - адреса, централизованно выделяемую по лицензии каждому производителю сетевого оборудования. Например, 00:E0:4C - для сетевых устройств REALTEK SEMICONDUCTOR CORP. Крупным производителям сетевого оборудования обычно принадлежит несколько диапазонов OUI . И младшую часть MAC-адреса, которая формируется при производстве оборудования, и уникальна для каждого экземпляра устройства. 

Отображение IP-адресов (формируемых программным путем), в аппаратные адреса, выполняется с помощью следующих действий:

- в сеть отправляется широковещательный запрос (ARP-request), принимаемый всеми сетевыми устройствами. Он содержит IP и Ethernet адреса отправителя, а также, целевой IP-адрес, для которого выполняется определение MAC-адреса.

- каждое устройство, принявшее запрос проверяет соответствие целевого IP-адреса, указанного в запросе, своему собственному IP-адресу. При совпадении, отправителю передается ARP-ответ (ARP-Reply), в котором содержатся IP и MAC адреса ответившего узла. Кадр с ARP-ответом содержит IP и MAC адреса как отправителя, так и получателя-составителя запроса.

- информация, полученная в ARP-ответе, заносится в ARP-кэш и может использоваться для обмена данными по IP-протоколу для данного узла. ARP-кэш представляет собой таблицу в оперативной памяти, каждая запись в которой содержит IP, MAC и возраст их разрешения. Возраст записи учитывается для того, чтобы обеспечить возможность повторного выполнения процедуры ARP при каком либо изменении соответствия адресов.


Синтаксис ARP.EXE:

arp[-a [InetAddr] [-NIfaceAddr]] [-g [InetAddr] [-NIfaceAddr]] [-dInetAddr [IfaceAddr]] [-sInetAddr EtherAddr [IfaceAddr]]

-a[ InetAddr] [ -NIfaceAddr] - ключ -a - отображает текущую таблицу ARP для всех интерфейсов. Для отображения записи конкретного IP-адреса используется ключ -a с параметром InetAdd , в качестве которого указывается IP-адрес. Если узел, отправляющий ARP-запрос имеет несколько сетевых интерфейсов, то для отображения таблицы ARP нужного интерфейса, можно использовать ключ -N с параметром IfaceAddr, в качестве которого используется IP-адрес интерфейса.

-g[ InetAddr] [ -NIfaceAddr] ключ -g идентичен ключу -a. 

-d InetAddr[ IfaceAddr] - используется для удаления записей из ARP-кэш. Возможно удаление по выбранному IP или полная очистка ARP кэш. Для удаления всех записей, вместо адреса используется символ * Если имеется несколько сетевых интерфейсов, то очистку можно выполнить для одного из них, указав в поле IfaceAddr его IP .

-s InetAddr EtherAddr [ IfaceAddr] - используется для добавления статических записей в таблицу ARP. Статические записи хранятся в ARP-кэш постоянно. Обычно, добавление статических записей используется для сетевых устройств, не поддерживающих протокол ARP или не имеющих возможности ответить на ARP- запрос.

/? - получение справки по использованию arp.exe. Аналогично - запуск arp.exe без параметров. 

Tuesday, 2 August 2022

Пользуемся netsh.

Всем привет.

Несмотря на засилие Powershell утилита netsh все еще используется для настройки сетевых соединений в Microsoft Windows Server. Ниже я покажу парочку команд которые могут быть вам полезны.

Проверяем все правила брандмауэра Windows:

netsh advfirewall firewall show rule name=all

Безусловно, увидеть вообще все правила брандмауэра Windows бывает полезно. Однако чаще Вам нужны будут только те правила, которые относятся к текущей учетной записи пользователя операционной системы: 

netsh advfirewall show currentprofile

Также с помощью утилиты netsh можно проверить состояние всего сетевого интерфейса системы: 

netsh interface show interface

Вам могут понадобиться для работы индексы всех сетевых интерфейсов системы - как отключенных, так и подключенных: 

netsh interface ip show interfaces

Помимо всего прочего, с помощью команды netsh можно проверить все профили беспроводных соединений: 

netsh wlan show profile

Кроме того, с помощью netsh можно увидеть все доступные беспроводные соединения: 

netsh wlan show networks

Tuesday, 26 July 2022

Switch Embedded Teaming.

Всем привет.

Продолжаем разговор про NIC Teaming.

Как упоминалось ранее, Switch Embedded Teaming - это новый и улучшенный способ объединения нескольких сетевых адаптеров в Windows Server. Объединение сетевых адаптеров в Windows Server может быть выполнено двумя различными способами в программном обеспечении. Обычно используется традиционная функция балансировки нагрузки/отработки отказа (LBFO), включенная в Windows Server. 

А SET - это новый расширенный способ, используемый в Azure Stack HCI, который также можно использовать в обычной версии Windows Server. Для платформ виртуализации рекомендуется использовать SET для объединения нескольких сетевых адаптеров. SET интегрируется с виртуальным коммутатором Hyper-V.

У SET есть несколько преимуществ по сравнению с LBFO teaming:

  • Remote Direct Memory Access (RDMA).
  • SDN Quality of Service (QoS).
  • Virtual Machine Queues (VMQ).
  • Virtual Receive Side Scaling (RSS).
  • Transmit-side Checksum offloads (IPv4, IPv6, TCP).
  • Receive-side Checksum offloads (IPv4, IPv6, TCP).
  • Hyper-V Network Virtualization.
  • Datacenter bridging (DCB).

Но SET также имеет пару недостатков:

  • Switch independent teaming mode only.
  • Only manageable via PowerShell or SCVMM so no GUI (shouldn’t be a problem for you experienced sysadmins).
  • SET is available on Windows Server 2016 or above.

Thursday, 14 April 2022

NET и Powershell.

Всем привет.

PowerShell может быть мощным инструментом устранения неполадок в сети благодаря своему использования классов  .NET Framework. Для расширения кругозора по связке PowerShell с .NET следует ознакомиться с некоторыми полезными классами .NET, которые можно использовать для, например, решения проблем с сетью и написания других PowerShell-сценариев. В сети есть многo примеров на Powershell потому как создать сканер портов для проверки открытых портов в вашей сети, отправки и получения данных между портами, создавать форматированные пакеты для отправки Direct-запросов (LDAP) к контроллеру домена и обработки ответных пакетов для эмуляции вывода из интерфейса командной строки утилиты portqry.exe.  Используя такие методы и сценарии, вы иметь возможность устранять неполадки приложений в вашей сети, проверяя доступны ли необходимые порты в системе или они заблокированы, либо программным обеспечением на сервере, либо чем-то еще, например аппаратным брандмауэром или список управления доступом (ACL) на коммутаторе.

Ниже я покажу как создать объект прослушивателя TCP, который будет служить открытым портом в вашей системе, чтобы клиенты могли подключаться к вашей системе. Также мы напишем и TCP -передатчик. 

Но прежде чем продолжить следует уяснить для себя некоторую сетевую терминологию .NET:

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

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

3. Socket - это экземпляр конечной точки двусторонней связи между двумя приложениями в одной сети путем сопряжения IP-адреса с портом.

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

Friday, 8 April 2022

Сетевая диагностика с Get-NetView.

Всем привет.

В книге "Книга рецептов автоматизации Windows Server при помощи PowerShell" Томаса Ли есть ссылка на интересный Powershell модуль сетевой диагностики - Get-NetView.

Автор его позиционирует как модуль решающий проверку сетевой связанности. Get-NetView это инструмент, который собирает подробности относительно вашей сетевой среды, которые способны помочь вам в решении сетевых проблем.

Модуль Get-NetView содержит единственную функцию Get-NetView. Когда вы запускаете эту команду, она вытаскивает воедино гигантский диапазон сведений о сетевой среде и создаёт дополнительно ZIP файл, содержащие подробности жизнеспособности относительно вашей сетевой среды. По умолчанию Get-NetView создаёт папку с результатами на вашем рабочем столе.

Вывод Get-NetView содержит следующие подробности:

  • Метаданные Get-NetView
  • Содержимое среды хоста (включая ОС, оборудование, домен и имя хоста)
  • Физические, виртуальные и контейнерные NIC
  • Сетевую конфигурацию (включая IP адресацию, адресацию VFC, соседей и маршруты IP)
  • Физическую конфигурацию коммутатора, включая политики Quality of Service (QoS)
  • Конфигурацию Hyper-V
  • Виртуальные коммутаторы, мосты и NAT Hyper-V
  • Драйверы устройств Windows
  • Счётчики производительности
  • События системы и приложений.

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

Для работы модуля нужен предустановленная PowerShell 7. Видимо так сделано на вырост. Буду полагать что она у вас уже есть.

Находим необходимый модуль Get-NetView в Галерее PS:

Find-Module -Name Get-NetView

Устанавливаем самую последнюю версию Get-NetView:

Install-Module -Name Get-NetView -Force -AllowClobber

Проверяем установленную версию Get-NetView:

Get-Module -Name Get-NetView -ListAvailable

Импортируем модуль Get-NetView:

Import-Module -Name Get-NetView -Force

Готово!

Monday, 14 March 2022

Packet Monitor Windows.

Всем привет.

В Windows 10 (1809) и Windows Server 2019 появился встроенный анализатор сетевого трафика Packet Monitor. В последнем билде Windows 10 функционал анализатора пакета был существенно расширен: появилась поддержка захвата пакетов в реальном времени, а также поддержка формата PCAPNG для импорта в анализатор сетевого трафика Wireshark. 

Таким образом в Windows появился функционал захвата сетевого трафика, аналогичный tcpdump, и его можно смело использовать системными и сетевыми администраторам для диагностики работы сети. Packet Monitor позволяет получить всю сетевую активность, проходящую через сетевой интерфейс компьютера на уровне каждого пакета.

Ранее для захвата сетевого трафика и инспектирования пакетов в Windows использовалась команда netsh trace.

Основные команды утилиты Packet Monitor:

filter - управление фильтрами пакетов

comp - управление зарегистрированными компонентами;

reset - сброс счетчиков;

start - запустить мониторинг пакетов;

stop - остановить сбор пакетов;

format - конвертировать лог файл трафика в текстовый формат;

pcapng - конвертация в формат pcapng;

unload - выгрузить драйвер PktMon.

Чтобы получить справку по выбраннной команде просто укажите ее имя в конце:

pktmon filter

Saturday, 2 October 2021

Используем Flexible NetFlow.

Всем привет.

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

Flexible NetFlow - это гибкий инструмент мониторинга трафика для задач оптимизации использования ресурсов, планирования производительности сети, определения оптимального уровня обеспечения качества обслуживания (QoS), а также для обнаружения событий сетевой безопасности.

Преимущества Cisco IOS Flexible NetFlow:

  • Гибкость и масштабируемость данных о потоках по сравнению с традиционным NetFlow;
  • Тонкие настройки идентификации трафика;
  • Возможность сосредоточиться и контролировать конкретное сетевое поведение;
  • Возможность отслеживать более широкий спектр информации о пакетах, создавая новую информацию о поведении сети;
  • Улучшенное обнаружение сетевых аномалий и безопасности;
  • Объединение нескольких технологий учета в один учетный механизм.

Компоненты Flexible NetFlow:

  • Запись потока (Flow record) - потоки определяются множеством различных фрагментов информации о трафике; информация, используемая Flexible Netflow, может быть определена в пользовательских или стандартных записях.
  • Экспортер потока (Flow exporter) -  сервер/ы, на который/которые будет экспортироваться информация о потоках.
  • Монитор потока (Flow monitor) - компонент, который используется для обеспечения фактического мониторинга трафика на настроенном интерфейсе. Когда монитор потока применяется к интерфейсу, создается кэш монитора потока, который используется для сбора трафика на основе ключевых (key) и неключевых (nonkey) полей в настроенной записи.
  • Шаблон потока (Flow Sampler) используется, когда имеется большой объем трафика для анализа, который потенциально может повлиять на производительность контролируемого устройства. В этой ситуации можно использовать шаблон потока, чтобы ограничить количество пакетов, которые будут анализироваться монитором потока. Например, 1 из каждых 2 пакетов может быть захвачен и проанализирован.

Пользовательские определения по практикуму от SEDICOMM:

CUSTOM-OUT - пользовательская запись исходящего потока

COLLECTOR-HOST - экспортер потока

INBOUND-MONITOR - монитор входящего потока

OUTBOUND-MONITOR - монитор исходящего потока

1. Итак, создадим два вида записей потока: стандартный (ipv4 original-input) и пользовательский (CUSTOM-OUT). Для создания пользовательской записи необходимо выполнить настройки:

flow record CUSTOM-OUT

description Custom Flow Record for outbound traffic

# key items

match ipv4 destination address

match transport destination-port


# no key items

collect counter bytes

collect counter packets

exit


Проверяем:

show flow record CUSTOM-OUT

Thursday, 23 September 2021

Автоматизация сетевых задач - Paramiko.

Всем привет.

Сегодня транслирую вам материал Никиты Туркова про автоматизацию работы сетевого администратора  с использованием пакетов Paramiko и Netmiko.

Автоматизация процесса обслуживания сетевых устройств невозможна без использования хтоя бы одного из языков программирования. Для 2021 года базовое знание Python это уже не преимущество кандидата (системного администратора, или сетевого инженера) , а одно из требований при трудоустройстве на работу.  Одно из весомых преимуществ языка Python - большое количество сторонних библиотек для решения задач из различных областей. Естественно, энтузиасты и разработчики в рамках работы с сетью и сетевым оборудованием написали достаточное количество модулей. Перечислим те из них, которые поддерживают режим взаимодействия CLI:

telnetlib - встроенная библиотека, она используется для обеспечения доступа к сетевому устройству и отправке команд по Telnet протоколу (не является безопасным).

pexpect - внешняя библиотека работает для передачи данных по протоколам: ssh, telnet, sftp и др. Считается универсальным инструментом для передачи команд как в ОС, так и на сетевое оборудование. Логика работы основана на ожидании получения соответствующей строки от устройства и дальнейшей отправки команды. 

paramiko - внешняя библиотека, обеспечивающая организацию SSH-соединения. Работает в режиме клиента и сервера, соответственно в качестве передачи данных может использоваться только протокол SSH.

netmiko - внешняя библиотека от сообщества сетевых инженеров и администраторов, была разработана специально для взаимодействия с сетевым оборудованием различных производителей (адаптация под сетевую ОС). Netmiko включает в себя paramiko, описанный раннее.

Наиболее популярные из них это Paramiko и Netmiko. Сегодня мы рассмотрим модуль Paramiko.

SSH и Paramiko.

Paramiko - это реализация протокола SSHv2 на Python. Paramiko предоставляет функциональность клиента и сервера. В рамках статьи будет рассматриваться лишь функциональность клиента, серверную часть возможно изучить самостоятельно.

Библиотека Paramiko не входит в список стандартных модулей для Python 3, поэтому ее требуется установить:

pip install paramiko

В Python3 есть отличная возможность тестировать ваши скрипты, отправляя одиночные команды, для этого достаточно лишь вызвать сам интерпретатор:

python3

Логика работы Paramiko: 

1. создание клиента подключения SSH;

2. настройка клиента подключения SSH;

3. выполнение подключения SSH;

4. переход в интерактивный режим отправки команд для подключения SSH.

Saturday, 3 April 2021

Мощное средство Cisco NBAR.

Всем привет.

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

Напомню как можно задействовать  сбор данных в критических точках для обнаружения угроз в исходящем сетевом трафике через Cisco NetFlow. 

Шаблон для IOS системы:

 # conf t

(config)# mls netflow interface

(config)# mls flow ip interface-full

(config)# ip flow-export source <interface x/x>

(config)# ip flow-export version <#>

(config)# ip flow-export destination <ip address | esl record> <port>

(config-int)# ip flow ingress

#

Шаблон для NX-OS:

# conf t

(config)# feature netflow

(config)# flow record <record-name>

(config)# match ip ipv4 source address

(config)# match ip ipv4 destination address

!

(config)# flow exporter <exporter-name>

(config)# destination <ip address | esl-record>

(config)# transport UDP 2055

(config)# version <#>

(config)# source <interface>

(config)# flow monitor <monitor-name>

(config)# record <record-name>

(config)# exporter <exporter-name>

(config-int)# ip flow monitor <monitor-name> input

(config)# end

#

Friday, 22 January 2021

Дублирование netflow и syslog-событий на два адреса.

Всем привет.

Повторение - мать учения. Или мучения, а кому как. Так вот, на днях поступила команда где с маршрутизатора Cisсo в срочном порядке надо перевести все события на новый NetFlow-сервер.

В приницпе с этим не должно возникнуть никаких проблем. Я об этом писал ранее.

Но меня вчера заинтересовал вопрос возможности дублирования как syslog-событий так и netflow на два, или больше, адреса (сервера). Так как старый log-сервер у нас продолжал успешно работать как и раньше.

Оказалось что для  Cisсo надо просто указать адресацию повторно той же командой (веделено жирным шрифтом). Но всем на заметку пишу весь блок команд для настройки  syslog и netflow протоколов.

# Syslog ################################

Отправка логов на syslog сервер:

Asa53xx231#conf t

Asa53xx231(config)#logging facility local0

Asa53xx231(config)#logging host server1

Asa53xx231(config)#logging host server2

Asa53xx231(config)#exit

ИЛИ

Asa53xx231#conf t

Asa53xx231(config)#logging trap ?

  <0-7>          Logging severity level

  alerts         Immediate action needed           (severity=1)

  critical       Critical conditions               (severity=2)

  debugging      Debugging messages                (severity=7)

  emergencies    System is unusable                (severity=0)

  errors         Error conditions                  (severity=3)

  informational  Informational messages            (severity=6)

  notifications  Normal but significant conditions (severity=5)

  warnings       Warning conditions                (severity=4)

Sunday, 13 December 2020

Что такое Powershell Workflows?

Всем привет.

Рабочие процессы, или потоки, или Workflows.  Довольно интересная тема в цифровом мире и в мире Powershell особенно. 

Что же такое Powershell Workflows?

Мне об этом поведал Jeff Wouters, энтузиаст PowerShell из Нидерландов и автор блога http://www.jeffwouters.nl/.

Рабочий процесс (Workflow) – это в сущности несколько заданий, выполняемых последовательно, которые требуют некоторой координации, поскольку они могут выполняться на различных устройствах. С точки зрения дизайна, рабочие процессы могут повторяться, прерываться, перезапускаться, останавливаться и выполняться параллельно – больше об этом я расскажу в разделе «Для чего используются workflow?» далее в посте.

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

PowerShell содержит модуль PSWorkflow, который просто использует Windows Workflow Foundation. Рабочие процессы – это не часть Windows PowerShell. Это просто использование (очень разумное) технологии, которая уже присутствует в операционных системах Windows.

Мощь Workflow

Для того, чтобы действительно оценить мощь рабочих процессов, я могу лишь посоветовать вам начать их использовать. Но, конечно, это не то, что вы ждете от этого поста. Вам нужны примеры, так? Вместо того, чтобы дать вам кусок кода, я приведу пример, знакомый каждому администратору Server Manager.

В Windows Server 2012 он был полностью переписан и стал значительно быстрее, поскольку теперь это фактически графическая оболочка вокруг Windows PowerShell и WMI. Кроме того, он позволяет вам управлять вашей средой из единой консоли, поскольку теперь он также использует рабочие процессы!

Когда вы развертываете решение на основе сценария из Server Manager, он знает (в соответствии со сценарием), в какой последовательности выполнять отдельные задачи. Он генерирует рабочий процесс для выполнения определенных действий и передает его на целевые серверы. Таким образом WMI, совместно с Windows PowerShell, рабочими процессами и удаленным выполнением представляет из себя немалую мощь.

Friday, 8 May 2020

GNS3 и устройство Host.

Всем привет.

В эмуляторе сетей GNS3 при добавлении своего компьютера в тестовую сеть можно столкнуться с отсутствием такого устройства как "Host" в наборе шаблонов. На самом деле вопрос его отсутствия там решается легко. 

Вначале надо создать на вашем реальном ПК loopback интерфейс (если его у вас нет то используйте утилиту Hdwwiz.exe для его создания или один из адаптеров VMNet от VMware). 

Далее по меню в gns3 >"new appliance template" > "Add a cloud" > "Run the cloud node om your local computer" > "Name: РС-1" (или другое произвольное). 

После заходим в редактор конфигурации данного хоста т.е. "edit"  >  в поле "Ethernet Interfaces" отмечаем внизу "Show special Ethernet interfaces" и из списка выбираем тот самый loopback из нашего реального ПК. 

В том же редакторе конфигурации данного хоста,  переходим на вкладку "Misc." и в поле Symbol меняем символ на "Сomputer", остальное можно оставить по умолчанию. 

Или еще легче - обратите внимание что вместо Host в более новых версиях GNS3 используется девайс Сloud. Там все так же - просто подключаетесь к loopback интерфейсу вашего ПК.


На этом все.

Sunday, 22 March 2020

Консольный вариант сниффера.

Всем привет.

Когда нам нужен сниффер для сетевого трафика первое что приходит в голову это Wireshark. Круто? Несомненно, но новичку придется повозится час другой чтобы его начать эффективно использовать. К тому же нередко задача стоит такая чтобы отловить определенный пакет и не более. Т.е. администратора больше заинтересовал бы консольный вариант утилиты.

Верно, Wireshark имеет и такую возможность, но в  этом случае можно обойтись и встроенными средствами Windows с помощью PowerShell и даже просто bat-файла.. Такие скрипты пригодятся в сценариях автоматизированного анализа трафика.

Ниже пример трассировки  RDP сессий.

@echo off

rem запускаем трассировку
netsh trace start InternetClient provider=Microsoft-Windows-TCPIP level=5 tracefile=trace.etl > nul
rem ждем 5 секунд
timeout 5 > nul

rem останавливаем трассировку
netsh trace stop > nul

rem конвертируем файл .etl в удобный .txt, чтоб не открывать Microsoft Message Analyzer
netsh trace convert input=trace.etl output=trace.txt dump=txt > nul

rem посмотрим, кто у нас занимается RDP
type trace.txt | findstr "3389"

rem убираем временные файлы
:del trace*

Помимо создания формата .etl  можно ещё и сконвертировать файл трассировки в удобные форматы вроде .txt и .html.

С CMD самое большое неудобство в том, что без дополнительных утилит не так просто выполнить запуск скрипта, поэтому PsExec.exe или команду WMIC стоит держать под рукой:

wmic /user:"username" /password:"password" /node:"computer" process call create "sniffer.bat > log.txt"



Sunday, 10 November 2019

Разрешить или заблокировать ping в Linux.

Всем привет.

Не секрет что блокирование ответов пинг в ОС может предотвратить атаки флуда ICMP пакетов, но в тоже время большинство систем используют данную услугу для онлайн мониторинга (системного мониторинга). Поэтому нам будет полезно знать как быстренько можно заблокировать Ping  ответы в Linux.

Блокировка PING на сервер является полезным, если сервер постоянно сталкивается с какой-то DoS атакой с помощью функции PING. При использовании IPTables мы можем просто остановить запретить прохождение ICMP пакетов (т.е. запретить PING) на сервер. Перед началом этого необходимо иметь представление о том, что такое Iptables в Linux. Iptables это система межсетевого экрана с набором правил, которые контролирует входящие и исходящие пакеты. По умолчанию Iptables работает без каких-либо правил, вы можете создавать, добавлять, редактировать правила.

Отключения Ping используя iptables

Объяснение некоторых параметров в iptables,  которые необходимы для создания правил управления ICMP пакетами:

-A : Добавляет правила.
-D : Удаляет правило с таблицы.
-p : Опция чтобы указать протокол (где ‘icmp’).
—icmp-type : Опция для указания типа.
-J : Перейти к цепочке.

Как заблокировать PING на сервере с выводом сообщений об ошибке?

Таким образом, вы можете частично блокировать PING с выводом сообщения об ошибке «Destination Port Unreachable». Добавьте следующие правила Iptables чтобы заблокировать PING с выводом сообщения об ошибке:

# iptables -A INPUT -p icmp --icmp-type echo-request -j REJECT

Заблокировать PING на сервере без каких-либо сообщений об ошибках.
Для этого, используем команду для iptables:

# iptables -A OUTPUT -p icmp --icmp-type echo-request -j DROP
# iptables -A INPUT -p icmp --icmp-type echo-reply -j DROP

Это заблокирует все входящие и исходящие ICMP пакеты на сервере.

Разрешить Ping используя iptables

Если заблокировали ping на сервере и не знаете как вернуть назад. То я сейчас расскажу как это сделать. А делается это, добавлением следующего правила в IPtables:

# iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
# iptables -A OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT

Данные правила разрешат прохождения ICMP пакетов с сервера и на него.

Monday, 28 October 2019

Инструменты удаленного управления ПК #2.

Всем привет.

А сегодня обещанная часть №2 про платные инструменты удаленного управления ПК. Поскольку у меня их было немного расскажу только про два из них, которые на мой взгляд заслуживают того чтобы их приобрести для ежедневного использования.

DameWare NT Utilities

Программный пакет DameWare NT Utilities представляет собой мощную систему удаленного администрирования локальной сети. Он хорошо известен системным администраторам и основан на комплекте утилит Microsoft Windows NT administration utilities, объединенных очень удобным общим интерфейсом. Большинство включенных в пакет утилит из набора Microsoft Windows NT administration utilities обладают расширенными возможностями, а кроме того, есть ряд уникальных утилит. В частности, в пакет входит утилита DameWare Mini Remote Control, позволяющая полностью контролировать рабочий стол удаленного ПК или реализовать режим мониторинга (наблюдения) за удаленным рабочим столом, а также утилита для реализации режима командной строки на удаленном ПК.

При запуске пакета DameWare NT Utilities автоматически полностью сканируется сеть и в главном окне программы отображаются все доступные домены и рабочие группы, а также компьютеры в выбранном домене/рабочей группе (рис. 10). Особенностью встроенного сканера является то обстоятельство, что он позволяет увидеть не только активные компьютеры, но и те из них, которые зарегистрированы в сети, однако в данный момент выключены, и даже компьютеры, которые не отображаются в сетевом окружении (за счет настройки параметра Hidden в разделе реестра HKLM\System\CurrentControlSet\Services\Lanmanserver\Parameters.
 

Кратко перечислим возможности пакета DameWare NT Utilities с его помощью можно просматривать информацию о жестких дисках на удаленных ПК, знакомиться с содержанием журнала событий Event Log, просматривать информацию о подключенных принтерах, о запущенных процессах и службах, об установленных приложениях, собирать подробную информацию о конфигурации ПК, получать служебную информацию об активированных пользователях ПК и многое другое. Имеются и дополнительные возможности: можно редактировать реестр на удаленном ПК, останавливать, удалять или запускать службы, посылать сообщения пользователям через службу Messenger, удаленно выключать или перезагружать компьютеры и, как уже говорилось, получать полное управление удаленным ПК через командную строку или рабочий стол. Если говорить о режиме удаленного доступа к рабочему столу (утилита DameWare Mini Remote Control), то нужно отметить, что он реализуется через протокол RDP или MRC. Кроме того, имеется возможность настраивать качество отображения удаленного рабочего стола. Правда, если предварительно не произвести необходимых настроек, то при получении удаленного доступа к рабочему столу изменяется цвет обоев удаленного рабочего стола и тема. После отключения от удаленного стола все настройки восстанавливаются.

Monday, 21 October 2019

Инструменты удаленного управления ПК #1.

Всем привет.

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

Самая распространенная утилита для удаленного управления ПК - это, конечно же, Remote Desktop Connection, входящая в состав операционных систем семейства Windows. Этот факт объясняется не столько ее функциональными возможностями, сколько тем, что она является составной частью ОС, а потому приобретать ее не нужно. Что касается функциональности данной утилиты, то, как правило, ее бывает недостаточно, поэтому зачастую используются специализированные программные пакеты сторонних производителей. 

Общие замечания

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

Если речь идет о программах первой категории, то нужно иметь в виду, что их работа очень сильно ограничена. И даже в том случае, когда в рекламных проспектах указывается, что программа работает во всех ситуациях и преодолевает все NAT-устройства и брандмауэры, на практике оказывается, что это далеко не так. И даже если вы пользуетесь такой мощной и популярной программой, как Hamachi, с тем чтобы получить доступ к своему домашнему ПК будучи на работе, то отнюдь не всегда это приведет к положительному результату. Здесь многое зависит от вашего провайдера, которого, конечно же, вы контролировать не можете.

А потому в дальнейшем мы сосредоточимся на рассмотрении тех программ, которые ориентированы именно на работу в локальной сети. При этом отметим, что большинство программ, предназначенных для получения удаленного доступа через Интернет, можно применять также для работы в локальной сети. Вопрос только в том, насколько это целесообразно.

Saturday, 21 September 2019

Netflow и Syslog рядом.

Всем привет.

Для анализа работы сети полезно анализировать трафик проходящий через маршрутизаторы сети. Полагаю у вас есть парочка пограничных Cisco. Сами Cisco придумали технологию NetFlow. NetFlow представляет собой продвинутую систему сбора статистики о трафике на интерфейсах оборудования Cisco

Для анализа потоков NetFlow я выбрал NetFlow Analyzer. Система NetFlow Analyzer состоит из http-сервера, работающего по умолчанию на порту TCP 8080, к нему подсоединяются браузером для просмотра отчётов и администрирования, и сервера для сбора статистики, работающего по умолчанию на порту UDP 9996. 

Для того чтобы сервер смог собирать статистику с оборудования прежде всего на каждом из устройств Cisco нужно настроить NetFlow-экспорт данных трафика. Эта процедура состоит из двух шагов.

1. На каждом сетевом интерфейсе, с которого будет осуществляться сбор статистики, нужно прописать следующее (предполагается, что мы уже зашли командами conf t/ interface {interface} {interface_number}):

router(conf-if)#ip route-cache flow
router(conf-if)#bandwidth
router(conf-if)#exit

Лучше всего сконфигурировать это сразу на двух интерфейсах роутера, тогда ManageEngine NetFlow Analyzer будет корректно показывать и входящий, и исходящий трафик. Команда bandwidth, указывающая пропускную способность в килобитах/сек не обязательна, но желательна - она используется  в дальнейшем для построения %-ных отчётов и графиков загрузки канала интерфейса.

2. Настройка для роутера в целом сервера сбора трафика  на сервер на котором пашет NetFlow Analyzer. Для этого в конфигурацию добавляются следующие команды:

router(config)#ip flow-export destination 192.168.1.10 9996

Здесь 192.168.1.10 как раз указывают на мой сервер NetFlow Analyzer.

router(config)#ip flow-export version 5

При этом можно использовать параллельно и общепринятый трансфер логов в Syslog сервер. Настройка Syslog-логирования в Cisco не менее простая.

router#conf t
Enter configuration commands, one per line.  End with CNTL/Z.

router(config)#logging trap ?
  <0-7>          Logging severity level
  alerts         Immediate action needed           (severity=1)
  critical       Critical conditions               (severity=2)
  debugging      Debugging messages                (severity=7)
  emergencies    System is unusable                (severity=0)
  errors         Error conditions                  (severity=3)
  informational  Informational messages            (severity=6)
  notifications  Normal but significant conditions (severity=5)
  warnings       Warning conditions                (severity=4)

router(config)#logging trap debugging
Можно указать другой уровень логирования, например только ошибки 3.

router(config)#logging facility local2
Желательно чтобы local2 был свободен на сервере Syslog-a.

router(config)#logging 192.168.1.11
Здесь 192.168.1.11 как раз указывают на мой сервер Syslog-a. Для теста я взял простой Visual Syslog Server.

router(config)#exit

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

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

Популярное