Difference between revisions of "SELinux"

From HackerNet
Jump to: navigation, search
m
Line 1: Line 1:
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. Detta är en standardmodul sedan kernel 2.6.
+
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.  
 
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)
 
  # semanage (# yum install policycoreutils-python)
  
Slå av och på SELinux
+
Slå av och på SELinux manuellt
 
  setenforce 0/1
 
  setenforce 0/1
 
  getenforce
 
  getenforce
Line 13: Line 13:
 
Status
 
Status
 
  sestatus -v
 
  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 ===
 
=== 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.
 
'''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.
 
<br />'''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.
 
<br />'''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.

Revision as of 12:45, 18 December 2017

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.