Вступление
Maltrail – это система обнаружения вредоносного трафика, использующая общедоступные (черные) списки, содержащие вредоносные и/или обычно подозрительные следы, а также статические следы, скомпилированные из различных отчетов AV и пользовательских списков, где след может быть любым из доменного имени. (например, zvpprsensinaix.com для вредоносного ПО Banjori), URL (например, hXXp: //109.162.38.120/harsh02.exe для известного вредоносного исполняемого файла), IP-адрес (например, 185.130.5.231 для известного злоумышленника) или значение заголовка HTTP User-Agent ( например, sqlmap для автоматического внедрения SQL и инструмента захвата базы данных).
Тем не менее, Maltrail использует (необязательно) усовершенствованные эвристические механизмы, которые могут помочь в обнаружении неизвестных угроз.
Maltrail основан на архитектуре Traffic -> Sensor <-> Server <-> Client.
Sensor – это автономный компонент, работающий на узле мониторинга или на автономной машине (например, Honeypot), где он «отслеживает» проходящий трафик для занесенных в черный список элементов / следов (то есть доменных имен, URL-адресов и / или IP-адресов)
Источник (Maltrail GitHub) Page).
Больше о Maltrail можно найти на странице Maltrail GitHub.
Эта установка выполняется в системе Debian 10 (Buster) Linux.
Итак, давайте установим систему обнаружения вредоносного трафика Maltrail в Debian 10 (Buster) Linux.
Шаг 1: Обновите ваш сервер
Обновление вашего сервера гарантирует, что мы начнем с того момента, когда на нашем сервере будет установлено самое новое программное обеспечение.
Выполните команду, показанную ниже.
sudo apt update && sudo apt update
Шаг 2: Установите Maltrail Sensor и schedtool
Sensor – это автономный компонент, работающий на узле мониторинга или на автономной машине, где он «отслеживает» прохождение трафика с занесенными в черный список элементами / следами.
Установите его, выполнив команды:
Установите ‘schedtool‘ для лучшего планирования ЦП
schedtool помогает лучше планировать использование процессора
sudo apt-get install schedtool
Далее будут установлены git и python-pcapy, вытащите файлы со страницы Maltrail GitHub и установите их.
sudo apt-get install git python-pcapy -y
git clone https://github.com/stamparm/maltrail.git
cd maltrail
sudo python sensor.py &
Шаг 3: Запустите сервер на том же компьютере (необязательно)
Основная роль сервера заключается в хранении сведений о событии и обеспечении внутренней поддержки веб-приложения для создания отчетов.
В конфигурации по умолчанию Server и Sensor будут работать на одном компьютере.
Чтобы запустить сервер на том же компьютере, выполните команды, показанные ниже.
[[ -d maltrail ]] || git clone https://github.com/stamparm/maltrail.git
cd maltrail
python server.py &
Шаг 4: Настройка конфигурации сенсора и сервера
Для этого есть конфигурационный файл.
Просто зайдите в каталог, в который вы клонировали как maltrail, и найдите «maltrail.conf»
sudo vim /home/tech/maltrail/maltrail.conf
#[Server] #Listen address of (reporting) HTTP server HTTP_ADDRESS 172.17.196.57 #HTTP_ADDRESS :: #HTTP_ADDRESS fe80::12c3:7bff:fe6d:cf9b%eno1 #Listen port of (reporting) HTTP server HTTP_PORT 8338 #Use SSL/TLS USE_SSL false #SSL/TLS (private/cert) PEM file (e.g. openssl req -new -x509 -keyout server.pem -out server.pem -days 1023 -nodes) #SSL_PEM misc/server.pem #User entries (username:sha256(password):UID:filter_netmask(s)) #Note(s): sha256(password) can be generated on Linux with: echo -n 'password' | sha256sum | cut -d " " -f 1 #UID >= 1000 have only rights to display results (Note: this moment only functionality implemented at the client side) #filter_netmask(s) is/are used to filter results USERS admin:9ab3cd9d67bf49d01f6a2e33d0bd9bc804ddbe6ce1ff5d219c42624851db5dbc:0: # changeme! #local:9ab3cd9d67bf49d01f6a2e33d0bd9bc804ddbe6ce1ff5d219c42624851db5dbc:1000:192.168.0.0/16
Чтобы изменить пароль по умолчанию, найдите «USERS».
Под ним вы увидите admin и длинную строку, представляющую пароль.
Чтобы создать новый пароль, используйте, показанную команду ниже.
Система должен создать строку, похожую на ту, которую мы увидели в файле.
Перед ней вы можете разместить любое имя пользователя.
В конце пароля не забудьте добавить параметры (:0:).
echo -n 'StrongPassword' | sha256sum | cut -d " " -f 1
05a181f00c157f70413d33701778a6ee7d2747ac18b9c0fbb8bd71a62dd7a223
The string produced represents StrongPassword as the password
Откройте тот же файл и отредактируйте его, чтобы установить новые учетные данные
#[Server] #Listen address of (reporting) HTTP server HTTP_ADDRESS 172.17.196.57 #HTTP_ADDRESS :: #HTTP_ADDRESS fe80::12c3:7bff:fe6d:cf9b%eno1 #Listen port of (reporting) HTTP server HTTP_PORT 8338 #Use SSL/TLS USE_SSL false #SSL/TLS (private/cert) PEM file (e.g. openssl req -new -x509 -keyout server.pem -out server.pem -days 1023 -nodes) #SSL_PEM misc/server.pem #User entries (username:sha256(password):UID:filter_netmask(s)) #Note(s): sha256(password) can be generated on Linux with: echo -n 'password' | sha256sum | cut -d " " -f 1 #UID >= 1000 have only rights to display results (Note: this moment only functionality implemented at the client side) #filter_netmask(s) is/are used to filter results #filter_netmask(s) is/are used to filter results USERS #admin:9ab3cd9d67bf49d01f6a2e33d0bd9bc804ddbe6ce1ff5d219c42624851db5dbc:0: # changeme! #local:9ab3cd9d67bf49d01f6a2e33d0bd9bc804ddbe6ce1ff5d219c42624851db5dbc:1000:192.168.0.0/16 # changeme! Admin:05a181f00c157f70413d33701778a6ee7d2747ac18b9c0fbb8bd71a62dd7a223:0: ## Новые креды
После того, как вы внесли эти изменения, остановите и запустите заново Maltrail.
cd /home/tech/maltrail
pkill -f server.py
python server.py &
Шаг 5: Проверьте, что все работает
Чтобы проверить, что все работает, выполните следующее:
ping -c 1 136.161.101.53
cat /var/log/maltrail/$(date +"%Y-%m-%d").log
Также для проверки захвата DNS-трафика вы можете попробовать следующее:
nslookup morphed.ru
cat /var/log/maltrail/$(date +"%Y-%m-%d").log
Заключение
Maltrail – это замечательный инструмент, который действительно может усилить мониторинг вашей сети и обеспечить постоянную безопасность вашей инфраструктуры.
Несмотря на то, что 100-процентная безопасность не гарантирована, смягчение рисков всегда целесообразно.
Взгляните на инструмент и проверьте его, соответствует ли он вашим потребностям.