Skip to content

BakiAkgun1/Secustack-Observer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🔒 SecuStack Observer

🤖 Bu proje Cursor AI desteği ile geliştirilmiştir.

Açık kaynaklı DevSecOps güvenlik izleme ve analiz platformu. ELK Stack, Nginx, Osquery ve Python tabanlı DLP/Anomali tespit araçlarını entegre eden minimal bir güvenlik çözümü.

🎯 Özellikler

  • ELK Stack (SIEM): Elasticsearch, Logstash, Kibana ile merkezi log yönetimi ve analiz
  • Nginx Reverse Proxy: Trafik yönlendirme, loglama ve güvenlik katmanı
  • Flask API: Mikroservis simülasyonu ve test ortamı
  • Osquery (EDR): Uç nokta izleme ve şüpheli aktivite tespiti
  • DLP Modülü: Hassas veri tespiti (TC Kimlik, Kredi Kartı, IBAN, vb.)
  • Anomali Tespiti: Trafik analizi ve anormal davranış tespiti
  • Güvenlik Duvarı: UFW ile port yönetimi

📋 Gereksinimler

  • OS: Linux (Ubuntu 20.04+) veya WSL2
  • RAM: Minimum 4GB
  • Disk: En az 10GB boş alan
  • Docker: 20.10+
  • Docker Compose: 1.29+
  • Python: 3.8+

🚀 Hızlı Kurulum

# Depoyu klonlayın
git clone <repo-url>
cd "Secustack observer"

# Kurulum scriptini çalıştırın
chmod +x scripts/install.sh
./scripts/install.sh

Kurulum scripti otomatik olarak:

  • Docker ve Docker Compose kontrolü yapar
  • Gerekli klasörleri oluşturur
  • ELK Stack'i başlatır
  • Flask API'yi build edip başlatır
  • Nginx Reverse Proxy'yi yapılandırır

Kurulum süresi: ~3-5 dakika

📖 Kullanım

Servisleri Yönetme

# Tüm servisleri başlat
./scripts/start-all.sh

# Servisleri durdur
./scripts/stop-all.sh

# Servis durumunu kontrol et
./scripts/check-status.sh

Servislere Erişim

Test İstekleri

# Health check
curl http://localhost/health

# Login endpoint test
curl -X POST http://localhost/login \
  -H "Content-Type: application/json" \
  -d '{"username":"test","password":"test123"}'

# Data endpoint (API key gerekli)
curl http://localhost/data \
  -H "X-API-Key: test-api-key-123"

🔍 Güvenlik Modülleri

1. DLP (Data Loss Prevention)

Hassas veri tespiti için:

# Test verisi oluştur
mkdir -p data/test-data
cat > data/test-data/sample.txt << EOF
TC Kimlik: 12345678901
Kredi Kartı: 4532-1234-5678-9010
IBAN: TR330006100519786457841326
E-posta: test@example.com
Telefon: 05321234567
EOF

# DLP taraması çalıştır
cd python-scripts
python3 dlp/sensitive_data_detector.py

2. Anomali Tespiti

Nginx loglarında anormal trafik tespiti:

# Test trafiği oluştur
for i in {1..50}; do
  curl -s http://localhost/login -X POST \
    -H "Content-Type: application/json" \
    -d '{"username":"test'$i'","password":"test"}' > /dev/null
done

# Anomali analizi
cd python-scripts
python3 anomaly/traffic_analyzer.py

3. Osquery (EDR)

Uç nokta izleme için:

# Osquery kurulumu (Ubuntu/Debian)
export OSQUERY_KEY=1484120AC4E9F8A1A577AEEE97A80C63C9D8B80B
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys $OSQUERY_KEY
sudo add-apt-repository 'deb [arch=amd64] https://pkg.osquery.io/deb deb main'
sudo apt-get update && sudo apt-get install osquery

# Osquery'yi başlat
sudo osqueryd --config_path=osquery/osquery.conf --daemonize

📊 Kibana Dashboard Kurulumu

  1. Kibana'ya girin: http://localhost:5601
  2. Stack Management > Index Patterns bölümüne gidin
  3. Yeni index pattern oluşturun:
    • Pattern: nginx-*
    • Time field: @timestamp
  4. Analytics > Discover bölümünde logları görüntüleyin
  5. Analytics > Dashboard ile özel görselleştirmeler oluşturun

🏗️ Mimari

┌──────────┐
│  Client  │
└────┬─────┘
     │
     ▼
┌─────────┐     ┌────────────┐     ┌──────────┐
│  Nginx  │────▶│ Flask API  │     │ Osquery  │
│ (Proxy) │     │(Mikroservis│     │  (EDR)   │
└────┬────┘     └────────────┘     └────┬─────┘
     │                                    │
     │                                    │
     ▼                                    ▼
┌────────────────────────────────────────────┐
│              ELK Stack                     │
│  ┌─────────┐  ┌──────────┐  ┌──────────┐ │
│  │Logstash │─▶│Elastic   │─▶│ Kibana   │ │
│  └─────────┘  │ search   │  └──────────┘ │
│               └──────────┘                │
└────────────────────────────────────────────┘
     ▲
     │
┌────┴─────┐
│  Python  │
│ Scripts  │
│ (DLP/ML) │
└──────────┘

📁 Proje Yapısı

Secustack observer/
├── docker/
│   └── elk/
│       └── docker-compose.yml    # ELK Stack konfigürasyonu
├── flask-api/
│   ├── app.py                    # Flask mikroservis
│   ├── Dockerfile
│   └── requirements.txt
├── nginx/
│   └── nginx.conf                # Nginx reverse proxy config
├── logstash/
│   ├── config/
│   │   └── logstash.yml
│   └── pipeline/
│       ├── nginx.conf            # Nginx log pipeline
│       └── osquery.conf          # Osquery log pipeline
├── osquery/
│   └── osquery.conf              # Osquery konfigürasyonu
├── python-scripts/
│   ├── dlp/
│   │   └── sensitive_data_detector.py
│   ├── anomaly/
│   │   └── traffic_analyzer.py
│   └── requirements.txt
├── scripts/
│   ├── install.sh                # Otomatik kurulum
│   ├── start-all.sh              # Tüm servisleri başlat
│   ├── stop-all.sh               # Tüm servisleri durdur
│   └── check-status.sh           # Durum kontrolü
└── logs/                         # Log dosyaları
    ├── nginx/
    └── osquery/

🔧 Sorun Giderme

ELK Stack Sorunları

# Container loglarını kontrol et
cd docker/elk
docker-compose logs elasticsearch
docker-compose logs logstash
docker-compose logs kibana

# Servisleri yeniden başlat
docker-compose restart

Nginx Bağlantı Sorunları

# Nginx loglarını kontrol et
docker logs nginx-proxy

# Flask API'nin çalıştığını doğrula
curl http://localhost:5000/health

# Nginx konfigürasyonunu test et
docker exec nginx-proxy nginx -t

# Nginx'i yeniden başlat
docker restart nginx-proxy

Flask API Sorunları

# Container durumunu kontrol et
docker ps | grep flask-api

# Logları görüntüle
docker logs flask-api

# Yeniden başlat
docker restart flask-api

Docker Network Sorunları

# Network'leri listele
docker network ls

# Network detaylarını göster
docker network inspect elk_elk-network

# Container'ları aynı network'e bağla
docker network connect elk_elk-network nginx-proxy
docker network connect elk_elk-network flask-api

🛡️ Güvenlik Duvarı (UFW)

# UFW'yi aktifleştir
sudo ufw enable

# Gerekli portları aç
sudo ufw allow 80/tcp     # HTTP (Nginx)
sudo ufw allow 5601/tcp   # Kibana
sudo ufw allow 22/tcp     # SSH

# Durum kontrolü
sudo ufw status verbose

📈 Beklenen Sonuçlar

Başarılı kurulum sonrası:

  • ✅ Tüm Docker container'ları çalışır durumda
  • ✅ Elasticsearch, Kibana ve Logstash erişilebilir
  • ✅ Nginx üzerinden Flask API'ye erişim sağlanır
  • ✅ Loglar ELK Stack'e iletilir
  • ✅ Kibana'da loglar görselleştirilebilir
  • ✅ DLP ve anomali tespit scriptleri çalışır

🤝 Katkıda Bulunma

  1. Bu depoyu fork edin
  2. Feature branch oluşturun (git checkout -b feature/yeni-ozellik)
  3. Değişikliklerinizi commit edin (git commit -m 'Yeni özellik eklendi')
  4. Branch'inizi push edin (git push origin feature/yeni-ozellik)
  5. Pull Request oluşturun

📄 Lisans

Bu proje MIT lisansı altında lisanslanmıştır. Detaylar için LICENSE dosyasına bakın.

👤 İletişim

Sorularınız veya önerileriniz için issue açabilirsiniz.


⭐ Projeyi beğendiyseniz yıldız vermeyi unutmayın!

About

Açık kaynaklı DevSecOps güvenlik izleme ve analiz platformu. ELK Stack, Nginx, Osquery ve Python tabanlı DLP/Anomali tespit araçlarını entegre eden minimal bir güvenlik çözümü.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors