Rehber

Ücretsiz Honeypot Sensörü Kurulumu: Saldırganı Kendi Sunucunuzda Yakalayın

Tek komutluk systemd servisi, 64 hazır decoy, servisin hangi yetkilerle çalıştığı, verinin ne olduğu ve katkıda bulunan kotası.

IP-DB Ekibi 6 dk okuma 10 okunma 0 yorum

Bir saldırgan sunucunuzu bulduğunda ilk işi açık kapı aramaktır: 22'ye birkaç parola, 3389'a bir RDP denemesi, 6379'da parolasız bir Redis araması, 445'te eski bir SMB açığı. Bu denemelerin büyük kısmı kullanmadığınız portlara gider ve orada hiçbir şey dinlemediği için hiçbir iz bırakmaz. Saldırı olmuş, siz görmemişsinizdir.

Honeypot sensörü tam o boşluğu doldurur: kullanılmayan portlara gerçekçi görünen sahte servisler koyar, kimin neyi denediğini kaydeder ve bunu paylaşılan tehdit havuzuna aktarır. Kurulumu tek komut, bedeli yok, karşılığında hem kendi sunucunuza kimin baktığını görürsünüz hem de hesabınız katkıda bulunan kademesine çıkar.

Honeypot sensörü ne yapar, ne yapmaz

Yapar: boş portlarda sahte bir Exchange giriş sayfası, bir FortiGate paneli, bir MySQL karşılama paketi ya da bir Telnet istemi gösterir; gelen isteği okur, bilinen bir istismar desenine benziyorsa etiketler ve "şu adres şu portta şunu denedi" bilgisini gönderir.

Yapmaz: parola, kullanıcı adı veya istek gövdesi saklamaz ve göndermez. Decoy'lar komut çalıştırmaz, dosya yazmaz, kabuk açmaz — saldırganın oturum açmasına izin veren "yüksek etkileşimli" bir honeypot değildir. Olay, bir etiketten ve bir zaman damgasından ibarettir.

Bu, bilinçli bir tasarım tercihi: yüksek etkileşimli honeypot bakım işi ve gerçek bir risktir. Burada amaç saldırganı incelemek değil, tarayan adresi tespit etmek.

Tek komutla kurulum

Gereken: systemd kullanan bir Linux sunucu, Python 3.6 veya üzeri, internetten erişilebilen bir IP ve ücretsiz bir API anahtarı. Anahtarı panelden bir dakikada oluşturabilirsiniz.

# kurulum: anahtarı kendi anahtarınızla değiştirin curl -fsSL https://ip-db.com/sensor/install.sh | sudo bash -s -- --key API_ANAHTARINIZ

Komut, sunucunun kullanmadığı portlarda dinleyen sertleştirilmiş bir systemd servisi (ipdb-sensor) kurar. Boru hattına güvenmek istemiyorsanız — istemelisiniz de — betiği önce okuyun; indirilen dosyanın SHA-256 özeti kurulum sırasında doğrulanır:

curl -fsSL https://ip-db.com/sensor/install.sh | less curl -fsSL https://ip-db.com/sensor/SHA256SUMS

Sık kullanılan seçenekler:

SeçenekNe yapar
--name web-01Sensöre panelde görünecek bir ad verir (varsayılan: sunucu adı)
--profiles @edge,exchangeHangi decoy'ların çalışacağını seçer
--ports 23,3389,6379Ek ham TCP portları dinler
--ignore 198.51.100.0/24Kendi izleme ve ofis adreslerinizi hiç raporlamaz
--fail2banfail2ban günlüğündeki banları da kaynak olarak okur
--status / --upgrade / --uninstallDurum, yükseltme, kaldırma

Hangi tuzaklar açılsın?

Sensör 64 hazır decoy profiliyle gelir ve bunları tek tek seçmek zorunda değilsiniz: @ ile başlayan paketler konuya göre hazır gruplardır.

PaketİçeriğiKime uygun
@classicFTP, Telnet, SSH, RDP, MySQL, Redis, MongoDB, VNC…Varsayılan; her sunucuda anlamlı
@recommendedExchange, FortiGate, GlobalProtect, NetScaler + klasiklerGerçek dünyada en çok taranan karışım
@edgeFortiGate, Ivanti, Cisco ASA, F5, SonicWall, pfSense…Kenar cihazı/VPN taramalarını yakalamak
@webWordPress, phpMyAdmin, cPanel, Plesk, Tomcat…Hosting ve web sunucuları
@devopsJenkins, GitLab, Grafana, Docker, Kubernetes, etcd…CI/CD ve iç araç taramaları
@mail · @databases · @remote · @iotPosta, veritabanı, uzak erişim ve IoT gruplarıRolü belli makineler

Kullanmadığınız portları seçmek önemlidir: sensör bir portu açamazsa o decoy'u sessizce atlar. Hangi decoy hangi portta çalışıyor diye bakmak için honeypot sayfasındaki oluşturucuyu kullanabilirsiniz — seçtiklerinize göre kurulum komutunu üretir.

Servis hangi yetkilerle çalışıyor

Kurulum için bir kez sudo gerekir; servisin kendisi root değildir. systemd'nin ürettiği geçici, ayrıcalıksız bir kullanıcıyla (DynamicUser) çalışır ve tek yetkisi port açmaktır (CAP_NET_BIND_SERVICE). Dosya sistemi salt okunur, /tmp özeldir, cihaz erişimi yoktur, yalnızca IPv4/IPv6 ve systemd bildirim soketlerine izin verilir, sistem çağrıları filtrelenir ve bellek 96 MB ile sınırlıdır. Kodun tamamı bağımlılığı olmayan tek bir Python dosyasıdır; okunabilir uzunlukta olması da kasıtlı.

Çalıştığını doğrulama

# servis durumu ve canlı günlük sudo systemctl status ipdb-sensor journalctl -u ipdb-sensor -f

Günlükte hangi decoy'ların açıldığını, hangi portların dolu olduğu için atlandığını ve ilk olay gönderimini görürsünüz. Olaylar 60 saniyede bir toplu gönderilir, yani ilk kayıtların panelde görünmesi bir dakikayı bulabilir. Sensörleriniz, gördükleri adresler ve olay sayıları Sensörlerim sayfasında listelenir.

Bulut sunucusu kullanıyorsanız güvenlik grubunu kontrol edin: sağlayıcınızın güvenlik duvarı portları kapatıyorsa tarayıcı sensöre hiç ulaşmaz ve sayfa boş kalır. Beklenen davranış, ilk saatlerde bile birkaç olay görmektir — internet sessiz bir yer değil.

Veri ne oluyor: iki hesap kuralı

Sensörünüzün gördüğü bir adres doğrudan kara listeye yazılmaz. Bir adresin sensör havuzuna girmesi için son 7 gün içinde en az iki ayrı hesabın ve en az iki ayrı ağın sensörleri tarafından görülmüş olması gerekir. Tek bir sensör kendi başına kimseyi listeye sokamaz; yanlış yapılandırılmış bir güvenlik taraması ya da kötü niyetli bir kullanıcı havuzu kirletemesin diye kural böyle.

Havuza giren adresler açık veri setlerinde ve API üzerinden herkesin erişimine açılır. Yani sizin sunucunuzun absorbe ettiği tarama, başkasının güvenlik duvarında bir engele dönüşür — listenin işe yaramasının tek yolu da bu.

Karşılığı: katkıda bulunan kademesi

Ücretsiz hesap günde 1.000, e-postası doğrulanmış hesap 10.000 sorgu yapabilir. Aktif bir sensörü (ya da bir Shield/WordPress kurulumu) olan doğrulanmış hesaplar günde 30.000 sorguya çıkar. Kademe hesaplanır, verilmez: sensör son 7 gün içinde rapor gönderdiği sürece geçerlidir, sustuğunda kendiliğinden düşer. Ödeme, plan ya da "kurumsal sürüm" yok.

Sık yapılan hatalar

  • Kendi tarayıcılarınızı raporlamak. İç zafiyet taramanız her hafta bütün portlara dokunuyorsa --ignore ile kendi aralıklarınızı dışarıda bırakın.
  • Gerçek servisin portunu seçmek. 22'de SSH varsa SSH decoy'u açılmaz. Decoy'u taşıyın (ssh:2222) ya da o paketi seçmeyin.
  • NAT arkasına kurmak. Dışarıdan erişilemeyen bir adreste honeypot hiçbir şey görmez; port yönlendirme yoksa sensörü genel IP'si olan bir makineye koyun.
  • Kritik makineyle başlamak. Teknik olarak güvenli olsa da ilk kurulumu kenarda duran bir sunucuda yapıp günlüğü bir gün izlemek daha doğru bir alışkanlık.

Yükseltme ve kaldırma

# yükselt curl -fsSL https://ip-db.com/sensor/install.sh | sudo bash -s -- --upgrade # tamamen kaldır curl -fsSL https://ip-db.com/sensor/install.sh | sudo bash -s -- --uninstall

Kaldırma servisi, birim dosyasını ve dizini siler; geriye yalnızca panelinizdeki geçmiş olaylar kalır. Sensörü silmek hesabınızı etkilemez, yalnızca katkıda bulunan kademesi 7 gün sonra düşer.

Sık sorulan sorular

Honeypot sensörü sunucumu riske atar mı?

Decoy servisler komut çalıştırmaz, dosya yazmaz ve kabuk açmaz; gelen isteği okur, gerçekçi bir yanıt döndürür ve olayı etiketler. Servis root olarak değil, systemd'nin ürettiği geçici ve ayrıcalıksız bir kullanıcı (DynamicUser) olarak çalışır; tek yetkisi port açmaktır, dosya sistemi salt okunurdur ve bellek 96 MB ile sınırlıdır. Yine de bunu kritik bir veritabanı sunucusunda değil, kenarda duran bir makinede denemek daha sağlıklıdır.

Zaten kullandığım portlara dokunur mu?

Hayır. Sensör her portu açmadan önce dinlemeyi dener; port doluysa o decoy'u atlar ve günlüğe yazar. 22'de gerçek SSH'iniz çalışıyorsa SSH decoy'u sessizce devre dışı kalır — ya o portu boş bırakın ya da decoy'u başka porta taşıyın (örneğin ssh:2222).

Kaç IP adresi gönderiyor, kotamı yakar mı?

Olaylar 60 saniyede bir toplu halde gönderilir ve günlük sorgu kotanızdan düşmez; raporlama ile sorgulama ayrı sayaçlardır. Tersine, aktif bir sensör hesabınızı katkıda bulunan kademesine taşır.

Tek sensörün gördüğü adres doğrudan kara listeye mi giriyor?

Girmiyor. Bir adresin sensör havuzuna girmesi için son 7 gün içinde en az iki ayrı hesabın ve iki ayrı ağın sensörleri tarafından görülmüş olması gerekir. Tek bir sensörün tek başına listeye adres yazdırması mümkün değil — yanlış yapılandırılmış bir tarayıcı ya da kötü niyetli bir kullanıcı havuzu kirletemesin diye.

Sitenizi aynı veriyle korumak için IP-DB Shield kurulumuna, WordPress kullanıyorsanız eklenti rehberine, puanlamanın nasıl işlediğine ise güven puanı yazısına bakın.

Paylaş

Yorumlar 0

Sorunu, deneyimini ya da düzeltmeni paylaş. Kayıtlı ya da anonim yorum yapabilirsin.

Henüz yorum yok. İlk yorumu sen yaz.

Düz metin; bağlantılar kabul edilmez. Yorumlar hemen yayınlanır ve denetlenebilir. Kayıtlı yorum için giriş yap