Это мой дипломный проект по проверке IP-адресов в различных TI-фидах на базе Logstash
Для запуска требуется установить logstash-filter-public_ip
командой
.\logstash-plugin install logstash-filter-public_ip
в директории bin.
Дополнительно требуется установить logstash-filter-teamcymru
.
graph TD;
A[stdin input] -->|Filter part| B[Grok IP parser];
B --> C{Public IP filter};
C --> |Not public IP| K[Output];
C --> |Public IP| D{IP Version};
D --> |IPv4| E[Spamhaus check];
E --> F[Alienvault check];
F --> G[Virustotal check];
G --> H[AbuseIPDB check];
H --> I[TeamCymru check];
I --> J[Total result V4];
J --> K;
D --> |IPv6| L[Alienvault check];
L --> M[AbuseIPDB check];
M --> N[Total result V6];
N --> K;
Используется плагин logstash-filter-public_ip
Если DNS-запрос вернул 127.0.0.4 - адрес присутствует в спам-листах Spamhaus. Коды и их описание.
Если возвращает 0, то IP чист, если 1 - то вредоносный. Работает через API. Ссылка на списки вредоносных IP.
Получаем оценку от Virustotal в интервале [-100, 100], где -100 - "абсолютно вредоносный", а 100 - "абсолютно безвредный". Подробнее.
Интервал оценки - [0, 100]. 0 - безвреден, 100 - вредоносный. Подробнее.
Рейтинг от 0 до 100, аналогично AbuseIPDB.
Простое сравнение каждого полученного рейтинга с порогами, задаваемыми индивидуально для каждой из баз.
1.1.1.1 - Cloudflare DNS one.one.one.one
{
"ip" => "1.1.1.1",
"abuseipdb_score" => 0,
"virustotal_score" => 69,
"spamhaus_score" => 0,
"teamcymru_score" => 56,
"alienvault_score" => 0,
"Total match" => 2,
}
104.21.56.234 - rutracker.org
{
"ip" => "104.21.56.234",
"abuseipdb_score" => 0,
"alienvault_score" => 0,
"virustotal_score" => 0,
"teamcymru_score" => 0,
"spamhaus_score" => 0,
"Total match" => 0,
}
2606:4700:3036::6815:38ea - rutracker.org IPv6
{
"Total match" => 0,
"abuseipdb_score" => 0,
"alienvault_score" => 0,
"ip" => "2606:4700:3036::6815:38ea"
}
91.238.229.134 - IP from AS58042 (СПбГУТ)
{
"Total match" => 1,
"alienvault_score" => 0,
"abuseipdb_score" => 100,
"spamhaus_score" => 0,
"virustotal_score" => 0,
"teamcymru_score" => 1,
"ip" => "91.238.229.134"
}
203.248.175.71 - IP from AS3786 (LG DACOM Corporation)
{
"virustotal_score" => -6,
"ip" => "203.248.175.71",
"spamhaus_score" => 0,
"abuseipdb_score" => 100,
"teamcymru_score" => 100,
"alienvault_score" => 1,
"Total match" => 4,
}