hacktricks/linux-hardening/privilege-escalation/selinux.md

2.8 KiB
Raw Blame History

{% hint style="success" %} Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks
{% endhint %} {% endhint %}

Konteynerlerde SELinux

Redhat belgelerinden giriş ve örnek

SELinux bir etiketleme sistemidir. Her işlem ve her dosya sistemi nesnesinin bir etiketi vardır. SELinux politikaları, bir **işlem etiketinin sistemdeki diğer etiketlerle ne yapabileceğine dair kurallar tanımlar.

Konteyner motorları, konteyner işlemlerini tek bir sınırlı SELinux etiketiyle başlatır, genellikle container_t, ve ardından konteynerin içindeki dosyaların container_file_t olarak etiketlenmesini sağlar. SELinux politika kuralları, container_t işlemlerinin yalnızca container_file_t olarak etiketlenmiş dosyaları okuyup/yazabileceğini/çalıştırabileceğini söyler. Eğer bir konteyner işlemi konteynerden kaçarak ana makinedeki içeriğe yazmaya çalışırsa, Linux çekirdeği erişimi reddeder ve yalnızca konteyner işleminin container_file_t olarak etiketlenmiş içeriğe yazmasına izin verir.

$ podman run -d fedora sleep 100
d4194babf6b877c7100e79de92cd6717166f7302113018686cea650ea40bd7cb
$ podman top -l label
LABEL
system_u:system_r:container_t:s0:c647,c780

SELinux Kullanıcıları

Normal Linux kullanıcılarının yanı sıra SELinux kullanıcıları da vardır. SELinux kullanıcıları, bir SELinux politikasının parçasıdır. Her Linux kullanıcısı, politikanın bir parçası olarak bir SELinux kullanıcısına eşlenir. Bu, Linux kullanıcılarının SELinux kullanıcılarına uygulanan kısıtlamaları ve güvenlik kurallarını ve mekanizmalarını miras almasını sağlar.