Compliance with Openscap on Satellite
Her gün yeni güvenlik açıkları, zafiyetler karşımıza çıkıyor. Bu zafiyetlein bazıları gerçekten kritik seviyelerde önemli olabiliyor. Kurumlar bu durumlara karşı ortamlarını güvence altına almak için çok zaman ve emek harcıyorlar. Burada pratik bir tool olarak OpenSCAP karşımıza çıkıyor.
OpenSCAP, Rhel sunucularda compliance ve zafiyet taraması yapıyor.
OpenSCAP taramalar için birçok profile sunuyor, bunların dışında kendi profillerinizi de OpenSCAP ile birlikte kullanabiliyorsunuz. Tarama görevlerini düzenli aralıklarla (günlük/haftalık/aylık) çalışacak şekilde zamanlayabiliyosunuz.
Satellite, güvenlik politikalarını tanımlarken SCAP standardını kullanır.
Raporları Satellite arayüzünde tek bir panelde toplayarak görüntüleyebiliyorsunuz.
Profile’ları kullanarak oluşturduğumuz raporlardaki bulguları otomatik veya manual gidermek için çözüm önerileri yapıyor. Satellite üzerindeki OpenSCAP raporu size düzgün konfigürasyonu gösterir, doğru değerlerle yapılandıracak hazır komut dosyasını veya Ansible taskını gösterir ve siz de bunu uygulayarak uyumlu hale getirebiliyorsunuz.
SCAP Content’leri, Satellite sunucusu üzerinden listeleyebilir ve görüntüleyebiliriz. Mevcut değilse deploy edilmesi gerekmektedir.
Satellite Makinesi üzerinden SCAP Content’leri listelemek için hammer scap-content list komutunu çalıştırabiliriz. Burada mevcut Content’leri görüntüleyebiliriz.

Satellite arayüzünden de SCAP Content’leri görüntüleyebiliriz.

SCAP Content’ler deploy edildikten sonra Compliance Policy oluşturmak gerekemektedir. Burada karşımıza üç farklı metot çıkıyor. Ansible Deployment, Puppet Deployment ve Manual Deployment.
Ansible Deployment ile ilerlediğimiz durumda Arayüzden Configure → Ansible → Roles içerisinden uygun role Satellite’a import edilmeli. Aşağıda görüldüğü gibi arayüzden import ediyoruz. Seçilen Rol theforeman.foreman_scap_client

Devamında ise Compliance Policy oluşturmak gerekiyor. Rol tanımlandıktan sonra Deployment metodu Ansible olarak ilerlenebilir aksi taktirde Policy create ederken Rol import edilmeli şeklinde uyarı alacaksınız.

Policy oluşturulurken Deployment Metot olarak Ansible, Policy Name olarak Compliance_Policy_Rhel_9, SCAP Contnet olarak Rhel9, Profil olarak CIS Rhel9 Benchmark for level 1 Server, Schedule Period Monthly ve diğer değerler default olarak bırakılarak ilerleyebilirsiniz. Organization ve Location Default olarak selected durumda geliyor.
Profile olarak birçok seçenek bulunuyor, sistemleriniz hangi yönde tarayacaksanız, hangisi ortam için daha uygunsa o profile seçilmelidir.

Policy de hazırlandıktan sonra artık Host üzerinde çalışmaya hazırız. Hangi host üzerinde taramayı yapmak istiyorsak Host → All Host bölümünden Host editlenir, OpenSCAP Capsule ve Assigned Ansible Roles seçili olduğu doğrulanır. Seçili değilse bu değerler Host’a assign edilir.

Ardından Compliance Policy de Host üzerine assign edilmeli, Host → All Host üzerinden ilgili sunucuya assign edilmelidir.

Burada yapılan değişikliklerin geçerli olmasını sağlamak için Host → All Hosts üzerinden sunucunun içerisine girilir ve Run Ansible Roles çalıştırılır. Job, Success olarak tamamlanınca değişiklikler Host’a uygulanmış olacak.

Son bir adım kaldı, taramayı başlatarak raporu inceleyebiliriz.

Örnek olarak rapor çıktısı aşağıdaki gibidir. Burada sadece bir tarama değil ek olarak çözüm adımları da sunmaktadır. Tarama bittikten sonra Report ekranında özet bir bilgi bulabilirsiniz. Örnek rapora baktığımızda 144 maddeden pass 104 maddeden fail aldığı görülüyor.

Rapor içerisinde detaylı incelediğimizde herhangi bir result:failed olan madde incelendiğinde problem ile ilgili detaylar ve çözüm adımı maddenin içerisinde yer almaktadır.

Örnek olarak Ensure SELinux State is Enforcing maddesini incelersek üzerine tıklayarak detaylarını ve çözüm önerilerini görebiliriz. Aksiyon planının reboot gerektirip gerektirmediği gibi birçok bilgiye de erişebiliyoruz.

Eren Kavak
Gantek Teknoloji – Kıdemli Sistem Mühendisi
