Lynis: Sistem Güvenliği ve Denetim (Audit)

Lynis, Linux, macOS ve Unix tabanlı sistemler için geliştirilmiş, açık kaynaklı ve son derece güçlü bir güvenlik denetim (auditing) aracıdır. Özellikle Blue Team (Mavi Takım) operasyonlarında, sistem yöneticilerinin altyapılarını siber tehditlere karşı sıkılaştırması (hardening) ve uyumluluk kontrollerini (ISO27001, PCI-DSS vb.) yapması için standart bir endüstri aracı olarak kabul edilir.

Eğitim kurumlarındaki altyapıları yönetirken veya siber güvenlik müfredatlarında öğrencilere savunma stratejilerini anlatırken, Lynis sistemin mevcut zafiyetlerini somut bir şekilde gösteren mükemmel bir laboratuvar aracıdır.

1. Lynis Neden Tercih Edilir?

  • Ajan Gerektirmez (Agentless): Hedef sisteme ekstra bir servis veya arka plan uygulaması kurmanızı gerektirmez. Doğrudan komut satırından çalışır.

  • Hafif ve Bağımsızdır: Herhangi bir dış bağımlılığa (dependency) ihtiyaç duymaz. Doğrudan Bash üzerinde çalışabildiği için Proxmox üzerindeki sanal sunuculardan, Pardus ETAP 23 (Cinnamon) yüklü etkileşimli tahtalara kadar her ortamda sorunsuz çalıştırılabilir.

  • Derinlemesine Analiz: Yalnızca açık portları değil; dosya izinlerini, şifreleme yapılandırmalarını, güvenlik duvarı kurallarını ve çekirdek (kernel) parametrelerini inceler.

  • Eğitici Çıktılar: Sadece "Hata var" demez; hatanın nedenini ve nasıl çözüleceğini (URL referansları ile birlikte) detaylıca sunar.

2. Lynis Kurulumu

Lynis'i paket yöneticisi üzerinden kurabileceğiniz gibi, her zaman en güncel denetim modüllerine sahip olmak için doğrudan GitHub üzerinden de indirebilirsiniz.

Debian / Pardus / Ubuntu Tabanlı Sistemler İçin:

Bash
sudo apt update
sudo apt install lynis

Git Üzerinden En Güncel Sürümü Çekmek İçin (Önerilen):

Bash
cd /opt
sudo git clone https://github.com/CISOfy/lynis
cd lynis

(Git üzerinden indirildiğinde, derleme gerekmez. Doğrudan ./lynis komutuyla çalıştırabilirsiniz.)

3. Temel Kullanım ve Sistem Denetimi

Bir sistemin genel güvenlik röntgenini çekmek için aşağıdaki komut kullanılır. Lynis, bu komutla sistemde yüklü olan servisleri, yapılandırma dosyalarını ve kullanıcı haklarını taramaya başlar.

Bash
sudo lynis audit system

Tarama başladığında ekranınıza farklı renklerde çıktılar yansıyacaktır:

  • [ OK ] (Yeşil): Yapılandırmanın güvenli ve standartlara uygun olduğunu belirtir.

  • [ WARNING ] (Kırmızı): Sistemde anında müdahale gerektiren ciddi bir güvenlik açığı veya yanlış yapılandırma olduğunu gösterir. (Örneğin; root yetkisiyle dışarıdan SSH erişiminin açık olması).

  • [ SUGGESTION ] (Sarı): Sistemi daha güvenli hale getirmek (hardening) için sunulan iyileştirme tavsiyeleridir.

Not: Taramayı duraksamadan (Enter tuşuna basma gereksinimi olmadan) hızlıca bitirmek isterseniz --quick veya -Q parametresini kullanabilirsiniz:

Bash
sudo lynis audit system -Q

4. Lynis Çıktılarını ve Loglarını Okuma

Tarama bittikten sonra Lynis size bir özet (Hardening Index) sunar. Bu indeks, sisteminizin genel güvenlik skorunu 100 üzerinden değerlendirir.

Lynis iki önemli log dosyası oluşturur:

  1. /var/log/lynis.log : Taramanın teknik detaylarını, yapılan testlerin isimlerini ve hata ayıklama (debug) bilgilerini içerir.

  2. /var/log/lynis-report.dat : Uyarılar ve öneriler (warnings and suggestions) gibi sonuçları ayrıştırılmış bir formatta saklar. Merkezi bir log sunucusuna (SIEM) veya özel bir dashboard'a veri göndermek için bu dosya kullanılır.

Uyarıları ve Önerileri Listelemek İçin: Tarama sonrası sadece yapılması gerekenlere odaklanmak isterseniz:

Bash
grep -E "warning|suggestion" /var/log/lynis-report.dat

Lynis her öneri için KRNL-5830 veya SSH-7408 gibi benzersiz kodlar üretir. Bir uyarının detayını ve çözüm yolunu görmek için show details komutu kullanılabilir:

Bash
sudo lynis show details KRNL-5830

5. İleri Düzey Kullanım Senaryoları

A. Belirli Bir Test Grubunu (Kategoriyi) Çalıştırma

Sadece belirli bir servisi veya yapılandırmayı denetlemek istiyorsanız, tüm sistemi taramak yerine spesifik test gruplarını seçebilirsiniz. Örneğin, sadece kimlik doğrulama (authentication) veya ağ ayarlarını test etmek için:

Bash
# Hangi test gruplarının olduğunu görmek için:
sudo lynis show groups
# Sadece SSH ve Firewall ayarlarını test etmek için:
sudo lynis audit system --tests-from-group "firewalls,ssh"

B. Otomatik Denetimler (Cronjob ile Entegrasyon)

Sistemlerin güvenlik durumunu sürekli izlemek için Lynis'i bir cronjob olarak ayarlayabilirsiniz. Bu yapılandırma, sistemde sonradan oluşan bir zafiyeti (örneğin bir öğrencinin veya kullanıcının yanlış bir dizin izni vermesi) anında tespit etmenizi sağlar.

Bash
# crontab -e komutu ile dosyayı açıp aşağıdaki satırı ekleyin:
0 2 * * * root /opt/lynis/lynis audit system --cronjob > /dev/null 2>&1

(Bu ayar, Lynis'i her gece saat 02:00'de sessizce çalıştırır ve raporları log dosyasına yazar.)

6. Eğitim ve Uygulama (Laboratuvar Ortamı İçin Fikirler)

Siber güvenlik eğitimlerinde (Red Team/Blue Team senaryoları) Lynis harika bir Blue Team defans aracıdır.

  1. Öncesi/Sonrası Analizi: Öğrencilerden önce zafiyetli bir Linux makinesi kurmaları istenir. Lynis çalıştırılarak sistemin düşük Hardening skoru (örn: %40) görülür.

  2. Sıkılaştırma (Hardening): Öğrenciler Lynis'in önerdiği SUGGESTION maddelerini (Örneğin; dm-tool lock gibi güvenli ekran kilitleme mekanizmalarının aktif edilmesi, şifre politikalarının sıkılaştırılması, gereksiz servislerin kapatılması) uygular.

  3. Yeniden Değerlendirme: Lynis tekrar çalıştırılarak skorun (%80-90 seviyelerine) yükseldiği gözlemlenir ve savunma mimarisi pratik olarak kavranmış olur.


📌 Lynis Nedir?

Lynis, Linux ve Unix tabanlı sistemlerde kullanılan açık kaynaklı bir güvenlik denetim (security auditing) aracıdır.

Sistem üzerinde:

  • Güvenlik açıklarını tespit eder

  • Yanlış yapılandırmaları bulur

  • Sistem sertleştirme (hardening) önerileri sunar

  • PCI-DSS, ISO 27001 gibi güvenlik standartlarına uyumluluk kontrolü yapabilir

Kısaca Lynis, bir sistemin “ne kadar güvenli olduğunu” analiz eden bir denetçi gibi çalışır.


⚙️ Lynis Nasıl Çalışır?

Lynis sistemi pasif olarak tarar. Yani:

  • Sistem dosyalarını okur

  • Konfigürasyonları inceler

  • Servisleri kontrol eder

  • Kernel ve kullanıcı izinlerini analiz eder

🚫 Zararlı bir işlem yapmaz
🚫 Sisteme zarar vermez
✔ Sadece analiz ve raporlama yapar


📥 Lynis Kurulumu

🐧 Debian / Ubuntu / Kali Linux

sudo apt update
sudo apt install lynis -y

🐧 Arch Linux

sudo pacman -S lynis

📦 GitHub üzerinden (en güncel sürüm)

git clone https://github.com/CISOfy/lynis
cd lynis

🚀 İlk Tarama Nasıl Yapılır?

En temel kullanım:

sudo lynis audit system

Bu komut:

  • Sistemi analiz eder

  • Güvenlik raporu üretir

  • Zayıf noktaları listeler


📊 Lynis Rapor Yapısı

Tarama sonrası Lynis şu bilgileri üretir:

1. 🧠 Hardening Index

  • 0–100 arası skor

  • Sistem güvenlik seviyesini gösterir

2. ⚠️ Warnings (Uyarılar)

  • Riskli yapılandırmalar

  • Güvenlik açıkları

3. 💡 Suggestions (Öneriler)

  • SSH sertleştirme

  • Firewall iyileştirme

  • Kernel güvenlik ayarları

4. 📁 Log dosyaları

  • /var/log/lynis.log

  • /var/log/lynis-report.dat


🔍 Örnek Kullanım Senaryoları

🧪 1. Sistem güvenlik kontrolü

sudo lynis audit system

🔐 2. Belirli bir log dosyasını inceleme

sudo lynis audit system --log-file /tmp/test.log

📦 3. Yazılım paket kontrolü

Lynis yüklü paketleri analiz eder:

  • Güncel mi?

  • Güvenli mi?

  • Gereksiz servis var mı?


🧱 Lynis ile Hardening (Sertleştirme)

Lynis sadece sorun bulmaz, aynı zamanda çözüm önerir.

Örnek öneriler:

🔒 SSH Güvenliği

  • Root login kapat

  • Password authentication kapat

  • Key-based authentication kullan

🧯 Firewall

  • UFW veya iptables aktif et

🧠 Kernel Güvenliği

  • Sysctl parametrelerini optimize et


📈 Hardening Index Nasıl Artırılır?

Adım        Etki
Gereksiz servisleri kapatmak        +10
SSH sertleştirme        +15
Firewall aktif etmek        +10
Güncel sistem kullanmak        +20

📁 Lynis Log Analizi

Önemli dosyalar:

/var/log/lynis.log
/var/log/lynis-report.dat

Log içinde:

  • Uyarılar

  • Öneriler

  • Test sonuçları bulunur


🧠 Lynis Test Kategorileri

Lynis yaklaşık 100+ test yapar:

  • Boot güvenliği

  • Kernel parametreleri

  • Kullanıcı hesapları

  • Dosya izinleri

  • Network ayarları

  • SSH konfigürasyonu

  • Malware kontrolü


🆚 Lynis Alternatifleri

Araç        Açıklama
OpenSCAP        Kurumsal güvenlik denetimi
Tiger        Basit Unix security checker
rkhunter        Rootkit tespiti
chkrootkit        Rootkit kontrol aracı

🧪 Pentest ve Siber Güvenlikte Kullanımı

Lynis genellikle:

  • Pentest öncesi bilgi toplama

  • Sistem hardening analizi

  • Red Team / Blue Team çalışmaları

  • Server audit süreçleri

için kullanılır.


⚠️ Önemli Notlar

  • Lynis exploit aracı değildir

  • Sistem hacklemek için kullanılmaz

  • Savunma ve denetim aracıdır


🏁 Sonuç

Lynis, Linux sistemlerde güvenlik seviyesini artırmak için kullanılan en güçlü açık kaynak araçlardan biridir. Özellikle sistem yöneticileri ve siber güvenlik uzmanları için vazgeçilmezdir.


Linux Sistem Sıkılaştırma (Hardening) : Güvenli Altyapılar İnşa Etmek

Sistem sıkılaştırma (hardening), bir işletim sisteminin varsayılan zafiyetlerini en aza indirerek saldırı yüzeyini daraltma sürecidir. Özellikle Blue Team (Mavi Takım) savunma operasyonlarında ve kapsamlı siber güvenlik laboratuvarı simülasyonlarında, altyapının ne kadar dirençli olduğu doğrudan uygulanan sıkılaştırma politikalarına bağlıdır.

1. Fiziksel ve Oturum Güvenliği

Sistemin ağ üzerinden güvenli olmasının yanı sıra, fiziksel veya yerel oturum erişimlerinin de denetim altında tutulması gerekir.

  • Ekran Kilitleme Mekanizmaları: Sınıf, laboratuvar veya ofis ortamlarında açık bırakılan oturumlar büyük risk taşır. Özellikle Pardus ETAP 23 gibi Cinnamon masaüstü ortamını temel alan işletim sistemlerinde, uzak veya otomatik ekran kilitleme işlemleri için standart loginctl komutları her zaman istenen yanıtı vermeyebilir. Bu tür ortamlarda oturumu anında ve güvenilir bir şekilde kilitlemek için aşağıdaki komut tercih edilmelidir:

    Bash
    dm-tool lock
    
  • BIOS/UEFI Parolası: Fiziksel erişimi olan bir saldırganın farklı bir medyadan (USB/CD) sistem başlatmasını (boot etmesini) engellemek için BIOS/UEFI seviyesinde parola belirlenmelidir.

  • GRUB Güvenliği: Bootloader (GRUB) ekranına şifre koyarak, kötü niyetli kişilerin çekirdek (kernel) parametrelerini değiştirerek single-user mode üzerinden root erişimi elde etmesi önlenir.

2. Kullanıcı ve Kimlik Doğrulama Yönetimi

Sistemdeki kullanıcı haklarının "En Az Ayrıcalık Prensibi" (Principle of Least Privilege) ile yapılandırılması kritik bir savunma hattıdır.

  • Root Hesabının Kısıtlanması: Sisteme doğrudan root olarak giriş yapılmamalıdır. Bunun yerine, standart bir kullanıcı ile giriş yapılıp yetki yükseltme (sudo) mekanizması kullanılmalıdır.

  • SSH Güvenliği: Uzaktan yönetim için kullanılan SSH servisi, en sık hedef alınan noktalardandır. /etc/ssh/sshd_config dosyasında şu düzenlemeler yapılmalıdır:

    Plaintext
    PermitRootLogin no # Root ile doğrudan SSH girişini kapatır
    PasswordAuthentication no # Sadece SSH anahtarları (Key-based) ile girişe izin verir
    Port 2222 # Varsayılan 22 portunu değiştirerek otomatik taramalardan gizler
  • Parola Politikaları (PAM): libpam-pwquality gibi modüller kullanılarak, oluşturulacak parolaların karmaşıklığı (minimum uzunluk, büyük/küçük harf ve özel karakter zorunluluğu) garanti altına alınmalıdır.

3. Ağ Güvenliği ve Servis Yönetimi

Sistemde çalışan her servis, potansiyel bir arka kapıdır. İhtiyaç duyulmayan hiçbir servis aktif olmamalıdır.

  • Gereksiz Servislerin Kapatılması: Sistemde hangi servislerin dinlemede olduğunu görmek için düzenli taramalar yapılmalıdır.

    Bash
    ss -tulpn
    

    Kullanılmayan servisler systemctl disable <servis_adi> komutu ile devre dışı bırakılmalıdır.

  • Güvenlik Duvarı (Firewall) Yapılandırması: UFW (Uncomplicated Firewall) veya iptables kullanılarak sadece gerekli portlara (Örneğin, web sunucusu için 80 ve 443) izin verilmelidir.

    Bash
    sudo ufw default deny incoming
    sudo ufw default allow outgoing
    sudo ufw allow 2222/tcp # Özel SSH portu
    sudo ufw enable

4. Dosya Sistemi ve İzinler

Dosya sistemindeki yanlış izin yapılandırmaları, yerel bir saldırganın (veya zararlı yazılımın) sistemde yetki yükseltmesine (privilege escalation) olanak tanır.

  • SUID ve SGID Bitlerinin Kontrolü: SUID biti ayarlanmış dosyalar, dosyayı çalıştıran kullanıcının değil, dosya sahibinin (genellikle root) haklarıyla çalışır. Sistemdeki şüpheli SUID dosyalarını tespit etmek için:

    Bash
    find / -perm -4000 -type f -exec ls -l {} \; 2>/dev/null
    
  • Kritik Dizinlerin Ayrılması: /tmp, /var ve /home dizinleri ayrı disk bölümlerinde (partition) tutulmalı ve özellikle /tmp dizini için nosuid, nodev ve noexec parametreleri /etc/fstab dosyasına eklenerek zararlı yazılımların bu dizin üzerinden çalıştırılması engellenmelidir.

5. Denetim (Audit) ve İzleme

Sıkılaştırma tek seferlik bir işlem değil, sürekli bir döngüdür.

  • Önceki konularda da değinildiği gibi Lynis gibi profesyonel araçlarla düzenli güvenlik denetimleri yapılmalı, sistemin Hardening Index skoru sürekli yüksek tutulmalıdır.

  • Ağ trafiğindeki şüpheli hareketleri izlemek ve öğrencilere saldırı analizini (MITRE ATT&CK teknikleri ile) göstermek için ağ dinleme araçları stratejik noktalara konumlandırılmalıdır.

Yorumlar

Bu blogdaki popüler yayınlar

Android Telefon/Tablet Ekranını Pardus ETAP 23 Yüklü Akıllı Tahtaya Yansıtma

Pardus Etap 23’de Unutulmuş Etap Yetkili Parolasını Sıfırlama

Pardus Etap 23 Yazıcı Kurulumu