SELinux

SELinux på Ubuntu-handledning

SELinux på Ubuntu-handledning

Introduktion

SELinux är en obligatorisk åtkomstkontrollmodul (MAC) som finns i kärnnivån i Linux-system. Det är en gemensam utveckling av Redhat och NSA som släpptes runt 1998 och underhålls fortfarande av ett entusiastiskt samhälle. Som standard använder Ubuntu AppArmor och inte SeLinux, vilket är lika med avseende på prestanda men ganska populärt när det gäller enkelhet. Det är dock känt att SeLinux är ganska säkert på grund av inblandning av en myndighet. SELinux är ett program med öppen källkod som skyddar värden genom att isolera varje program och begränsa dess aktiviteter. Som standard blockeras processer från att utföra aktiviteter såvida inte det uttryckliga tillståndet beviljas. Modulen tillhandahåller två globala regler för hantering av globala nivåer: Permissiv och Enforcing som loggar respektive kränkt regel och nekar åtkomst till en viss begäran som skickas från en process. Denna handledning visar hur man enkelt använder den på Ubuntu.

Hur man installerar och aktiverar

SeLinux är en mycket knepig applikation att installera, för om den inte är korrekt konfigurerad före den första omstarten kommer det att göra hela operativsystemet omstartbart, vilket betyder att allt utöver den initiala startskärmen kommer att vara praktiskt taget oåtkomlig på vanligt sätt.

Som tidigare nämnts har Ubuntu redan ett sofistikerat högnivå obligatoriskt åtkomstkontrollsystem som kallas AppArmor, och därför måste det inaktiveras innan SeLinux installeras för att undvika konflikter. Använd följande instruktioner för att inaktivera AppArmor och Aktivera SeLinux.

sudo / etc / init.d / apparmor stopp apt-get update && upgrade -yuf apt-get install selinux nano / etc / selinux / config 'set SELINUX to permissive, SELINUXTYPE to default' reboot 

Denna filkonfiguration kan öppnas med vilken textredigerare som helst för att göra ändringar. Anledningen till att tilldela tillåtande regel till SETLINUX är att göra operativsystemet tillgängligt medan SeLinux är aktiverat. Det rekommenderas starkt att använda det tillåtna alternativet eftersom det är problemfritt, men det loggar överträdda regler som anges i SeLinux.

tillgängliga val

SELinux är en komplex och omfattande modul; därför innehåller den många funktioner och alternativ. Med detta sagt kanske de flesta av dessa alternativ inte är användbara för alla på grund av deras exotiska natur. Följande alternativ är några av de grundläggande och användbara alternativen i den här modulen. De är mer än tillräckligt för att få SELinux igång.

Kontrollera status:  Statusen för SELinux kan kontrolleras direkt genom terminalfönstret, som visar grundläggande information som om SeLinux är aktiverat, SELinux root-katalog, laddat policynamn, aktuellt läge etc.  Efter omstart av systemet efter installation av SeLinux, använd följande kommando som root-användare med sudo-kommando. Om det anges att SeLinux är aktiverat i statusavsnittet betyder det att det är igång i bakgrunden.

[e-postskyddad]: / home / dondilanga # sestatus

Ändra den globala tillståndsnivån: Den globala behörighetsnivån anger hur SELinux beter sig när det snubblar på en regel. Som standard ställer SeLinux in sig på att verkställa vilket effektivt blockerar alla förfrågningar, men det kan ändras till tillåtet vilket är lite lätt mot användaren eftersom det tillåter åtkomst, men loggar alla överträdda regler i sin loggfil.

nano / etc / selinux / config 'ställ in SELINUX till tillåtet eller verkställande, SELINUXTYPE till standard' 

Kontrollera loggfilen: Loggfilen som anger de överträdda reglerna vid varje begäran.  Detta håller bara loggar om SeLinux är aktiverat.

grep selinux / var / log / audit / audit.logga

Aktivera och inaktivera politik och vilka skydd de erbjuder: Detta är ett av de viktigaste alternativen i SeLinux, eftersom det gör det möjligt att aktivera och inaktivera policyer. SeLinux har ett stort antal förbyggda policyer som avgör om den angivna begäran är tillåten eller inte. Några av exemplen på detta är allow_ftpd_full_access som bestämmer FTP-tjänstens förmåga att logga in på lokala användare och läsa skriva alla filer i systemet, allow_ssh_keysign som gör att nycklar kan användas när man loggar in på SSH, allow_user_mysql_connect som tillåter användare att ansluta till mysql , httpd_can_sendmail som bestämmer HTTP-tjänstens förmåga att skicka ett e-postmeddelande osv ... I följande kodexempel installerar det policycoreutils-python-utils som faktiskt hjälper till att lista ut varje policy på ett beskrivande sätt, nästa listar alla tillgängliga policyer till terminal , slutligen lär det sig hur man ställer in eller inaktiverar en policy, allow_ftpd_full_access är policynamnet som visas i terminalen som returneras av semanage,

apt-get install policycoreutils-python-utils semanage boolean -l setsebool -P allow_ftpd_full_access ON 

Avancerade alternativ

De avancerade alternativen är alternativ som hjälper till att utöka funktionerna i SELInux. Det finns en enorm mängd kombinationer där ute på grund av den omfattande karaktären av SeLinux, så den här artikeln listar några av de framstående och användbara bland dem.

Rollbaserad åtkomstkontroll (RBAC): RBAC tillåter administratörer att byta till ett rollbaserat sätt att begränsa behörigheten för applikationer. Vad det betyder är att en användare av en viss användargrupp får utföra eller utföra vissa fördefinierade åtgärder. Så länge användaren är en del av rollen är det okej. Det här är samma sak som att byta till root när du installerar program på Linux med administrativa rättigheter.

inloggning av semanage -a -s 'myrole' -r 's0-s0: c0.c1023 ' 

Användare kan byta roll med följande kommando.

sudo -r new_role_r -i

Användare kan också fjärransluta till servern via SSH med rollen aktiverad vid start.

ssh / [e-postskyddad]

Tillåt en tjänst att lyssna på en icke-standardport: Detta är ganska användbart för att anpassa en tjänst, till exempel när en FTP-port ändras till en icke-standard för att undvika obehörig åtkomst, måste SELinux informeras om detta för att låta sådana portar passera igenom och fungera som vanligt. I följande exempel kan FTP-porten lyssna på 992-porten. Likaså alla tjänster som returneras av semanageport -l kan bytas ut.  Några av de populära hamnarna är http_port_t, pop_port_t, ssh_port_t.

semanage port -a -t    semanage-port -a -t ftp_port_t -p tcp 992 

Hur man inaktiverar

Inaktivera SELinux är lättare eftersom det är aktiverat och installerat. I grund och botten finns det två sätt att inaktivera det. Antingen tillfälligt eller permanent. Inaktivera SeLinux tillfälligt gör att den inaktiveras ett tag tills nästa start, och så snart datorn är påslagen igen startas tillståndet om. Å andra sidan stänger den permanenta inaktiveringen av SeLinux den helt och utsätter den för hot där ute; Därför är det ett klokt val att återställa Ubuntus standard AppArmor åtminstone för systemets säkerhet.

Följande kommando på terminalen stänger av den tillfälligt:

setenforce 0 

För att permanent inaktivera redigera / etc / selinux / config och ställ in SELINUX till inaktiverad.

Bästa spel att spela med handspårning
Oculus Quest introducerade nyligen den fantastiska idén om handspårning utan kontroller. Med ett ständigt ökande antal spel och aktiviteter som utför ...
Hur man visar OSD-överlägg i helskärms Linux-appar och -spel
Att spela helskärmsspel eller använda appar i distraktionsfritt helskärmsläge kan avskärma dig från relevant systeminformation som syns i en panel ell...
Topp 5 spelinspelningskort
Vi har alla sett och älskat streaming av spel på YouTube. PewDiePie, Jakesepticye och Markiplier är bara några av de bästa spelarna som har tjänat mil...