Ubuntu ve Debian tabanlı sistemler için kapsamlı güvenlik tarama aracı. 13 farklı modülü ile sisteminizi analiz eder ve interaktif HTML raporlar oluşturur.
- 13 Güvenlik Modülü: Sistem, kernel, ağ, kimlik doğrulama, servisler ve daha fazlası
- İnteraktif HTML Raporlar: Tab-based navigasyon, arama, sıralama
- Adım Adım Çözüm Rehberleri: Her bulgu için detaylı düzeltme talimatları
- Kopyalanabilir Komutlar: Tek tıkla terminal komutlarını kopyala
- File Integrity Monitoring (FIM): Kritik dosyalarda değişiklik takibi
- Çoklu Rapor Formatı: Terminal, JSON, HTML, TXT
- Portable veya Kurulabilir: İstediğiniz şekilde kullanın
- Otomatik Tarama: Systemd timer ile günlük taramalar
Portable mod, herhangi bir kurulum yapmadan doğrudan repository'den scanner'ı kullanmanıza olanak tanır.
# Repository'yi klonlayın
git clone https://github.com/erhanurgun/LINUX-ubuntu-security-scanner.git
cd LINUX-ubuntu-security-scanner
# Doğrudan çalıştırın
./bin/security-scanner --quick
# HTML rapor oluşturun
./bin/security-scanner -f htmlYöntem 1: Tam Yol ile Çalıştırma
# Absolute path kullanarak
/path/to/LINUX-ubuntu-security-scanner/bin/security-scanner --quickYöntem 2: Alias Tanımlama (Önerilen)
Shell yapılandırma dosyanıza (~/.bashrc veya ~/.zshrc) ekleyin:
# Security Scanner Portable Aliases
export SCANNER_HOME="$HOME/path/to/LINUX-ubuntu-security-scanner"
# Ana komut
alias security-scanner="$SCANNER_HOME/bin/security-scanner"
# Kısa alias'lar
alias scan='security-scanner'
alias scan-quick='security-scanner --quick'
alias scan-full='security-scanner --full'
alias scan-html='security-scanner -f html'
alias scan-json='security-scanner -f json'
alias scan-all='security-scanner -f json,html,txt'
# FIM komutları
alias scan-fim-init='security-scanner --fim-init'
alias scan-fim='security-scanner --fim-check'
# Modül bazlı tarama
alias scan-net='security-scanner --modules network'
alias scan-auth='security-scanner --modules authentication'
alias scan-services='security-scanner --modules services'Ardından terminali yenileyin:
source ~/.bashrc # veya ~/.zshrcYöntem 3: Symlink Oluşturma
# ~/.local/bin dizinini oluşturun (yoksa)
mkdir -p ~/.local/bin
# Symlink oluşturun
ln -sf "/path/to/LINUX-ubuntu-security-scanner/bin/security-scanner" ~/.local/bin/security-scanner
# PATH'te değilse ekleyin (~/.bashrc veya ~/.zshrc)
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
source ~/.bashrcPortable modda raporlar repository içindeki .reports/ klasörüne kaydedilir:
LINUX-ubuntu-security-scanner/
+-- .reports/
+-- 2024-01-15/
| +-- html/scan_abc123.html
| +-- json/scan_abc123.json
| +-- txt/scan_abc123.txt
+-- 2024-01-16/
+-- ...
| Özellik | Portable | Kurulum |
|---|---|---|
| Git clone yeterli | Evet | Hayır |
| Kurulum scripti gerekli | Hayır | Evet |
| Raporlar proje içinde | Evet | Hayır (ayrı dizin) |
security-scanner komutu |
Manuel alias | Otomatik |
| Günlük otomatik tarama | Hayır | Evet (opsiyonel) |
| Kaldırma | Dizini sil | uninstall.sh |
| Güncelleme | git pull |
Tekrar install.sh |
# Kurulum scriptini çalıştırın
./install.shKurulum seçenekleri:
- Sadece manuel:
security-scannerkomutu ile manuel kullanım - Manuel + Otomatik: Günlük otomatik tarama (systemd timer)
# Hızlı tarama (kritik kontroller)
security-scanner --quick
# Tam tarama
security-scanner --full
# Belirli modülleri çalıştır
security-scanner --modules network,authentication
# HTML rapor oluştur
security-scanner -f html
# Çoklu format (JSON + HTML)
security-scanner -f json,html
# Severity filtreleme
security-scanner --high # Sadece kritik ve yüksek
security-scanner --medium # Orta ve üstü
security-scanner --only high # Sadece belirli seviye# Rapor formatlarını belirt
security-scanner -f terminal # Varsayılan - terminale yazdır
security-scanner -f json # JSON rapor
security-scanner -f html # İnteraktif HTML rapor
security-scanner -f txt # Düz metin rapor
security-scanner -f json,html,txt # Hepsini oluştur
# Raporları listele
security-scanner --list-reportsRaporlar tarihe göre organize edilir:
.reports/
2024-01-15/
html/scan_abc123.html
json/scan_abc123.json
txt/scan_abc123.txt
# Baseline oluştur
security-scanner --fim-init
# Değişiklikleri kontrol et
security-scanner --fim-check
# Baseline'ı güncelle
security-scanner --fim-updatesecurity-scanner --help
security-scanner --version| # | Modül | Açıklama |
|---|---|---|
| 01 | system-info | Sistem bilgileri ve genel durum |
| 02 | security-updates | Güvenlik güncellemeleri kontrolü |
| 03 | kernel-security | Kernel parametreleri ve ASLR/SMEP |
| 04 | filesystem | Dosya sistemi izinleri ve mount seçenekleri |
| 05 | network | Ağ yapılandırması, firewall, açık portlar |
| 06 | authentication | SSH, PAM, şifre politikaları |
| 07 | services | Çalışan servisler ve yapılandırmaları |
| 08 | permissions | SUID/SGID, world-writable dosyalar |
| 09 | malware | Şüpheli dosya ve process taraması |
| 10 | fim | File Integrity Monitoring |
| 11 | gnome-extensions | GNOME uzantı güvenlik analizi |
| 12 | containers | Docker/LXD konteyner güvenliği |
| 13 | compliance | CIS benchmark uyumluluk kontrolleri |
Detaylı modül dokümantasyonu: docs/MODULES.md
Yeni HTML raporlar aşağıdaki özellikleri içerir:
Bulguları severity'ye göre filtreleyin: Tümü, Kritik, Yüksek, Orta, Düşük, Bilgi
- Metin aramasıyla bulguları filtreleyin
- Kategoriye göre filtreleme
- Sütun başlıklarını tıklayarak sıralama
Her çözüm adımındaki terminal komutlarını tek tıkla kopyalayın.
Her bulgu için:
- Sorunun etkisi
- Adım adım çözüm talimatları
- Doğrulama komutu
- İpuçları ve notlar
{
"scan": {
"parallel": false,
"threads": 4,
"timeout": 300
},
"modules": {
"enabled": ["all"],
"disabled": []
},
"reporting": {
"format": "terminal",
"organize_by_date": true,
"retention_days": 90
},
"notifications": {
"desktop": true,
"on_severity": ["critical", "high"]
},
"filters": {
"min_severity": "low"
}
}# Rapor ayarları
REPORT_FORMAT="terminal"
REPORT_RETENTION_DAYS=90
# Tarama ayarları
SCAN_TIMEOUT=300
PARALLEL_SCAN=false
# FIM ayarları
FIM_ENABLED=true
FIM_DIRECTORIES="/usr/bin /usr/sbin /etc"Detaylı yapılandırma rehberi: docs/CONFIGURATION.md
Kurulum sırasında seçilirse, günlük otomatik tarama etkinleştirilir:
# Timer durumunu kontrol et
systemctl --user status security-scanner.timer
# Sonraki tarama zamanını gör
systemctl --user list-timers security-scanner.timer
# Manuel tarama başlat
systemctl --user start security-scanner.service
# Tarama loglarını gör
journalctl --user -u security-scanner.service -fLINUX-ubuntu-security-scanner/
├── bin/
│ └── security-scanner # Ana çalıştırılabilir
├── lib/
│ ├── core.sh # Modül orkestrasyonu
│ ├── utils.sh # Yardımcı fonksiyonlar
│ ├── reporting.sh # Rapor oluşturma
│ └── config.sh # Yapılandırma yükleyici
├── modules/ # 13 tarama modülü
├── config/
│ ├── scanner.conf # Shell yapılandırma
│ └── settings.json # JSON yapılandırma
├── templates/
│ ├── css/styles.css # HTML rapor stilleri
│ ├── js/report.js # İnteraktif özellikler
│ └── remediation/ # Çözüm rehberleri (JSON)
├── data/ # FIM baseline vb.
├── .reports/ # Oluşturulan raporlar
├── docs/ # Dokümantasyon
├── install.sh # Kurulum scripti
├── uninstall.sh # Kaldırma scripti
└── README.md
- Bash 4.0+
- Standart Unix araçları (grep, awk, find, etc.)
jq- JSON işleme (daha iyi rapor oluşturma)notify-send- Masaüstü bildirimlerirkhunter- Rootkit taraması (09-malware modülü)chkrootkit- Rootkit taraması (09-malware modülü)lynis- Ek güvenlik kontrolleri
# Önerilen paketleri kur
sudo apt install jq libnotify-bin rkhunter chkrootkit./uninstall.shSeçenekler:
- Sadece systemd timer'ı kaldır (manuel kullanım devam eder)
- Tam kaldırma (veriler yedeklenir)
- Tam kaldırma (yedekleme olmadan)
PATH'e ~/.local/bin ekleyin:
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
source ~/.bashrcjq kurulu değilse, JSON işlemleri sınırlı olacaktır:
sudo apt install jqRoot gerektiren kontroller için:
sudo security-scanner --quick- Scanner root olarak çalıştırıldığında daha kapsamlı sonuçlar verir
- Hassas bilgiler içeren raporları güvenli saklayın
- Otomatik tarama raporları
~/.local/share/security-scanner/reports/altında saklanır - Çözüm adımlarını uygulamadan önce yedek alın
- Fork edin
- Feature branch oluşturun (
git checkout -b feature/amazing-feature) - Değişikliklerinizi commit edin (
git commit -m 'Add amazing feature') - Branch'ı push edin (
git push origin feature/amazing-feature) - Pull Request açın
MIT License - Detaylar için LICENSE dosyasına bakın.
Erhan Urgun
- GitHub: @erhanurgun
- CIS Benchmarks
- Lynis Security Auditing
- Ubuntu Security Team
Ubuntu sistemlerinizi güvenli tutun!