SELinux

From HackerNet
Revision as of 11:45, 18 December 2017 by Helikopter (talk | contribs)
Jump to: navigation, search

Security-Enhanced Linux, SELinux är en säkerhetsmodul i linuxkärnan som gör det möjligt att säkra upp både hård- och mjukvara. Kärnan i SELinux är labels. Man sätter SELinux labels på allt ifrån filer till portar, sedan applyar man policy på labels. Detta är en standardmodul sedan kernel 2.6 och går t.ex. att konfigurera med Ansible eller Puppet.

Det är rekommenderat att alltid ha SELinux påslaget för att sedan whitelista de avstängda funktioner du vill åt. För att modifiera SELinux kan man använda sig av det enkla verktyget: semanage.

# semanage (# yum install policycoreutils-python)

Slå av och på SELinux manuellt

setenforce 0/1
getenforce

Byt SELinux-läge till nästa reboot (persistent)

sudo sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

Status

sestatus -v

Show labels, exempelkommandon

ls -lhZ
ps -eZ
ss -Z
semanage fcontext --list

Exempel på funktioner som är satta och avstängda av SELinux

httpd_can_network_connect - Ser till så att din httpd-tjänst inte kan få tillgång till nät. Denna kan vara bra att ha igång om du tex har en webbtjänst som hämtar information via tex http externt.
ssh_port_t - Denna är satt till 22. Om du vill köra ssh på annan port måste du byta eller lägga till din nya port i SELinux.