SSH erişimi açık olan bir Linux makine, tarama ve deneme trafiğini neredeyse sürekli alır ve bu durum doğru yönetilmezse yetkisiz oturumlarla sonuçlanabilir. Bunun için Fail2ban ile hatalı girişleri loglardan okuyup otomatik yasaklama uygulamak kısa vadede etkili bir savunma sağlar. Yine de hangi IP bloklarının öne çıktığını, hangi kullanıcı adlarının sık denendiğini ve saldırı dalgalarının desenini anlamadan kuralları optimize etmek zordur. Honeypot, gerçek sistemi riske atmadan bu verileri toplar ve elde edilen bulgular sayesinde engelleme kuralları, hız limitleri ve uyarı mekanizmaları isabetli biçimde güncellenir.
Fail2ban ile Anlık Engelleme
Fail2ban, belirlenen eşik değerlerini aşan başarısız girişleri tespit ettiğinde otomatik yasaklama uygular. Özellikle SSH servisinde yoğunlaşan denemeleri filtreleyerek ilk savunma hattını güçlendirir. Kurulum ve yapılandırma için Linux Sunucularda Fail2ban Nasıl Kurulur? içeriğine bakabilirsiniz.
Cowrie —> denemeleri ve komutları incelenebilir loglara dönüştürür
Sonuç olarak hem bugün gelen denemeleri durdurur hem de yarın için veri temelli kararlar alırsınız.
Fail2ban — >saldırı trafiğini keser
Honeypot ve Cowrie Honeypot Nedir?
Honeypot, saldırganları çekmek amacıyla gerçek servisi andıran bir uç nokta sağlayan ve böylece sistemi riske atmadan etkinlikleri izleyen bir güvenlik çözümüdür. Bu yapı, saldırı tekniklerini anlamaya ve koruma stratejilerini geliştirmeye yardımcı olur.
Cowrie , SSH ve Telnet protokollerini taklit etmek üzere hazırlanmış açık kaynak bir honeypot aracıdır. Sahte bir SSH oturumu oluşturur. Saldırgan erişim sağladığını düşünse de işlemler güvenli bir alan içinde tutulur. Kullanılan hesap adları, parola denemeleri ve çalıştırılan komutlar kayıt altına alınır.

- En çok denenen kullanıcı adları (
root,admin,testgibi) - En popüler parola listeleri
- Kullanılan kötü amaçlı komutlar
- Sisteme yüklenmeye çalışılan zararlı dosyalar
Ubuntu Üzerinde Cowrie Honeypot Kurulumu
SSH Servisini Yüksek Porta Taşıma
Cowrie’nin verimli çalışabilmesi için gerçek SSH servisini farklı bir porta almamız gerekir.
sudo nano /etc/ssh/sshd_config
# Port değerini değiştirin:
Port 22222
Servisi yeniden başlatalım. İşlem sonunda SSH 22222 portunda çalışıyor olacak. Honeypot ise 22 portundan gelen trafiği alacak.
sudo systemctl restart ssh
sudo systemctl status ssh
Cowrie Kullanıcısı Oluşturma
Öncelikle sistemimizi güncelleyelim ve yeni bir kullanıcı oluşturalım
sudo apt update
sudo apt install git python-virtualenv libssl-dev libffi-dev build-essential libpython3-dev authbind -y
sudo adduser --disabled-password cowrie
su - cowrie
Cowrie’nin İndirilmesi ve Sanal Ortam Hazırlığı
git clone https://github.com/cowrie/cowrie
cd cowrie
virtualenv cowrie-env
source cowrie-env/bin/activate
pip install --upgrade pip
pip install -r requirements.txt
Yapılandırma
Cowrie varsayılan ayarlarla cowrie.cfg.dist dosyası ile gelir. Bu dosyayı kopyalayıp kendimize ait konfigürasyon dosyası oluşturuyoruz
cp cowrie.cfg.dist cowrie.cfg
nano cowrie.cfg
Burada yapabileceğiniz bazı özelleştirmeler şunlar olabilir
- Honeypot’un görünecek hostname’ini değiştirmek
- Telnet desteğini açmak
- Loglama ve sahte dosya indirme seçeneklerini ayarlamak
Cowrie’yi Başlatma
bin/cowrie start
Ardından dinlediği portları kontrol edelim. Eğer her şey doğruysa honeypot artık SSH (2222) ve Telnet (2223) portlarını dinliyor olacaktır.
netstat -an | grep 2222
Trafiği Honeypot’a Yönlendirme
22 ve 23 portlarına gelen bağlantıları honeypot portlarına yönlendirmek için iptables kullanılır. Böylece artık saldırganlar doğrudan honeypot’a düşecek.
sudo iptables -t nat -A PREROUTING -p tcp --dport 22 -j REDIRECT --to-port 2222
sudo iptables -t nat -A PREROUTING -p tcp --dport 23 -j REDIRECT --to-port 2223
İlk Loglar
Cowrie’nin loglarını izlemek için:
tail -f cowrie/var/log/cowrie/cowrie.log
Kısa sürede saldırı girişimlerinin kaydedilmeye başladığını göreceksiniz. Denenen parolalar, çalıştırılan komutlar hatta yüklenmek istenen zararlı dosyalar detaylı biçimde loglara düşer.
Cowrie’de Sahte Dosya Tuzakları
Cowrie’nin öne çıkan özelliklerinden biri, saldırganların ilgisini çekecek sahte dosyalar oluşturmaya izin vermesidir. Bu dosyalar, gerçek sistemlerde kritik veriler varmış gibi görünür ancak tamamen yapaydır. Amaç, saldırganın dikkatini çekmek ve tüm adımlarını kayıt altına almaktır.
Örneğin honeypot üzerinde şu dosyalar kullanılabiliriz.
passwords.txt→ sahte kullanıcı adı–parola listesi içerir.db_backup.sql→ boş ya da anlamsız satırlardan oluşan sahte bir veritabanı yedeği sunar.secret_keys.pem→ özel anahtar dosyası gibi görünür ancak geçersiz içerik barındırır.
Saldırgan sisteme sızdığında ilk işi genelde “hangi değerli dosyalar var” diye bakmaktır. Bu tür dosyaları gördüğünde hemen cat passwords.txt ya da scp db_backup.sql gibi komutlar dener. Cowrie ise bu girişimlerin hepsini loglara yazar.
Sık Sorulan Sorular
Cowrie kurulumu sonrası Permission denied hatası alıyorum
Cowrie’yi doğrudan root olarak çalıştırmak güvenli değildir. Bunun yerine ayrı bir cowrie kullanıcısı oluşturmalı ve honeypot’u bu kullanıcı üzerinden çalıştırmalısınız.
virtualenv veya Python bağımlılıklarında hata alıyorum
Çoğu zaman eksik paketler nedeniyle bu hata çıkar. Kurulumdan önce apt install python-virtualenv libssl-dev libffi-dev build-essential gibi temel bağımlılıkların kurulu olduğundan emin olun.
Saldırılar gelmiyor, Cowrie çalışmıyor mu?
Cowrie arka planda sessizce bekler. İnternete açık 22 ve 23 numaralı portları honeypot’a yönlendirmediyseniz saldırılar kaydedilmez. Honeypot’u aktif bir VPS üzerinde çalıştırmanız gerekir.
Cowrie logları çok hızlı büyüyor
Yoğun saldırı trafiğinde log dosyaları hızla büyüyebilir. Bu durumda logrotate yapılandırması kullanarak günlüklerin otomatik sıkıştırılmasını ve arşivlenmesini sağlayabilirsiniz.
Cowrie’yi Windows üzerinde çalıştırabilir miyim?
Cowrie Linux tabanlı bir honeypot’tur. Windows ortamı için benzer işlevi görecek araç olarak Wail2ban veya özel RDP honeypot çözümleri tercih edilebilir.
Cowrie saldırıları anında engelliyor mu?
Cowrie’nin amacı saldırganın davranışlarını kaydetmek ve analiz etmektir. Anlık engelleme için Fail2ban gibi araçlarla entegre edilmesi gerekir.