Python ile Gelişmiş Siber Güvenlik İzleme Sistemi | Real-Time Threat Detection, Network Traffic Analysis, Log Monitoring

Real-Time Threat Detection, Network Traffic Analysis

Python’un güçlü kütüphanelerini kullanarak gelişmiş bir siber güvenlik izleme sistemi nasıl oluşturulur? Bu makalede, makine öğrenmesi destekli bir güvenlik sisteminin detaylı implementasyonunu

Sistemin Genel Yapısı

Güvenlik izleme sistemimiz şu ana bileşenlerden oluşuyor:

1. Log Analizi
2. Anomali Tespiti (Makine Öğrenmesi)
3. Tehdit İstihbaratı
4. Uyarı Sistemi
5. Otomatik Engelleme Mekanizması

Gerekli Kütüphaneler

import re
import json
import smtplib
import requests
import joblib
import numpy as np
from email.mime.text import MIMEText
from collections import defaultdict
from sklearn.ensemble import IsolationForest

 

Log Analizi ve Tehdit Tespiti

Sistem, üç farklı log dosyasını sürekli olarak izliyor:
– auth.log: Kimlik doğrulama logları
– nginx/access.log: Web sunucu erişim logları
– firewall.log: Güvenlik duvarı logları

LOG_FILES = ["/var/log/auth.log", "/var/log/nginx/access.log", "/var/log/firewall.log"]

Log analizi şu tehditleri tespit ediyor:
1. Brute Force saldırıları (5 başarısız giriş denemesi)
2. Bilinen zararlı IP’lerden gelen istekler
3. Anormal davranış kalıpları

Makine Öğrenmesi ile Anomali Tespiti

Sistem, Isolation Forest algoritmasını kullanarak normal olmayan davranışları tespit ediyor:

def train_anomaly_model():
   data = np.random.rand(100, 3)
   model = IsolationForest(contamination=0.05)
   model.fit(data)
   joblib.dump(model, "anomaly_model.pkl")

Bu model şu özellikleri analiz ediyor:
– Log satırı uzunluğu
– Sayısal karakter sayısı
– Alfabetik karakter sayısı

Uyarı Sistemi

Tehdit tespit edildiğinde sistem iki farklı kanaldan uyarı gönderiyor:

1. Email Uyarıları:

def send_email_alert(subject, message):
   msg = MIMEText(message)
   msg["Subject"] = subject
   server = smtplib.SMTP(smtp_server, smtp_port)
   server.login(username, password)
   server.sendmail(sender, recipient, msg.as_string())

2. Slack Bildirimleri:

def send_slack_alert(message):
   payload = {"text": message}
   requests.post(SLACK_WEBHOOK_URL, json=payload)

Otomatik Koruma Mekanizmaları

Sistem, tehdit tespit ettiğinde otomatik olarak harekete geçiyor:
– Brute force saldırısı yapan IP’leri otomatik engelleme
– Zararlı IP’leri güvenlik duvarında bloklama
– Tehdit istihbaratı verilerini sürekli güncelleme

Nasıl Kullanılır?

1. Gerekli kütüphaneleri yükleyin:
bash
pip install scikit-learn numpy requests joblib
2. Konfigürasyon ayarlarını güncelleyin:
– Email sunucu bilgileri
– Slack webhook URL’i
– Güvenlik duvarı API endpoint’i
– Log dosyası konumları

3. Sistemi çalıştırın:

python security_monitor.py

 

 

Bu sistem, modern siber tehditlere karşı otomatik ve akıllı bir koruma sağlıyor. Makine öğrenmesi sayesinde bilinmeyen tehditleri bile tespit edebiliyor ve güvenlik ekibini anında bilgilendiriyor.

Sistemin güçlü yanları:
– Gerçek zamanlı tehdit tespiti
– Otomatik koruma mekanizmaları
– Çoklu bildirim kanalları
– Makine öğrenmesi destekli anomali tespiti

Gelecek geliştirmeler için öneriler:
– Derin öğrenme modellerinin eklenmesi
– Daha fazla log kaynağının entegrasyonu
– Tehdit istihbaratı kaynaklarının çeşitlendirilmesi
– Web arayüzü eklenmesi

Bu projeyi GitHub’dan indirebilir ve kendi ihtiyaçlarınıza göre özelleştirebilirsiniz.

https://github.com/onder7/Real-Time-Threat-Detection