Evet, SELinux, aslında kullanımda olduğu varsayılarak Red Hat'ı (ve onu kullanan diğer Linux dağıtımlarını) daha güvenli hale getirir.
SELinux zorunlu erişim kontrolü uygular . Normal Unix izinleri, EKL'ler vb . İsteğe bağlı erişim denetimi uygular . İkisi birbirini tamamlar.
Çalışmak için SELinux, sistem üzerinde hangi eylemlere izin verilebileceğini tanımlayan bir politika gerektirir. Tüm bir sistem politikasını sıfırdan oluşturmak mümkün olsa da, çoğu Linux dağıtımı, referans politikasına dayanan bir politika gönderir . Bu, diğer şeylerin yanı sıra, SELinux'u dağıtımlar arasında yapılandırmanın çok benzer olacağı anlamına gelir. (Çoğu Linux dağıtımı, SELinux referans ilkesini paket depolarında kullanılabilir hale getirir, ancak varsayılan olarak yüklenmeyebilir.)
SELinux, kullanıcıları ve işlemleri yalnızca politikada kendilerine izin verilen eylemleri gerçekleştirmeleri için kısıtlayarak çalışır. Varsayılan olarak, ilke reddetmektir, bu nedenle ilke bir eyleme açıkça izin vermezse gerçekleşmez. Bu yüzden SELinux'un yapmaya çalıştığınız bir şeye izin vermemesi konusunda sık sık sorun yaşarsınız.
Parlak tarafta, bu, istismarların, hatta 0 günlük istismarların bile kontrolden çıkmasını önler. Örneğin, web sunucunuzdan (Apache) yararlanırsa, hasar yalnızca Apache'nin erişebileceği şeylerle sınırlıdır. /etc/shadow
Örneğin, uzak bir root istismarıyla bile dosyanızı okuyamaz . Unix izinleri (DAC) root'un dosyayı okumasına izin verirken, SELinux (MAC) güvenliği ihlal edilmiş sürecin sınırların dışına çıkmasına izin vermez.
Büyük sorun, hizmet için yüklenmiş bir SELinux ilke modülü olması gerektiğidir. Kutunuza bir SELinux ilke modülü içermeyen bir hizmet yüklerseniz, serbest çalışacak ve istediği her şeyi yapabilecektir. SELinux buna uygulanmaz.
Bilmeniz gereken bir diğer şey de booleanlarla ilgili . Bu ayarlanabilir parametreler, SELinux ilkeleri tarafından belirli kurulumlar için özelleştirmek ve yerel yapılandırma gereksinimlerine göre erişime izin vermek veya reddetmek için sağlanır. Örneğin, Apache'nin Samba paylaşımlarına erişmesine izin verebilir, Samba'nın kullanıcı ana dizinlerini ve bazı kurulumlar için gerekli olan, ancak diğerleri için gerekli olmayan diğer birçok yararlı şeyi paylaşmasını sağlayabilirsiniz.
SELinux için şu anda gördüğüm en iyi rehber Red Hat'ın Güvenliği Geliştirilmiş Linux Kullanıcı Kılavuzu . Hızlı bir şekilde çalışmaya başlamanıza ve olanların arka plan ayrıntılarını doldurmanıza yardımcı olur. Ayrıca, SELinux altında işleminizi yürütmenize yardımcı olan kapsamlı bir sorun giderme kılavuzu da içerir .
Yararlı mı?
SELinux beklenmedik şeyler yaparak süreçlere (ve kullanıcılarınızı kısıtladıysanız kullanıcılara) karşı koruma sağlar. Uzaktan istismarın yapabileceği hasarı ciddi şekilde sınırlar. Daha önce hiç uzaktan uzlaşmamışsanız, (1) şanslısınız ve (2) muhtemelen yenisiniz. Eğer varsa var uzak uzlaşma çalıştı, kesinlikle her zamankinden daha olmasını istemiyorum.
Evde Internet'e dönük hizmetler çalıştırmıyorsanız (ve bazı insanlar bunu yapmazsa), bir ev ortamında o kadar yararlı değildir . Bu durumda, yukarıda belirtilen her şey geçerlidir.
SELinux, verilerinizle gerçekten isteyen 0 günlük bir istismara sahip bir saldırgan arasında duran son şey olabilir. Eğer varsa olabilir kullanmak, neden değil mi?