Skip to content

4ykutG/webguard

Repository files navigation

WebGuard: AI-Powered URL Phishing Detection

Bu proje, Makine Öğrenmesi (AI) destekli bir URL güvenlik analiz platformudur. ASP.NET Core MVC, MsSQL, SSIS ve SSAS teknolojilerini birleştirerek hem canlı bir güvenlik taraması hem de kapsamlı bir iş zekası (BI) analizi sunar.


Proje Ekran Görüntüleri

Ana Sayfa (URL Tarama) Giriş Paneli Admin İstatistik Paneli
Ana Sayfa Giriş Admin Panel

Hızlı Kurulum Rehberi (Local Deployment)

Projeyi başka bir bilgisayarda tek seferde çalıştırmak için aşağıdaki adımları sırayla takip edin:

1. Veritabanı Kurulumu (MsSQL)

  • SQL Server Management Studio (SSMS) açın.
  • Proje klasöründeki DataBase_Scriptleri.docx içindeki SQL kodlarını kopyalayın ve çalıştırın.
  • Veritabanı adının WebGuardDB olduğundan emin olun.

2. Connection String Güncelleme

  • DotnetASP klasöründeki appsettings.json dosyasını açın.
  • "DefaultConnection" kısmındaki Server=.; bölümünü kendi SQL Server adınızla (Server Name) güncelleyin.

3. Python ve AI Modeli Hazırlığı

  • Bilgisayarınızda Python yüklü olmalıdır.
  • Gerekli kütüphaneleri terminalden kurun:
    pip install scikit-learn pandas
  • best_phishing_model.pkl dosyasının projenin kök dizininde veya belirlenen MLModel klasöründe olduğunu teyit edin.

4. Visual Studio Gereksinimleri

  • SSIS ve SSAS projelerini görüntülemek için Visual Studio üzerinde SQL Server Integration Services Projects ve Microsoft Analysis Services Projects eklentilerinin kurulu olması gerekir.

Akademik İsterler ve Sunum Notları

RDBMS & İş Zekası (MsSQL)

  • Varlık Tasarımı: En az 6 varlık (Users, Roles, Urls, ScanResults, RiskCategories, UserFeedback) ile normalize edilmiş bir yapı kuruldu.
  • Sorgu Performansı: URL aramalarını hızlandırmak için UrlText üzerinde, raporlama için ScanDate üzerinde Non-Clustered Index kullanıldı.
  • ETL & Veri Ambarı: SSIS paketleri ile canlı veriler (OLTP) temizlenerek veri ambarına (OLAP) aktarılmaktadır.
  • OLAP Küpü: SSAS üzerinde oluşturulan küp ile "Toplam Tarama", "Ortalama Güvenlik Skoru" gibi 5 farklı Measure analizi yapılabilmektedir.
  • Web Entegrasyonu: Admin panelindeki raporlar veritabanından değil, ADOMD.NET üzerinden direkt OLAP kübünden çekilmektedir.

İleri Web Programlama (ASP.NET MVC)

  • Controller Yapısı: Home, Account, Scan, Admin ve Feedback olmak üzere 5 farklı Controller yönetilmektedir.
  • Esnek View & Layout: Bootstrap ile responsive tasarım yapıldı. Özel bir Master Layout kullanılarak tutarlılık sağlandı.
  • Dinamik Bileşenler: _LoginStatusPartial (PartialView) ve LastScans (ViewComponent) ile veriler anlık olarak kullanıcıya sunulmaktadır.
  • Rol Bazlı Yetkilendirme: Admin ve StandardUser rolleri tanımlandı. İçerikler ([Authorize(Roles="Admin")]) bu rollere göre kısıtlanmaktadır.
  • Veri Aktarımı: Tarama sonuçları kullanıcıya sunulurken Controller'dan View'a TempData kullanılarak veri aktarımı sağlandı.
  • CRUD Operasyonları: URL tarama (Create), Geçmiş listeleme (Read), Feedback güncelleme (Update) ve Kayıt silme (Delete) fonksiyonları aktif çalışmaktadır.

Kullanılan Teknolojiler

  • Backend: ASP.NET Core 8.0 MVC
  • Database: Microsoft SQL Server 2022
  • AI: Python (Scikit-Learn & Pickle)
  • BI Tools: SSIS (Integration Services), SSAS (Analysis Services)
  • Frontend: Bootstrap 5, Razor Pages

Docker İle Kurulum:

  • Terminali proje klasöründe aç.

  • docker-compose up -d komutunu çalıştır.

  • Web sitesi için: http://localhost:8080

  • BI (SSIS/SSAS) projeleri için: Visual Studio'da projeyi açıp sunucu olarak localhost,1433 adresine bağlan.

About

Manisa Celal Bayar Üniversitesi Yazılım Mühendisliği Bölümü; veritabanı yönetim sistemleri, makina öğrenmesi, ileri web programlama dersleri için geliştirdiğimiz güz dönemi projesi

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors