Bash ile Şüpheli User-Agent Tespit Sistemi

0 Yanıtlar 0 Görüntülenme
·
Katılımcılar
Konuyu Açan #0
Bash scriptleri, web sunucularına gelen istekleri analiz ederek şüpheli User-Agent'leri tespit etmek ve raporlamak için oldukça kullanışlı araçlar haline gelebilir. Bu, özellikle otomatik botlar, scraperlar veya kötü niyetli saldırganların kullandığı belirli User-Agent'leri tespit etmek ve önlem almak amacıyla önemli bir ilk adım sağlar. Bu konuda temel prensip, log dosyalarını düzenli olarak taramak ve şüpheli User-Agent'leri ayırt etmek üzerine kurulur.

İlk aşamada, sunucu loglarındaki User-Agent satırlarını parse etmek gerekir. Genellikle Apache veya Nginx logları, belirli bir formatta User-Agent bilgisi içerir. Örneğin, aşağıdaki gibi bir satırdan User-Agent alınabilir:

KOD
1127.0.0.1 - - [10/Oct/2023:13:55:36 +0000] "GET /index.html HTTP/1.1" 200 1024 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"


Burada, User-Agent kısmı son kısımdadır. Bu bilgiyi ayıklamak ve filtrelemek için awk, grep veya cut gibi araçlar kullanılabilir.

Örneğin, şüpheli User-Agent'leri tespit etmek için, öncelikle sıkça rastlanan bot veya scraper User-Agent'leri listesini hazırlamak gerekir. Bu listeyi bir dosyada tutabilir veya doğrudan script içerisinde tanımlayabilirsiniz. Ardından, logları satır satır tarayarak, User-Agent satırlarının bu listede olup olmadığını kontrol edebilirsiniz.

İşte temel bir örnek:

[code]
#!/bin/bash

Şüpheli User-Agent listesi
suspect_agents=("Googlebot" "Bingbot" "Yahoo! Slurp" "MJ12bot" "AhrefsBot" "SemrushBot")
log_path="/var/log/nginx/access.log"

Logları tara ve şüpheli User-Agent'leri raporla
grep -i "User-Agent" "$log_path" | while read -r line; do
user_agent=$(echo "$line" | grep -oP '(?

Yanıt vermek için giriş yapmış olmalısınız.

Bu konuyu görüntüleyen kullanıcılar (Toplam: 1, Üyeler: 1, Misafirler: 0)
Toplam: 1 (üyeler: 1, misafirler: 0)
0 alıntı seçildi