İçeriğe geç
NetDevOps
11 dk okuma Güvenlik

OpenSCAP ile Linux Güvenlik Açığı Taraması

OpenSCAP Nedir ve Linux Sistemlerde Güvenlik Açığı Taraması

Linux sistem yöneticileri ve güvenlik profesyonelleri için otomatik güvenlik uyumluluk taraması, günümüzün karmaşık tehdit ortamında kritik bir beceri haline gelmiştir. Bu makalede, endüstri standardı olan OpenSCAP araçlarını kullanarak Linux sistemlerinizde kapsamlı güvenlik açığı taraması gerçekleştirmeyi detaylı olarak inceleyeceğiz. OpenSCAP, Security Content Automation Protocol (SCAP) standardını uygulayan açık kaynaklı bir araç ekosistemi olup, sistem güvenliğini ölçmek, yapılandırma uyumluluğunu değerlendirmek ve güvenlik açıklarını taramak için kapsamlı çözümler sunmaktadır.

SCAP standardı, Amerika Birleşik Devletleri Ulusal Standartlar ve Teknoloji Enstitüsü (NIST) tarafından geliştirilen ve federal bilgi sistemleri için zorunlu kılınan bir güvenlik otomasyon çerçevesidir. Bu protokol, güvenlik içeriğinin standartlaştırılmış bir formatta sunulmasını sağlayarak farklı satıcılar arasında birlikte çalışabilirliği garanti altına alır. OpenSCAP projesi, bu standardı Linux platformunda ücretsiz olarak kullanılabilir kılan araçları geliştirmekte ve bakımını yapmaktadır.

Kurulum ve Temel Yapılandırma

OpenSCAP araçlarını Linux sisteminize kurmak, dağıtımınıza bağlı olarak birkaç farklı yöntemle gerçekleştirilebilir. Red Hat tabanlı sistemlerde (RHEL, CentOS, Fedora, Oracle Linux) paket yöneticisi kullanarak kurulum yapılabilir. Ubuntu ve Debian sistemlerinde ise apt paket yöneticisi tercih edilir. Kurulum sürecini adım adım inceleyelim.

Debian Tabanlı Sistemlerde Kurulum

Debian ve Ubuntu sistemlerde OpenSCAP kurulumu için aşağıdaki komutları root yetkisiyle çalıştırmanız gerekmektedir:

sudo apt update
sudo apt install libopenscap8 openscap-scanner scap-security-guide

Bu komutlar, OpenSCAP kütüphanesini, oscap komut satırı aracını ve SCAP Security Guide güvenlik politikalarını sisteminize yükler. Kurulum tamamlandıktan sonra, oscap komutunun sistemde mevcut olduğunu doğrulamak için sürüm kontrolü yapabilirsiniz:

oscap --version

Red Hat Tabanlı Sistemlerde Kurulum

Red Hat Enterprise Linux, CentOS ve Fedora sistemlerinde kurulum yum veya dnf paket yöneticileri üzerinden gerçekleştirilir:

sudo dnf install openscap-scanner scap-security-guide

SCAP Security Guide paketi, sisteminizde önceden yapılandırılmış güvenlik politikalarını içerir. Bu politikalar, farklı uyumluluk standartlarına (CIS, STIG, PCI-DSS gibi) göre hazırlanmış kurallar setlerini barındırır. Kurulum sonrasında mevcut profilleri listelemek için aşağıdaki komutu kullanabilirsiniz:

oscap info /usr/share/xml/scap/ssg/content/ssg-rookie-ds.xml

Güvenlik Açığı Taraması Temel Kavramları

OpenSCAP ile güvenlik açığı taraması gerçekleştirmeden önce, temel kavramları ve terminolojiyi anlamak önemlidir. SCAP ekosistemi, farklı amaçlara hizmet eden birden fazla standart içerir. OVAL (Open Vulnerability and Assessment Language), sistemlerdeki güvenlik açıklarını tanımlamak için kullanılan bir dildir. Her güvenlik açığı, benzersiz bir CVE (Common Vulnerabilities and Exposures) numarasıyla tanımlanır ve OVAL tanımları bu açıkları tespit etmek için kurallar içerir.

XCCDF (Extensible Configuration Checklist Description Format), güvenlik yapılandırma kontrollerini tanımlamak için kullanılan bir standarttır. Bu format, sistemlerin belirli güvenlik gereksinimlerine uygunluğunu değerlendirmek için kullanılır. CPE (Common Platform Enumeration), işletim sistemleri ve yazılımlar için standart bir adlandırma şeması sağlar. CVSS (Common Vulnerability Scoring System) ise güvenlik açıklarının ciddiyetini ölçmek için kullanılan bir puanlama sistemidir.

OVAL Tanımları ve Güvenlik Açığı Veritabanları

Güvenlik açığı taraması için en önemli kaynaklardan biri OVAL tanımlarıdır. Bu tanımlar, Red Hat, Debian, Ubuntu gibi büyük Linux dağıtımları için düzenli olarak güncellenir. Red Hat sistemler için OVAL tanımlarını Red Hat'in resmi güvenlik veritabanından indirebilirsiniz:

cd /tmp
wget https://www.redhat.com/security/data/oval/Red_Hat_Enterprise_Linux_9.xml

Bu komut, RHEL 9 için güncel OVAL tanımlarını indirir. Benzer şekilde RHEL 8, RHEL 7 veya diğer sürümler için de aynı yapı kullanılabilir. İndirilen XML dosyası, sistemde kurulu olan paketlerin güvenlik açığı olup olmadığını değerlendirmek için kullanılır.

Komut Satırı ile Güvenlik Açığı Taraması

OpenSCAP'in en güçlü özelliklerinden biri, oscap komut satırı aracıdır. Bu araç, hem yapılandırma uyumluluğu hem de güvenlik açığı taraması için kullanılabilir. Temel güvenlik açığı taraması için aşağıdaki adımları izleyeceğiz.

Yerel Sistem Taraması

Yerel Linux sisteminizi güvenlik açıkları için taramak için oscap oval eval komutunu kullanın:

oscap oval eval \
  --results /tmp/oval-results.xml \
  --report /tmp/oval-report.html \
  /tmp/Red_Hat_Enterprise_Linux_9.xml

Bu komut çalıştırıldığında, OpenSCAP sisteminizdeki yüklü paketleri tarar ve OVAL tanımlarında belirtilen güvenlik açıklarıyla karşılaştırır. Tarama tamamlandıktan sonra, sonuçlar iki dosyaya yazılır: makine tarafından okunabilir XML formatında sonuçlar ve insan tarafından okunabilir HTML formatında rapor.

HTML raporunu görüntülemek için bir web tarayıcısı kullanabilirsiniz:

firefox /tmp/oval-report.html &

Rapor, bulunan her güvenlik açığı için ayrıntılı bilgiler içerir. Her güvenlik açığı için CVE numarası, açığın ciddiyeti (CVSS skoru), etkilenen paketler ve çözüm önerileri gösterilir. Ayrıca "true" olarak işaretlenen sonuçlar, sisteminizin o güvenlik açığından etkilendiğini; "false" olarak işaretlenenler ise etkilenmediğini belirtir.

Uzak Sistemleri Tarama

OpenSCAP, SSH protokolü üzerinden uzak sistemleri de tarayabilir. Bu özellik, birden fazla sunucuyu merkezi bir konumdan denetlemek için oldukça kullanışlıdır. Uzaktan tarama için oscap-ssh aracını kullanabilirsiniz:

oscap-ssh root@sunucu1.example.com oval eval \
  --results /tmp/remote-results.xml \
  --report /tmp/remote-report.html \
  /tmp/Red_Hat_Enterprise_Linux_9.xml

Bu komut, sunucu1.example.com adresindeki uzak Linux sunucusuna SSH ile bağlanır, OVAL taraması gerçekleştirir ve sonuçları yerel sistemdeki dosyalara kaydeder. SSH anahtar tabanlı kimlik doğrulama kullanmanız, parola sormadan otomatik tarama yapılmasını sağlar.

Docker Container Taraması

Modern container ortamlarında güvenlik açığı taraması kritik öneme sahiptir. OpenSCAP, Docker container'larını ve container image'larını taramak için özel araçlar sunar:

oscap-podman 096cae65a207 oval eval \
  --report vulnerability.html \
  rhel-9.oval.xml

Bu komut, belirtilen container ID'sine sahip container'ı RHEL 9 OVAL tanımlarıyla tarar. Container image'larını taramak için ise oscap-docker aracını kullanabilirsiniz:

oscap-docker image-scan --images \
  --report /tmp/container-report.html

Container taraması, container içindeki paketleri analiz eder ve bilinen güvenlik açıklarını raporlar. Bu sayede, container'ı üretim ortamına deploy etmeden önce güvenlik açıklarını tespit edebilirsiniz.

Yapılandırma Uyumluluk Taraması

OpenSCAP'in bir diğer önemli kullanım alanı, sistem yapılandırmalarının güvenlik politikalarına uygunluğunu denetlemektir. Bu tür taramalar, CIS (Center for Internet Security) benchmark'ları, DISA STIG (Defense Information Systems Agency Security Technical Implementation Guide) veya PCI-DSS gibi çeşitli standartlara karşı yapılabilir.

Mevcut Profilleri Listeleme

SCAP Security Guide ile birlikte gelen profilleri listelemek için önce uygun veri akışı dosyasını bulmanız gerekir:

ls -la /usr/share/xml/scap/ssg/content/

Bu komut, sisteminizde mevcut olan tüm SCAP veri akışı dosyalarını listeler. Her dosya farklı bir Linux dağıtımı veya güvenlik standardı için hazırlanmıştır. Profil bilgilerini görüntülemek için oscap info komutunu kullanın:

oscap info /usr/share/xml/scap/ssg/content/ssg-rookie-ds.xml

Çıktıda, mevcut profillerin listesi ve her profilin kısa açıklaması görüntülenir. Profiller, xccdf_org.ssgproject.content_profile_ prefix'i ile tanımlanır.

Uyumluluk Taraması Çalıştırma

Bir sistem yapılandırma uyumluluk taraması çalıştırmak için xccdf eval komutunu kullanın:

oscap xccdf eval \
  --results /tmp/xccdf-results.xml \
  --report /tmp/xccdf-report.html \
  --profile xccdf_org.ssgproject.content_profile_cis \
  /usr/share/xml/scap/ssg/content/ssg-rookie-ds.xml

Bu komut, CIS benchmark profiline göre sistem yapılandırmasını değerlendirir. Tarama sonuçları, hangi güvenlik kontrollerinin karşılandığını, karşılanmadığını veya hata oluştuğunu gösterir. HTML raporu, denetlenen her kontrol için ayrıntılı bilgi sunar.

Otomatik Remediasyon ve Düzeltme Önerileri

OpenSCAP, yalnızca sorunları tespit etmekle kalmaz, aynı zamanda otomatik düzeltme önerileri de sunar. Bu özellik, güvenlik açıklarını hızlı bir şekilde gidermek için kullanılabilir. Ancak otomatik remediasyonun sistemi olumsuz etkileyebileceğini unutmamak önemlidir; bu nedenle üretim sistemlerinde uygulamadan önce test ortamında deneme yapmanızı öneririz.

Remediasyon Betikleri Oluşturma

Bir uyumluluk taramasından sonra, başarısız olan kontroller için remediasyon betikleri oluşturabilirsiniz:

oscap xccdf generate fix \
  --profile xccdf_org.ssgproject.content_profile_cis \
  --fix-type bash \
  /tmp/xccdf-results.xml > /tmp/remediation.sh

Bu komut, tarama sonuçlarına dayalı bir Bash betiği oluşturur. Betik, başarısız olan her kontrol için gerekli düzeltme komutlarını içerir. Betiği çalıştırmadan önce içeriğini dikkatlice inceleyin:

cat /tmp/remediation.sh

Ansible Remediasyon Betikleri

Büyük ölçekli ortamlarda, remediasyon betiklerini Ansible playbook olarak dışa aktarmak daha uygun olabilir:

oscap xccdf generate fix \
  --profile xccdf_org.ssgproject.content_profile_cis \
  --fix-type ansible \
  /tmp/xccdf-results.xml > /tmp/remediation.yml

Bu Ansible playbook'u, Ansible Automation Controller veya ansible-playbook komutu kullanılarak birden fazla sisteme uygulanabilir. Bu yaklaşım, merkezi yönetim ve izlenebilirlik sağlar.

Raporlama ve Entegrasyon

Güvenlik taramalarının etkin olabilmesi için düzenli olarak çalıştırılması ve sonuçların merkezi olarak izlenmesi gerekir. OpenSCAP, çeşitli formatlarda raporlar oluşturabilir ve CI/CD pipeline'larına entegre edilebilir.

XML ve HTML Raporları

OpenSCAP varsayılan olarak XML ve HTML formatlarında raporlar oluşturur. XML raporları, diğer güvenlik araçlarıyla entegrasyon için idealdir:

oscap oval eval \
  --results /tmp/results.xml \
  --report /tmp/report.html \
  rhel-9.oval.xml

HTML raporunu daha sonra oluşturmak isterseniz, yalnızca XML sonuçlarını kaydedebilir ve istenen zamanlarda HTML'e dönüştürebilirsiniz:

oscap oval generate report /tmp/results.xml > /tmp/generated-report.html

SCAP Workbench Grafik Arayüzü

Komut satırı arayüzünün yanı sıra, SCAP Workbench adlı grafik bir araç da mevcuttur. Bu araç, görsel tarama yapmak ve raporları incelemek için kullanışlıdır:

sudo dnf install scap-workbench
scap-workbench

SCAP Workbench, tek bir sistemde hızlı taramalar yapmak ve sonuçları görsel olarak incelemek için idealdir. Ancak büyük ölçekli ortamlarda komut satırı araçları tercih edilir.

En İyi Uygulamalar ve İpuçları

OpenSCAP'i etkin bir şekilde kullanmak için bazı en iyi uygulamaları takip etmeniz önerilir. İlk olarak, düzenli tarama schedule'ları oluşturun. Kritik sistemlerde haftalık, diğer sistemlerde aylık tarama yapılması uygun olabilir. İkinci olarak, tarama sonuçlarını merkezi bir log yönetim sistemine (örneğin ELK stack veya Splunk) aktararak tarihsel analiz yapın.

Performans Optimizasyonu

Büyük sistemlerde OpenSCAP taraması kaynak yoğun olabilir. Performansı optimize etmek için aşağıdaki ipuçlarını uygulayabilirsiniz. Tarama sırasında gereksiz servisleri durdurun veya tarama için ayrılmış bir zaman dilimi kullanın. Büyük OVAL veritabanları yerine, yalnızca sistemde yüklü olan paketlere ait güvenlik açıklarını kontrol eden filtrelenmiş veritabanları kullanın.

Özel Politikalar Oluşturma

Standart SCAP profillerinin yanı sıra, organizasyonunuzun özel gereksinimlerine göre özel politikalar da oluşturabilirsiniz. Bu, ComplianceAsCode/content projesi kullanılarak yapılabilir:

git clone https://github.com/ComplianceAsCode/content.git
cd content
./build_product rhel9

Bu komutlar, özelleştirilmiş SCAP içeriği oluşturur. Oluşturulan dosyalar, kurumsal güvenlik gereksinimlerinize göre düzenlenebilir.

Sonuç

OpenSCAP, Linux sistemlerde kapsamlı güvenlik açığı taraması ve yapılandırma uyumluluk denetimi için güçlü ve esnek bir araç seti sunmaktadır. Bu makalede ele aldığımız temel kavramlar ve pratik uygulamalar, güvenlik açığı yönetimi programınızı oluşturmak veya geliştirmek için sağlam bir temel sağlayacaktır. Düzenli taramalar, otomatik remediasyon ve merkezi raporlama ile sistemlerinizin güvenlik duruşunu sürekli olarak izleyebilir ve iyileştirebilirsiniz.

Güvenlik açığı taraması, siber güvenlik stratejisinin yalnızca bir parçasıdır. OpenSCAP'i diğer güvenlik araçları ve süreçleriyle entegre ederek, savunma derinliği (defense in depth) ilkesini uygulayabilir ve organizasyonunuzun genel güvenlik duruşunu güçlendirebilirsiniz.