вторник, 15 марта 2016 г.

Автоматизируем борьбу со спамом

Привет, читатель!


Изучая приложение для Splunk - IPReputation, которое позволяет определить для каждого IP-адреса его репутацию, решил разобраться как оно работает и узнал для себя много интересного. Под репутацией понимается числовая характеристика каждого IP-адреса от 0 до 100, определяющая является ли IP-адрес спамерским. Чем выше число, тем спамер злобнее :)


Кому интересно, результаты ниже.





Первое что необходимо сделать - зарегистрироваться на сайте проекта.


После регистрации и активации аккаунта, можете прямо на сайте проверить IP-адрес в форме на странице "Home".




Результат работы формы на сайте представлен на скрине ниже, жирным выделен интересующий нас параметр Threat Rating, т.е. репутация.





Можно автоматизировать процесс проверки и использовать в своих скриптах. Необходимо сформировать специально оформленный DNS-запрос типа "A", который переадресуется на сервер для зоны dnsbl.httpbl.org, а в ответе на запрос содержится следующая информация: Visitor Type, Threatscore, Days since last Activity, Response Code.

Проверяемый адрес для DNS-запроса передается в следующей форме:
{12-ти символьный код}.{развернуть по октетам IP-адрес}.dnsbl.httpbl.org

Например: xxxxxxxxxxxx.12.252.126.176.dnsbl.httpbl.org

Получить 12-ти символьный персональный код (Access Key) можно по следующей ссылке- http://www.projecthoneypot.org/httpbl_configure.php  (необходимо быть зарегистрированым пользователем).


В Wireshark запросы и ответы выглядят следующим образом:




В ответе нас будет интересовать 3-й октет, который содержит значение Threatscore для проверяемого адреса.


Теперь пара простых примеров как можно создать запрос.

powershell

$IP = '193.90.12.86'
$revip = $IP.split(".")
$newip = 'xxxxxxxxxxxx.' + $revip[3]+ '.'+$revip[2]+ '.'+$revip[1]+ '.'+$revip[0] + '.dnsbl.httpbl.org'
$score = (Resolve-DnsName –Name $newip -Type A).IPAddress
Write-Host 'Threatscore is - ' $score.split(".")[2




bash

resolveip xxxxxxxxxxx.12.252.126.176.dnsbl.httpbl.org | awk {' print $6 '} | awk -F "." {' print $3 '}


splunk (при условии, что установлено приложение IPReputation)

sourcetype=fail2ban
| stats count by srcip
| lookup threatscore clientip AS srcip
| table srcip,threatscore
| rename srcip as "IP-адрес"


Всем удачной борьбы со спамом! :)



Комментариев нет:

Отправить комментарий