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

Snort — сетевая система предотвращения (IPS) и обнаружения вторжений (IDS) путем анализа трафика.

Команда установки Snort в Ubuntu/Debian:

sudo apt-get install snort

После установки проверим запуск Snort:

ps aux | grep snort | grep -v grep

Файлы конфигурации находятся в директории /etc/snort/, а правила обнаружения в /etc/snort/rules/.

Перенастроить snort в Ubuntu можно командой:

sudo dpkg-reconfigure snort

Или вручную открыв конфигурацию в текстовом редакторе:

sudo nano /etc/snort/snort.conf

Команда проверки правильности конфигурации:

sudo snort -T -c /etc/snort/snort.conf

При успешном тесте отобразится:

Snort successfully validated the configuration!
Snort exiting

Как сделать загрузочную флешку с CAINE

Чтобы сделать загрузочную флешку с CAINE выполним несколько действий:

1) Скачаем образ CAINE с официального сайта http://www.caine-live.net/

2) Скачаем установщик Universal USB Installer

3) Подключим флешку к компьютеру и запустим установщик Universal USB Installer. В нем согласимся с лицензионным соглашением нажав «I Agree«, во втором окне где «Step 1:» выберем «CAINE Linux«, где «Step 2» нажмем «Browse» и укажем на скачанный образ CAINE (например caine9.0.iso). В «Step 3:» выберем букву флешки, поставим галочку на «Format» (это переразметит таблицу файловой системы и сотрет все данные на флешке).

4) Жмем «Create» и ждем завершения процесса.

Использование 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

и т.д.

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

wipe — утилита для безопасного полного стирания информации.

Команда установки в Linux Ubuntu/Debian:

sudo apt-get install wipe

Опишу некоторые ключи запуска:
-f Отключение запросов подтверждения
-r Рекурсивно. Удаляет все подкаталоги, символические ссылки не трогаются.
-c Если права каталога только для чтения, то будут изменены на запись.
-i Подробный информационный режим
-s Тихий режим, большинство сообщений не выводятся.
-q Быстрый режим, директории перезаписываются случайными данными 4 раза.
-Q Количество циклов перезаписи. Стандартно 4.
-a Остановить выполнение при ошибке.
-R Установка случайного устройства
-l Указание размера блока устройства, например при использовании дискет и т.д..
-D Следовать по символическим ссылкам, стандартно они не трогаются.
-v Отображение версии программы.
-h Отображение справки.

Приведу примеры запуска:

sudo wipe -rcf /директория/директория
sudo wipe /dev/раздел
sudo wipe -rfi >wipe.log /var/log/*

Смотрите также:
Уничтожение данных с помощью Shred

Предотвращение атак на WordPress xmlrpc.php и wp-login.php

Заметил однажды на некоторых серверах с WordPress сайтами большое количество обращений к файлу xmlrpc.php и wp-login.php

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

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

grep 'xmlrpc.php' /var/log/apache2/access.log | wc -l

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

Посчитать количество по каждому IP и вывести список:

grep 'xmlrpc.php' /var/log/apache2/access.log | cut -d' ' -f1 | sort | uniq -c | sort -r

Посчитать количество по каждому IP и вывести список для файла wp-login.php:

grep 'wp-login.php' /var/log/apache2/access.log | cut -d' ' -f1 | sort | uniq -c | sort -r
grep 'wp-login.php' /var/log/apache2/access.log | awk '{print $1}' | sort -n | uniq -c | sort -nr | head -20

В конфигурации apache2 или через файл .htaccess можно ограничить доступ к директории /wp-admin/ по IP, например так:

<Directory /var/www/site/wp-admin/>
  Options -Indexes
  AllowOverride All
  Order allow,deny
  allow from 127.0.0.1 192.168.11.25
</Directory>

Полностью запретить доступ к файлам так:

<Files wp-login.php>
Order Deny,Allow
Deny from all
</Files>
<Files xmlrpc.php>
Order Deny,Allow
Deny from all
</Files>

Если используется например Jetpack, то к wp-login.php лучше не ограничивать, так как могут возникнуть ошибки при обновлении плагина и отразится на его работе.
В этом случае можно активировать защиту от подбора пароля в параметрах Jetpack.

Если Jetpack не используется можно установить другие плагины, например «WP Limit Login Attempts», который отображает капчу при авторизации, а также блокирует неверные попытки входа.
Например плагином «Disable XML-RPC Pingback» можно отключить функции XML-RPC если они не нужны.

Также в файле robots.txt можно запретить индексирование поисковиками этих файлов:

User-agent: *
Disallow: /xmlrpc.php
Disallow: /wp-login.php

Немного о вирусе шифровальщике Trojan.Encoder.12544 атаковавшего 27.06.2017

27.06.2017 после обеда мне позвонили из одной организации и сообщили что много компьютеров перестали работать, однако некоторые работали, я так понял на которых было включено автообновление Windows и установлены все обновления, в том числе критическое исправляющее уязвимость которое использует вирус — Microsoft Security Bulletin MS17-010 — Critical

На одних зараженных компьютерах было следующее окно (зараженная область MBR):

На других шла проверка диска на ошибки через CHDISK, как оказалось это второй этап вируса — шифрование диска с использованием алгоритмов AES-128-CBC и в этом случае необходимо немедленное выключение, чтобы можно было восстановить оставшиеся не зашифрованные данные.
Через специальные утилиты было видно лишь немного не зашифрованных данных которые можно восстановить, ну а остальную часть можно вернуть лишь из резервных копий которые делали системные администраторы так как расшифровщика на данный момент нету.
Под старую прошлогоднюю версию вируса был написан расшифровщик https://github.com/leo-stone/hack-petya

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

Скрипт перезагрузки Wi-Fi маршрутизаторов TP-Link

Приведу ниже пример скрипта перезагрузки маршрутизаторов TP-Link, на тесте проверю его на TL-WR720N 2.0 из Ubuntu Server.

#!/bin/sh
ROUTER_IP="192.168.24.174"
USERNAME="admin"
PASSWORD="admin"

# exit if router is down
ping -q -c 1 "$ROUTER_IP" > /dev/null || exit

curl --basic --user "$USERNAME:$PASSWORD" -A "Mozilla/4.73 [en] (X11; U; Linux 2.2.15 i686)" --refer "http://$ROUTER_IP" "$ROUTER_IP/userRpm/SysRebootRpm.htm?Reboot=reboot"

Содержимое скрипта поместим в новый файл, например используя редактор nano («CTRL+X» для выходя и «y» для сохранения изменений):

nano file.sh

И сделаем его исполняемым:

chmod 777 file.sh

После этого выполним:

./file.sh

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

Решение проблемы SSL «Connection is not secure — Parts of this page are not secure (such as images)»

Заметил однажды одном сайте с подписанным SSL сертификатом, сообщение от браузера Mozilla Firefox:

Connection is not secure — Parts of this page are not secure (such as images)

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

Если сайт работает по http:// и https://, а картинки находятся на нем же, то ссылки нужно изменить например с:

<img src="http://www.ixnfo.com/img.jpg">

на

<img src="/img.jpg">

Все.

nice и ionice. Приоритеты процессов

nice — позволяет указывать приоритет выполнения процессором различных задач, диапазон приоритетов -20 до 19, где 19 наименьший, если не указать, то будет стандартный приоритет 0. Удобен например при упаковке данных в архивы, чтобы эта задача не грузила сервер или когда нужно запустить много процессов, распределив нагрузку, которые занимают все процессорное время.

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

nice -n 19 КОМАНДА

Посмотреть таблицу процессов и их приоритетов можно так (колонка NI):

ps axl
ps -l

Если таблица большая, можно перенаправить вывод команды в Less и смотреть постранично:

ps axl | less

Чтобы изменить приоритет:

renice -n 19 ПРОЦЕСС(PID)

Проверка значения приоритета по умолчанию (стандартно 0):

nice

ionice — позволяет указать приоритет при операциях ввода/вывода, например чтобы снизить нагрузку на диск. Первым указывается класс от 1 до 3, потом приоритет от 0 до 7, где 7 наименьший.
Классы есть трех видов:
1) Real time — Преимущественный без обращения внимания на другие процессы с указанием приоритетов от 0 до 7.
2) Best Effort — Стандартный с указанием приоритетов от 0 до 7.
3) Idle — При простое без указания приоритетов.

Пример выполнения команды с самым низким приоритетом ввода/вывода:

ionice -c2 -n7 КОМАНДА

Для изменения приоритета:

ionice -c2 -n7 -p ПРОЦЕСС(PID)

Для просмотра установленного приоритета:

ionice -p ПРОЦЕСС(PID)

Можно указать одновременно приоритеты через nice и ionice:

nice -n 19 ionice -c2 -n7 КОМАНДА

Для указания высоких приоритетов например могут понадобится root права, по этому команды нужно выполнять от имени root пользователя либо добавив перед командой sudo.

Отключение шифрования ecryptfs домашнего каталога

Понадобилось однажды отключить шифрование ecryptfs домашнего каталога, которое было когда-то настроено при установке системы.

В первую очередь сделаем копию домашнего каталога нужного пользователя:

sudo cp -rp /home/user /home/user_backup

Получим точку монтирования в каталоге:

PRIVATE=`cat ~/.ecryptfs/Private.mnt 2>/dev/null || echo $HOME/Private`

Отмонтируем каталог:

ecryptfs-umount-private

Установим права на каталог:

chmod 750 $PRIVATE

Удалим каталог и директории ~/.Private, ~/.ecryptfs:

rm -rf $PRIVATE ~/.Private ~/.ecryptfs

А также в сделанной копии, а то ecryptfs-utils может не удалится:

rm -rf /home/user_backup/.Private /home/user_backup/.ecryptfs

Если ecryptfs больше не будет использоваться в системе, то удалим утилиты:

sudo apt-get remove ecryptfs-utils libecryptfs0

Установим правильные права на директорию пользователя:

sudo chmod 750 /home/user
sudo chown user:user -R /home/user

Скопируем из резервной копии домашнего каталога нужные файлы.
Все.

Можно посмотреть встроенную инструкцию командой:

ecryptfs-setup-private --undo

Смотрите также:
Решение ошибки «Could not chdir to home directory /home/user: Permission denied»