SELinux

CentOS kullanan Yeni Başlayanlar için SELinux

CentOS kullanan Yeni Başlayanlar için SELinux
NSA tarafından kötü niyetli erişimi ve izinsiz girişleri önlemek için geliştirilen Security-Enhanced Linux veya SELinux, çoğu modern Linux dağıtımıyla birlikte gelen gelişmiş bir erişim kontrol özelliğidir. SELinux, İsteğe Bağlı Erişim Kontrol sisteminin (DAC) yerine geliştirilen Zorunlu Erişim Kontrolü (MAC) sistemi olarak tanımlanır.

SELinux, çoğu modern sistemde göz korkutucu ve uygulanması çok zor görünebilir. Ancak, SELinux'u yapılandırmanın hem güvenliği sağlamada hem de sorun gidermede büyük faydaları vardır.

Bu öğretici, SELinux tarafından uygulanan çeşitli kavramları tartışacak ve SELinux'u uygulamanın çeşitli pratik yöntemlerini keşfedecektir.

NOT: Başlamadan önce, bu öğreticideki komutları kök kullanıcı veya sudoers grubu içindeki bir kullanıcı olarak kullanmak iyidir.

SELinux Paketlerini Kurun

SELinux politikalarıyla çalışmaya yardımcı olacak çeşitli SELinux paketleri kuralım.

SELinux paketlerini kurmaya devam etmeden önce, mevcut sistemde hangilerinin kurulu olduğunu doğrulamamız iyi olur.

REHL dağıtımlarının çoğu kurulumunda, bazı paketler varsayılan olarak kurulur. Bu paketler şunları içerir:

  1. setools - bu paket, günlükleri izlemek, ilkeleri sorgulamak ve bağlam dosyası yönetimi için kullanılır.
  2. policycoreutils-python - SELinux'u yönetmek için python çekirdek yardımcı programları sağlar
  3. policycoreutils - bu paket ayrıca SELinux'u yönetmek için yardımcı programlar da sağlar.
  4. mcstrans - mcstrans, çeşitli seviyeleri kolayca anlaşılabilen kolay biçimlere çeviren SELinux çeviri arka plan programı sağlar.
  5. setools-console - setools'a benzer.
  6. Selinux-policy - SELinux politikasını yapılandırmak için bir referans sağlar
  7. Selinux politikası hedefli - SELinux politikasına benzer
  8. Libselinux-utils - SELinux'u yönetmeye yardımcı olan SELinux libselinux yardımcı programları
  9. Setroubleshoot-server - SELinux sorun giderme araçları

Sisteminizde hangi paketlerin kurulu olduğunu doğrulamak için rpm -qa komutunu kullanabilir ve sonucu SELinux için grep'e şu şekilde aktarabilirsiniz:

rpm -qa | grep selinux
libselinux-utils-2.9-4.el8_3.x86_64
rpm-eklenti-selinux-4.14.3-4.el8.x86_64
selinux-politika-hedefli-3.14.3-54.el8_3.2.noark
python3-libselinux-2.9-4.el8_3.x86_64
selinux-policy-3.14.3-54.el8_3.2.noark
libselinux-2.9-4.el8_3.x86_64

Bu size SELinux desteği için kurulan tüm paketlerin bir çıktısını vermelidir

Sisteminizde tüm SELinux paketleri kurulu değilse, bunları aşağıdaki komutta gösterildiği gibi kurmak için yum kullanın:

yum policycoreutils'i kurun policycoreutils-python-utils selinux-policy selinux-politika hedefli libselinux-utils setroubleshoot-server setools setools-console mcstrans

SELinux Modları ve Durumları

Şimdi SELinux, özellikle SELinux modları ile oynamaya başlayalım.

SELinux Modları

Etkinleştirildiğinde, SELinux üç olası mod olabilir:

Zorlama Modu

SELinux modu uygulanacaksa, herhangi bir kullanıcı veya işlem tarafından sisteme yetkisiz erişimin reddedilmemesini sağlayacaktır. Zorlama modu ayrıca yetkisiz erişim girişimlerinin günlüklerini tutar.

İzinli Mod

İzinli mod, kısmen etkinleştirilmiş bir SELinux durumu gibi davranır. Bu modda, SELinux bu modda politikalarını zorlamadığından erişim reddedilmez. Ancak, izin veren mod, herhangi bir politika ihlali girişiminin günlüğünü tutar. Bu mod, kullanıcılar ve bileşenler hala sistemle etkileşime girebildiği ancak yine de günlükleri toplayabildiği için, tam olarak etkinleştirilmeden önce test için çok verimli. Bu, sisteminizde uygun gördüğünüz şekilde ince ayar yapmanızı sağlar.

Engelli Modu

Devre dışı modu, SELinux'un devre dışı bırakıldığı ve herhangi bir Güvenlik sunmadığı devre dışı bir durum olarak da görülebilir.

SELinux Eyaletleri

SELinux bir sisteme kurulduğunda. İkili durumları olabilir: etkin ve devre dışı. SELinux'un durumunu görüntülemek için şu komutu kullanın:

getenforce
devre dışı

Yukarıdaki çıktı, SELinux'un şu anda devre dışı olduğunu gösterir.

Sesstatus komutunu aşağıda gösterildiği gibi de kullanabilirsiniz:

ses durumu
SELinux durumu: devre dışı

SELinux'u Etkinleştirin ve Devre Dışı Bırakın

SELinux'un durumları ve yapılandırması, /etc/selinux/config içinde bulunan Yapılandırma dosyası tarafından işlenir. İçeriğini görüntülemek için cat komutunu kullanabilirsiniz.

kedi /etc/selinux/config
#Bu dosya, sistemdeki SELinux'un durumunu kontrol eder.
#SELINUX= şu üç değerden birini alabilir:
#enforcing - SELinux güvenlik ilkesi uygulanır.
#permissive - SELinux, zorlamak yerine uyarıları yazdırır.
#disabled - SELinux ilkesi yüklenmedi.
SELINUX=zorlama
#SELINUXTYPE= şu üç değerden birini alabilir:
# hedefli - Hedeflenen süreçler korunur,
# minimum - Hedeflenen politikanın değiştirilmesi. Yalnızca seçili işlemler korunur.
# mls - Çok Düzeyli Güvenlik koruması.
SELINUXTYPE=hedefli

Yukarıdaki çıktıdan, etkinleştirilmiş iki ana yönergemiz var. SELINUX yönergesi, SELinux'un yapılandırıldığı modu belirledi. SELINUXTYPE yönergesi, SELinux ilke kümesini belirtir. Varsayılan olarak SELinux, erişim denetimi izinlerini özelleştirmenize olanak tanıyan hedeflenmiş bir politika kullanır. Diğer politika, Çok düzeyli güvenlik veya MLS'dir.

Bazı sürümlerde minimum politika bulabilirsiniz.

cd /etc/selinux/
[ls -l
toplam 4
-rw-r--r-- 1 kök kök 548 16 Şubat 22:40 yapılandırma
drwxr-xr-x 1 kök kök 4096 16 Şubat 22:43 mls
-rw-r--r-- 1 kök kök 2425 21 Tem 2020 semanage.konf
drwxr-xr-x 1 kök kök 4096 16 Şubat 22:40 hedeflendi

Şimdi sistemde SELinux'un nasıl etkinleştirileceğini görelim. Önce SELINUX modunu izin verilen ve zorunlu olmayan olarak ayarlamanızı öneririz.

nano /etc/selinux/config

Şimdi SELINUX yönergesini şu şekilde düzenleyin:

SELINUX=izin veren

Dosyayı kaydettikten sonra sistemi yeniden başlatın.

yeniden başlat

NOT: SELinux'u uygulamadan önce SELINUX yönergesini izin veren olarak ayarlamanızı önemle tavsiye ederiz.

Sistemi yeniden başlattıktan sonra, /var/log/messages içinde SELinux tarafından rapor edilen günlükleri kontrol edin.

Ardından, yönergeyi /etc/selinux/config içinde zorlamak üzere ayarlayarak hata olmadığından emin olun ve SELinux'u zorunlu kılın

Son olarak, sesstatus komutunu kullanarak SELinux durumunu görüntüleyebilirsiniz:

SELinux durumu: etkin
SELinuxfs montajı: /sys/fs/selinux
SELinux kök dizini: /etc/selinux
Yüklenen politika adı: hedeflendi
Geçerli mod: zorlama
Yapılandırma dosyasındaki mod: hata (Başarı)
Politika MLS durumu: etkin
Politika reddi_unknown durumu: izin verildi
Bellek koruma kontrolü: gerçek (güvenli)
Maksimum çekirdek politikası sürümü: 31

Çeşitli SELinux modları arasında geçiş yapmak için setenforce komutunu da kullanabilirsiniz. Örneğin, modu izinli olarak ayarlamak için şu komutu kullanın:

setenforce izinli

Bu mod geçicidir ve yeniden başlatmanın ardından yapılandırma dosyasındaki birine geri yüklenecektir.

sesstatus SELinux durumu: etkin
SELinuxfs montajı: /sys/fs/selinux
SELinux kök dizini: /etc/selinux
Yüklenen politika adı: hedeflendi
Geçerli mod: izin verilen
Yapılandırma dosyasındaki mod: zorlama
Politika MLS durumu: etkin
Politika reddi_unknown durumu: izin verildi
Bellek koruma kontrolü: gerçek (güvenli)
Maksimum çekirdek politikası sürümü: 31

SELinux İlkesi ve Bağlam

SELinux'a yeni başlayanlar için kafa karışıklığını önlemek için, SELinux politikalarının nasıl uygulandığına derinlemesine girmeyeceğiz, sadece size bir fikir vermesi için ona dokunacağız.

SELinux, güvenlik politikalarını uygulayarak çalışır. Bir SELinux politikası, sistemdeki her nesne için erişim haklarını tanımlamak için kullanılan bir kuralı ifade eder. Nesneler, kullanıcılara, işlemlere, dosyalara ve rollere atıfta bulunur.

Her bağlam, user:role:type:level biçiminde tanımlanır.

Örneğin, ana dizininizde bir dizin oluşturun ve aşağıdaki komutlarda gösterildiği gibi SELinux güvenlik bağlamını görüntüleyin:

mkdir ~/linuxhint_dir
ls -Z ~/ | grep linux ipucu

Bu, çıktıyı aşağıda gösterildiği gibi gösterecektir:

unconfined_u:object_r:user_home_t:s0 linuxhint_dir

Güvenlik bağlamlarına sahip diğer dizinleri de şu şekilde bulabilirsiniz:

sistem:_u:object_r:user_home_t:s0

Yukarıdaki çıktının user:role:type:level sözdizimini takip ettiğini fark edebilirsiniz.

Sonuç

Bu, CentOS 8 kullanarak SELinux'a yeni başlayanlar için öğreticiydi. Eğitim yeni başlayanlar için tasarlanmış olsa da, ayaklarınızı SELinux'ta çalıştırmak ve SELinux'un korkutucu doğasını ortadan kaldırmak için fazlasıyla yeterli.

Okuduğunuz için teşekkürler.

WinMouse lets you customize & improve mouse pointer movement on Windows PC
If you want to improve the default functions of your mouse pointer use freeware WinMouse. It adds more features to help you get the most out of your h...
Mouse left-click button not working on Windows 10
If you are using a dedicated mouse with your laptop, or desktop computer but the mouse left-click button is not working on Windows 10/8/7 for some rea...
Cursor jumps or moves randomly while typing in Windows 10
If you find that your mouse cursor jumps or moves on its own, automatically, randomly while typing in Windows laptop or computer, then some of these s...