Tehdit İstihbaratında Güçlü Bir Silah: AbuseIPDB
Siber güvenlik dünyasında savunma hattının (Mavi Takım) en kritik ihtiyaçlarından biri, ağa saldıran IP adreslerinin niyetini hızlı ve doğru bir şekilde analiz etmektir. Bir sunucuya gelen şüpheli trafiğin sıradan bir tarama mı yoksa organize bir botnet saldırısı mı olduğunu anlamak, doğru aksiyonu almak için hayati önem taşır. İşte tam bu noktada kitle kaynaklı (crowdsourced) bir tehdit istihbarat platformu olan AbuseIPDB devreye giriyor.
AbuseIPDB'nin ne olduğunu, nasıl çalıştığını ve kendi ağ güvenlik sistemlerimize (özellikle Linux/Pardus tabanlı sunucularda ve Python projelerinde) nasıl entegre edebileceğimizi inceleyeceğiz.
AbuseIPDB Nedir?
AbuseIPDB, dünya çapındaki sistem yöneticilerinin, siber güvenlik uzmanlarının ve ISP'lerin (İnternet Servis Sağlayıcıları) kötü niyetli IP adreslerini raporladığı ve sorguladığı merkezi bir veritabanıdır.
Bir IP adresi; SSH brute-force (kaba kuvvet) saldırısı, DDoS, spam e-posta gönderimi, web güvenlik açığı taraması veya zararlı yazılım dağıtımı gibi etkinliklere karıştıysa, tespit eden sistemler tarafından AbuseIPDB'ye bildirilir. Platform, bu verileri derleyerek IP adresleri için bir "Kötüye Kullanım Güven Skoru" (Confidence of Abuse) oluşturur.
Temel Özellikleri:
Kitle Kaynaklı Veri: Dünyanın her yerinden binlerce farklı sensör ve sistem yöneticisinden beslenir.
Kategorizasyon: Saldırı türleri numaralandırılmış kategorilere ayrılır (Örn: 18 - Brute Force, 21 - Port Scan, 15 - Web Spam).
API Desteği: Güvenlik duvarları, IDS/IPS sistemleri (Suricata vb.) ve otomasyon betikleriyle tam entegre çalışacak güçlü bir REST API sunar.
Gerçek Zamanlı İstihbarat: Bir IP adresi dünyanın bir ucunda saldırı yaptığında, saniyeler içinde veritabanına işlenerek diğer kullanıcıların uyarılmasını sağlar.
Ağ Savunmasında ve Simülasyonlarda Kullanım Senaryosu
Bir Kırmızı Takım / Mavi Takım (Red/Blue Team) simülasyonunu ele alalım. Kırmızı takım, Nmap ile ağ taraması yapıyor ve ardından zayıf parolaları kırmak için Hydra kullanıyor olsun.
Mavi takımın ağı izleyen sistemleri (Örneğin Wireshark veya Tshark ile yapılan paket analizleri veya Suricata uyarıları) bu trafiği yakaladığında, kaynak IP'nin anında AbuseIPDB üzerinden sorgulanması gerekir. Eğer IP adresinin skoru %100 ise, bu adresin otomatize bir saldırı aracı olduğu doğrulanır ve savunma takımı IP'yi derhal güvenlik duvarından (UFW/iptables) engelleyebilir.
AbuseIPDB API Kullanımı (Pratik Örnekler)
Platformun gerçek gücü otomasyonda yatar. Ücretsiz bir hesap oluşturarak bir API anahtarı (API Key) alabilir ve bu istihbaratı kendi yazılımlarınıza entegre edebilirsiniz.
1. Terminal Üzerinden (Bash / cURL) Kullanım
Pardus veya macOS gibi UNIX tabanlı sistemlerde terminal üzerinden hızlıca bir IP analizi yapmak için curl komutu oldukça pratiktir. Otomatize bash betiklerinde jq (JSON işlemcisi) ile birleştirilerek harika sonuçlar verir.
# Şüpheli bir IP'yi sorgulama (API_KEY kısmına kendi anahtarınızı yazmalısınız)curl -G https://api.abuseipdb.com/api/v2/check \ --data-urlencode "ipAddress=118.25.6.39" \ -d maxAgeInDays=90 \ -H "Key: SIZIN_API_ANAHTARINIZ" \ -H "Accept: application/json" | jq .Bu komut, IP adresinin son 90 gün içindeki rapor edilme sayısını ve güven skorunu JSON formatında düzenli bir şekilde ekrana basar.
2. Python ile Gelişmiş Entegrasyon
Eğitim amaçlı geliştirilen bir siber güvenlik projesinde veya Python tabanlı bir log analiz aracında (örneğin Django ile yazılmış bir yönetim panelinde) AbuseIPDB'yi kullanmak için requests kütüphanesi tercih edilir.
import requestsimport jsondef check_ip_reputation(ip_address, api_key): url = 'https://api.abuseipdb.com/api/v2/check' querystring = { 'ipAddress': ip_address, 'maxAgeInDays': '90' } headers = { 'Accept': 'application/json', 'Key': api_key } try: response = requests.get(url, headers=headers, params=querystring) response.raise_for_status() # HTTP hatalarını yakala data = response.json() score = data['data']['abuseConfidenceScore'] usage_type = data['data']['usageType'] print(f"Hedef IP: {ip_address}") print(f"Kötü Niyet Skoru: %{score}") print(f"Kullanım Türü: {usage_type}") if score > 50: print("[UYARI] Bu IP adresi yüksek risk taşıyor! Güvenlik duvarından engellenmesi tavsiye edilir.") except requests.exceptions.RequestException as e: print(f"API Hatası: {e}")# Fonksiyonu Test Etme# check_ip_reputation("118.25.6.39", "API_ANAHTARINIZI_BURAYA_YAZIN")Fail2Ban ile Otomatik Raporlama
Savunma sadece veri okumakla olmaz, topluluğa katkı sağlamak da gerekir. Sunucularınızda (Örneğin Nginx yayınlayan bir Pardus web sunucusunda) Fail2Ban çalışıyorsa, sunucunuza saldıranları otomatik olarak AbuseIPDB'ye şikayet edecek şekilde yapılandırabilirsiniz. jail.local dosyasına eklenecek küçük bir action kuralı ile her banlanan IP anında küresel veritabanına raporlanır.
Özet
AbuseIPDB, bir ağ yöneticisinin ve siber güvenlik analistinin çantasında bulunması gereken en temel OSINT (Açık Kaynak İstihbaratı) araçlarından biridir. Log analizi, olay müdahalesi (Incident Response) ve ağ trafiği filtreleme süreçlerinde doğru veriye hızlı ulaşmayı sağlayarak savunma stratejilerini proaktif bir boyuta taşır.
🛡️ AbuseIPDB Eğitim Rehberi (OSINT + Threat Intelligence)
🔎 AbuseIPDB Nedir?
AbuseIPDB, dünya genelinde IP adresleriyle ilgili kötüye kullanım (abuse) raporlarını toplayan ve analiz eden bir siber tehdit istihbaratı platformudur.
Temel amacı:
Spam, brute force, port tarama, botnet aktiviteleri gibi kötü IP davranışlarını kayıt altına almak
Güvenlik ekiplerine “IP güven skoru” sağlamak
SOC ve SIEM sistemlerine entegre tehdit verisi sunmak
Resmi site: AbuseIPDB Official
⚙️ AbuseIPDB Nasıl Çalışır?
Sistem üç ana bileşenle çalışır:
1. Kullanıcı Raporları
Dünyadaki güvenlik araştırmacıları IP’leri raporlar:
Spam mail gönderimi
SSH brute-force denemeleri
Web saldırıları
Botnet davranışı
2. Zaman Bazlı Skorlama
IP’ler şu şekilde değerlendirilir:
Kaç kez raporlandı?
Son ne zaman görüldü?
Hangi tür saldırılarla ilişkilendirildi?
3. Abuse Confidence Score (0–100)
0 → Temiz IP
25 → Düşük risk
50 → Şüpheli
75+ → Yüksek risk
100 → Kritik kötüye kullanım
📊 AbuseIPDB Kullanım Alanları
🏢 SOC (Security Operations Center)
Log analizinde IP doğrulama
SIEM uyarı zenginleştirme
IOC enrichment
🧠 Threat Intelligence
IP tabanlı tehdit aktörü analizi
Botnet altyapı tespiti
Campaign correlation
🕵️ OSINT (Açık Kaynak İstihbarat)
Şüpheli IP araştırma
Saldırı kaynağı analizi
Domain/IP ilişkilendirme
🔍 Web Arayüzü Kullanımı
AbuseIPDB’de bir IP arattığında şu bilgiler çıkar:
Abuse score
Report count
ISP (internet sağlayıcı)
Country
Domain ilişkisi
Son görülme zamanı
Rapor detayları
Örnek Analiz Akışı:
IP gir
Score kontrol et
Report detaylarını incele
MITRE ATT&CK ile eşleştir
🔌 API Kullanımı (En Önemli Kısım)
AbuseIPDB’nin en güçlü özelliği API’dir.
🔑 API Key Alma
Hesap oluştur
API section’a gir
Key oluştur
📡 IP Sorgulama API Örneği
curl https://api.abuseipdb.com/api/v2/check \-G \--data-urlencode "ipAddress=8.8.8.8" \-d maxAgeInDays=90 \-H "Key: YOUR_API_KEY" \-H "Accept: application/json"
📥 Örnek JSON Yanıt
{"data": {"ipAddress": "8.8.8.8","abuseConfidenceScore": 0,"countryCode": "US","usageType": "DNS","isp": "Google LLC","totalReports": 5,"lastReportedAt": "2025-01-10T12:00:00Z"}}
🧠 Python ile AbuseIPDB Entegrasyonu
import requestsAPI_KEY = "YOUR_API_KEY"ip = "1.1.1.1"url = "https://api.abuseipdb.com/api/v2/check"headers = {"Key": API_KEY,"Accept": "application/json"}params = {"ipAddress": ip,"maxAgeInDays": 90}response = requests.get(url, headers=headers, params=params)data = response.json()print("IP:", data["data"]["ipAddress"])print("Risk Skoru:", data["data"]["abuseConfidenceScore"])
🔗 SIEM Entegrasyonu (SOC Perspektifi)
AbuseIPDB genelde şu sistemlere entegre edilir:
Splunk
Elastic Stack (ELK)
Wazuh
QRadar
Kullanım Senaryosu:
Firewall log gelir
IP AbuseIPDB API’ye gönderilir
Score > 75 ise alarm üretilir
SOC analisti inceleme başlatır
🚨 Gerçek Dünya Kullanım Senaryoları
1. SSH Brute Force Tespiti
Log’da 200 başarısız login
IP AbuseIPDB’de score: 90
Sonuç: IOC olarak bloklanır
2. Web Application Attack
SQL injection girişimleri
Aynı IP farklı hedeflerde görülür
Campaign tespiti yapılır
3. Botnet Analizi
Aynı IP kümesi farklı ülkelerde saldırı yapıyor
Threat actor clustering yapılır
🧩 Avantajlar ve Dezavantajlar
✅ Avantajlar
Büyük veri havuzu
Ücretsiz kullanım imkanı
API ile otomasyon
SOC uyumlu
❌ Dezavantajlar
Kullanıcı raporlarına bağımlı
False positive ihtimali
Tek başına yeterli değil (multi-intel gerekir)
🔥 En İyi Kullanım Pratikleri
Tek başına karar verme → VirusTotal + Shodan ile doğrula
API sonuçlarını SIEM içinde zenginleştir
30–90 günlük pencere kullan (freshness önemli)
IP + domain + ASN birlikte analiz et
🧪 Gelişmiş Lab Fikri
Şu mimariyi kurabilirsin:
Wazuh (log toplama)
AbuseIPDB API (enrichment)
Python automation script
Elasticsearch dashboard
📌 Sonuç
AbuseIPDB, modern SOC ve OSINT çalışmalarında IP tabanlı tehdit analizinin en pratik araçlarından biridir. Tek başına değil, diğer threat intel kaynaklarıyla birlikte kullanıldığında güçlü bir “enrichment motoru” haline gelir.
Yorumlar