Использование netwox

Приведу примеры использования netwox и опишу их.
Установку netwox я описывал в этой статье — Установка netwox

Пример стандартного запуска:

sudo netwox

netwox имеет достаточно много функций, посмотреть их можно нажав после запуска цифру 3 и Enter.

Отображение конфигурации сети:

sudo netwox 1

Отображение отладочной информации:

sudo netwox 2

Отображение информации об IP-адресе или имени хоста:

sudo netwox 3 example.com

Отображение информации об MAC-адресе:

sudo netwox 4 -e 00:15:5D:38:01:08

Получение MAC-адресов из списка IP:

sudo netwox 5 -i 192.168.1.0/24

Отображение информации которая будет использована чтобы достичь указанного IP адреса:

sudo netwox 6 192.168.24.254

Сниффер, отображение передающихся пакетов на экране:

sudo netwox 7

Сниффер, отображение только списка открытых портов, которые использовались в захваченных пакетах:

sudo netwox 8

Сниффер, отображение MAC и IP адресов:

sudo netwox 9

Пример захвата пакетов и отображение краткой статистики (отображается количество пакетов (count), сумма размеров пакетов (size), процент количества пакетов (c%) процент из размера (s%)):

netwox 10 -d eth0

Преобразование цифры в шифрованную:

sudo netwox 21 -n number

Преобразование строки в шифрованную (sha256, md5 и т.д.):

sudo netwox 22 -d text

Показать таблицу ASCII:

sudo netwox 23

Проверить безопасность каталога:

sudo netwox 25 /tmp/

Пример выполнения ICMP PING:

sudo netwox 49 -i 192.168.24.253

Пример выполнения ARP PING:

sudo netwox 55 -i 192.168.24.253

Пример ICMP трассировки маршрута:

sudo netwox 57 -i examle.com

Пример TCP трассировки маршрута:

sudo netwox 59 -i examle.com

Пример UDP трассировки маршрута:

sudo netwox 61 -i examle.com

Пример сканирования портов:

sudo netwox 67 -i 192.168.24.254 -p 1-1000

ICMP сканирование на доступность:

sudo netwox 65 -i 192.168.1.0/24

TCP сканирование на доступность по порту:

sudo netwox 67 -i 192.168.1.0/24 -p 80

UDP сканирование на доступность по порту:

sudo netwox 69 -i 192.168.1.0/24 -p 80

ARP сканирование:

sudo netwox 71 -i 192.168.1.0/24

Флуд случайными фрагментами:

sudo netwox 74 -i 192.168.24.254

Заполнение таблицы MAC-адресов коммутатора отправкой флуда:

sudo netwox 75

Synflood:

sudo netwox 76 -i 192.168.24.254 -p 80

и т.д.

Установка и настройка OpenFire

OpenFire — кроссплатформенный XMPP-сервер написанный на Java.

Для теста выполню установку OpenFire в Ubuntu Server 16.04 и опишу процесс.

Так как для OpenFire требуется Java, посмотрим установленную версию в системе:

java -version

При необходимости установим Java:

sudo apt-get install default-jre

Потом перейдем на страницу загрузки http://www.igniterealtime.org/downloads/index.jsp#openfire, нажмем скачать и скопируем ссылку.

Скачаем, добавив в конце скопированную ссылку вместо LINK:

wget -O openfire.deb LINK

Например:

wget -O openfire.deb http://www.igniterealtime.org/downloadServlet?filename=openfire/openfire_4.2.1_all.deb

Установим:

sudo dpkg --install openfire.deb

Теперь осталось открыть в браузере http://YourServer:9090/ и следовать подсказкам.

После этого, установка OpenFire будет завершена.

При необходимости можно остановить, запустить или перезапустить OpenFire так:

/etc/init.d/openfire {start|stop|restart|force-reload}

Установка и настройка SSMTP

SSMTP — альтернатива sendmail для отправки почты, позволяет настроить отправку через сторонние почтовые сервера.

Для установки в Ubuntu используется команда:

sudo apt-get install ssmtp mailutils

Далее необходимо открыть в любом текстовом редакторе файл /etc/ssmtp/ssmtp.conf (в nano клавиши Ctrl+X для выхода, y/n для сохранения или отмены изменений):

sudo nano /etc/ssmtp/ssmtp.conf

Закомментируем все и настроим как показано ниже на примере:

root=test@gmail.com
mailhub=smtp.gmail.com:587
hostname=smtp.gmail.com:587
UseSTARTTLS=YES
AuthUser=test@gmail.com
AuthPass=password
FromLineOverride=YES

Если использовать почту Google, то вероятно придется разрешить «Ненадежные приложения» в настройках https://myaccount.google.com/security.

Также откроем в текстовом редакторе файл /etc/ssmtp/revaliases:

sudo nano /etc/ssmtp/revaliases

И добавим:

root:test@gmail.com:smtp.gmail.com:587

Попробуем отправить письмо на указанный адрес (после команды наберем желаемый текст и поставим точку для завершения):

sendmail -v admin@example.com

Письма должны отправляться с адреса указанного в файле /etc/ssmtp/ssmtp.conf.

Использование Linux ISG

Просмотр всех сессий:

/opt/ISG/bin/ISG.pl
/opt/ISG/bin/ISG.pl | less

Просмотр информации о конкретной сессии:

/opt/ISG/bin/ISG.pl | grep 192.168.4.168

Просмотр количества сессий:

/opt/ISG/bin/ISG.pl show_count

Удаление конкретной сессии:

/opt/ISG/bin/ISG.pl clear 192.168.4.168
/opt/ISG/bin/ISG.pl clear <IP-address | Virtual# | Session-ID>

Изменение скорости для конкретной сессии (входящая/исходящая, например 100 Мб/с):

/opt/ISG/bin/ISG.pl change_rate 192.168.4.168 102400 102400

Замечу то скорость указывается в килобайтах, а при просмотре в таблице сессий отображается в байтах.

Опишу возможные ключи к флагам:
A (Сессия одобрена)
X (Сессия не одобрена)
S (Это услуга (или подсеанс))
O (Административный статус службы включен)
U (Сервис онлайн (учетная запись RADIUS активна, поток трафика))
T (Тип сервиса — «tagger»)
Z (Отключен)

Управление мощностью ядер процессора в Linux

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

grep '' /sys/devices/system/cpu/cpu0/cpufreq/scaling_{min,cur,max}_freq

Например, в моем случае отобразилось следующее:

/sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq:800000
/sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq:907482
/sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq:4000000

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

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

#!/bin/bash
cpucount=$(grep -c 'model name' /proc/cpuinfo)
sysdir=/sys/devices/system/cpu
for cpu in $(eval echo cpu{0..$((cpucount-1))}); do
        cat $sysdir/$cpu/cpufreq/scaling_max_freq > $sysdir/$cpu/cpufreq/scaling_min_freq
done

Изменение txqueuelen в Linux

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

Посмотрим текущее значение txqueuelen для каждого сетевого интерфейса:

ifconfig

В моем случае txqueuelen в Ubuntu Server 16.04 стандартно и равно 1000, допустим через сетевой интерфейс ходит очень большой трафик и мы хотим увеличить значение, для этого выполним команду:

ifconfig eth0 txqueuelen 10000

Либо через утилиту ip:

ip link set eth0 txqueuelen 1000

Проверим увеличилось ли значение:

ifconfig

Чтобы после перезагрузки системы изменения не сбросились, откроем файл /etc/network/interfaces например в текстовом редакторе nano:

sudo nano /etc/network/interfaces

И добавим в конце строку:

post-up /sbin/ifconfig eth0 txqueuelen 10000

Либо можно открыть файл /etc/rc.local:

sudo nano /etc/rc.local

И перед строкой «exit 0» добавить строку:

/sbin/ifconfig eth0 txqueuelen 10000

В обеих случаях после перезагрузки системы значение txqueuelen установилось правильно.
Аналогично можно указывать «ip» вместо «ifconfig».

Смотрите также:
Настройка сети в Linux

Установка MariaDB в Ubuntu

На тесте установлю MariaDB в Ubuntu 16.04.
В первую очередь посмотрим нужный репозиторий на https://downloads.mariadb.org/mariadb/repositories/
Там же есть и инструкция по их добавлению.

Так как я устанавливаю в Ubuntu 16.04, то команды добавления репозитория будут следующие:

sudo apt-get install software-properties-common
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
sudo add-apt-repository 'deb [arch=amd64,i386,ppc64el] http://mirror.ehv.weppel.nl/mariadb/repo/10.2/ubuntu xenial main'
sudo apt-get update

После этого установим MariaDB сервер и клиент:

sudo apt-get install mariadb-server mariadb-client

После установки выполним несколько советов безопасности (удалим базу test, запретим пользователю root удаленный доступ и т.д.):

sudo mysql_secure_installation

Подключится к серверу MariaDB можно так:

sudo mysql -u root -p

Посмотреть статус, остановить, запустить сервер MariaDB можно командами:

sudo systemctl status mariadb
sudo systemctl stop mariadb
sudo systemctl start mariadb

Если понадобится удалить MariaDB, то выполним:

sudo apt-get autoremove mariadb-server mariadb-client

Обновление ядра Linux на серверах Hetzner

Понадобилось однажды обновить ядро CentOS на сервере в Hetzner который проработал без перезагрузки около 2 лет.

Посмотрел различную информацию о системе, версиях установленных ядрах и запущенном ядре:

lsb_release -a
uname -r
uname -a
cat /proc/version
sudo rpm -q kernel
ls /boot | grep vmlinuz

Обновил ядро:

yum -y update

Перезагрузил сервер используя ссылку в cPanel https://example.com:2087/scripts/dialog?dialog=reboot

Можно также командой:

reboot

После ухода на перезагрузку сервер не запустился, я сразу же сделал заявку в техническую поддержку через панель https://robot.your-server.de.
Техническая поддержка отреагировала в течении двух минут, как они сообщили, сервер не отвечал на нажатия клавиш, был черный экран, после физического выключения и включения он успешно запустился.
Вот такие бывают случаи перезагрузки, нужно быть готовым ко всему.
При следующих перезагрузках зависание больше не повторялось.

Установка и использование flow-tools

Flow-tools — набор утилит для отправки, сбора, обработки, анализа данных NetFlow.

Установим коллектора который будет принимать статистику с сенсоров:

sudo apt-get install flow-tools

Откроем файл конфигурации, например в текстовом редакторе nano (Ctrl+X для выхода, y/n для сохранения или отмены изменений):

sudo nano /etc/flow-tools/flow-capture.conf

Закоментируем все и добавим в конце строку:

-w /var/log/flow -n 275 0/192.168.0.5/555

Ключ -w указывает директорию хранения файлов, -n указывает количество ротаций файлов за день (то есть в моем случае каждый день будет сохранятся 275 файлов, при большом трафике мелкие файлы потом легче анализировать), 0 означает что нужно слушать все сетевые интерфейсы, 192.168.0.5 адрес сенсора с которого будут приниматься статистика, 555 порт на который будут приходить данные с сенсора.

Создадим директорию для файлов:

sudo mkdir /var/log/flow

Перезапустим flow-capture чтобы применить изменения в конфигурационном файле:

sudo service flow-capture restart

Проверить работает ли flow-capture можно так:

sudo netstat -lpnu|grep flow-capture
netstat -anpl |grep 555

Ошибки и попытки прислать статистику от сенсоров, будут писаться в /var/log/syslog.
Можем посмотреть так:

sudo less /var/log/syslog | grep flow

Если используется iptables, то разрешим входящие UDP соединения на порт 555 всем:

sudo iptables -A INPUT -p udp --dport 555 -j ACCEPT

Либо конкретному адресу или сети:

sudo iptables -A INPUT -s 10.0.0.0/24 -p udp --dport 555 -j ACCEPT

Смотрите также:
Открытие и анализ файлов созданных при помощи NetFlow
Настройка NetFlow на Cisco