Filsikkerhed

Linux-sikkerhedsmodellen er baseret på den, der bruges på UNIX-systemer, som allerede er ret robust.

Linux er som sagt et operativsystem med flere brugere, dvs. mange brugere kan få adgang til systemet samtidig. Linux har gode sikkerhedsfunktioner, men som et operativsystem med flere brugere, er det udsat for en sikkerhedstrussel.

Brugere kan ødelægge, fjerne eller ændre vigtige data. Så det er nødvendigt at undgå, at en bruger får adgang til enhver brugers fortrolige eller vigtige filer og data..

For at implementere denne sikkerhed skal der gives tilladelse, før brugeren har adgang til filen.

Her angiver tilladelse, hvad en bestemt bruger kan eller ikke kan gøre med respektive filer og mapper.

Linux filtilladelse

Linux består af en filkontrolmekanisme, der bestemmer, hvem der har ret til at få adgang til en fil, og hvilke trin eller handlinger hun/han kan udføre på den. Filstyringsmekanismen har to komponenter

  • Klasser eller ejerskab Henviser til dem, der har adgang til den bestemte fil
  • Tilladelser Henviser til de handlinger, der kan udføres på filen af ​​den pågældende bruger.

Tilladelser symbolsk og numerisk

Kommando Betyder
0 eller - Den adgangsret, der antages at være på dette sted, tildeles ikke.
4 eller r læseadgang gives til den brugerkategori, der er defineret her.
2 eller w En privat fil, der kun kan ændres af den bruger, der indtastede denne kommando.
1 eller x Udførelse af tilladelse gives til den brugerkategori, der er defineret på dette sted.

Brugergruppekoder

Kommando Betyder
u Bruger tilladelser.
g Gruppetilladelser.
o Tilladelser for andre.

Disse tilladelser skal anvendes meget striks, hvilket resulterer i et højt sikkerhedsniveau, selv uden netværkssikkerhed. Tilladelserne tager blandt andet sig af funktioner som brugeradgang til programmer, og for beskyttelse af følsomme data såsom hjemmekataloger og systemkonfigurationsfiler.

Du skal vide, hvad dit brugernavn er. Hvis du ikke gør det, kan det vises ved hjælp af id-kommandoen, som også viser den standardgruppe, du tilhører, og til sidst andre grupper, som du er medlem af

$ id

Dit brugernavn gemmes også i miljøvariablen USER:

$ echo $USER

Linux klasse filer - ejer eller bruger

En person, der opretter en fil kaldes en bruger eller en ejer af den bestemte fil. Ejerskabet kan overføres eller tildeles til enhver anden bruger.

Linux klasse - Gruppe

En gruppe kan have flere brugere. Hver bruger, der tilhører en bestemt gruppe, vil have de samme privilegier og adgangstilladelser for en bestemt fil.

Du kan oprette et projekt, og hvert medlem af dette projekt har så brug for at få adgang til filen.

Så i stedet for at give tilladelser til hvert medlem individuelt, kan du oprette en gruppe bestående af alle medlemmer, og så give tilladelse til gruppen, dvs. hvert medlem, der tilhører denne gruppe har adgang til denne fil.

Linux klasse - Andre

Det henviser til alle andre brugere, der har adgang til filen. Det henviser ganske enkelt til dem, der ikke er ejere eller ikke er i en gruppe, dvs. alle.

Tilladelser til Linux filer med symbolsk tilstand

For hver fil er der tre typer tilladelser, der gælder for alle klasser.

  • Læs (r) - Brugeren kan åbne filen og læse dens indhold. Brugeren har ikke tilladelse til at ændre filens indhold.
  • Skrive (w) - Brugeren kan ændre filens indhold.
  • Udføre (x) - Denne tilladelse giver brugeren mulighed for at udføre (execute) programmet eller koden. Hvis en bruger ikke har tilladelse til at udføre, kan hun/han læse eller ændre kode, men de vil ikke være i stand til at udføre den.

Avancerede tilladelser til Linux filer

  • _ : Ingen tilladelse
  • d : Bibliotek
  • l : Filen er et symbolsk link
  • s : Dette indikerer setuid/setgid tilladelser. Disse tilladelser bruges til at meddele systemet at køre en eksekverbar kommando, som med den respektive ejer har tilladelse til.
  • t : Dette henviser til klæbrig (sticky) bittilladelser. Disse tilladelser begrænser omdøbning og sletning af en fil, dvs. kun ejeren kan slette eller omdøbe den bestemte fil.

Eksempler på de hyppigste tilladelser

Herunder nogle tilfælde for de tilladelser, der er hyppigst.

  • rwx : Dette er den tilladelse, der giver brugeren mulighed for at læse, skrive samt udføre programmet. Udførelse af tilladelse gælder kun, hvis filen er et program.
  • rw- : Dette er den tilladelse, der giver brugeren mulighed for at læse og ændre indholdet af filen, men brugeren har ikke tilladelse til at udføre den.
  • r-x : Dette er den tilladelse, der giver brugeren mulighed for at læse og udføre programmet, men han har ingen myndighed til at foretage ændringer i programkoden
  • r– : Denne tilladelse tillader brugeren kun at læse indholdet af filen. Hun/han har hverken lov til at ændre filen eller udføre den, hvis det er et program.

Fil og bibliotek beskyttelse med numerisk tilstand

Når du bruger chmod med numeriske argumenter, skal værdierne for hver tildelt adgangsret tælles sammen pr. Gruppe. Således får vi et 3-cifret tal, som er den symboliske værdi for de indstillinger, som chmod skal foretage. Følgende tabel viser de mest almindelige kombinationer.

Kommando Betyder
chmod 400 fil For at beskytte en fil mod utilsigtet overskrivning.
chmod 500 bibliotek For at beskytte dig mod, ved et uheld, at fjerne, omdøbe eller flytte filer fra dette bibliotek.
chmod 600 fil En privat fil, der kun kan ændres af den bruger, der indtastede denne kommando.
chmod 644 fil En offentlig læsbar fil, der kun kan ændres af den udstedende bruger.
chmod 660 fil Brugere, der tilhører din gruppe, kan ændre denne fil, andre har overhovedet ikke adgang til den.
chmod 700 fil Beskytter en fil mod enhver adgang fra andre brugere, mens den udstedende bruger stadig har fuld adgang.
chmod 755 bibliotek For filer, der skal være læsbare og eksekverbare af andre, men kun kan ændres af den udstedende bruger.
chmod 775 fil Standard fildelingstilstand for en gruppe.
chmod 777 fil Alle kan gøre alt på denne fil.

Hvis du indtaster et tal med mindre end tre cifre som et argument til chmod, udskiftes tegn, der er udeladt med nuller, der starter fra venstre.

For at få de tilladte bits, du ønsker, skal du tilføje numrene i overensstemmelse hermed. rwx-tilladelserne ville for eksempel være 4 + 2 + 1 = 7, rx ville være 4 + 1 = 5, og rw ville være 4 + 2 = 6. Fordi du seperat indstiller tilladelser til ejeren, gruppen og andre, skal du bruge et trecifret tal, der repræsenterer tilladelserne for alle disse grupper.

Eksempel.

$ chmod 755 fil_1.txt

 

Dette ville ændre fil_1.txt tilladelser til -rwxr-xr-x. Ejeren ville have fuld læsning, skrivning og udførelse af tilladelser 7 = 4 + 2 + 1, gruppen ville have læs og udfør tilladelser 5 = 4 + 1, og andre ville også have tilladelserne til at læse og udføre.

Et andet eksempel

$ chmod 640 fil_1.txt

I dette tilfælde, vil fil_1.txt tilladelser ville være -rw-r -----. Ejeren ville have læse og skrive tilladelser 6 = 4 + 2, gruppen ville kun have tilladelser til læsning 4, og andre ville ikke have adgangstilladelser 0.

Der er faktisk et fjerde ciffer på Linux-systemer, der går foran de første tre og indstiller specielle adgangstilstande. Alt om disse og mange flere findes på infosiderne.

$ info chmod | less

Hvis du har fået sat forkerte tilladelser på filer og mapper

Hvis du har rodet rundt med tilladelser på filer og mapper i dit hjemmebibliotek, og ikke kan åbne mapper og filer, så er der mulighed for at rode dig ud af det. cd hen til hvor du har dine mapper og filer, i det her tilfælde Dokumenter, og udfør følgende kommandoer.

$ find -type d -exec chmod 755 {} \;

$ find -type f -exec chmod 644 {} \;

Se video herunder

 

Indstilling af tilladelser til flere filer med symbolsk tilstand

Du kan anvende tilladelser til flere filer på én gang.

Lad os opliste filerne i det aktuelle bibliotek.

ls -l

 

Lad os sige, at vi vil fjerne skrivetilladelser for "andre" brugere fra filer, der har en endelse med ".side". Vi kan gøre dette med følgende kommando.

$ chmod o-r *.side

Lad os kontrollere, hvilken effekt det har haft.

ls -l

 

Som vi kan se, er læsetilladelsen fjernet fra “.side” -filerne for kategorien andre brugere. Ingen andre filer er blevet påvirket.

Hvis vi havde ønsket at inkludere filer i undermapper, kunne vi have brugt flaget -R (rekursiv).

$ chmod -R o-r *.side

 

Indstilling af tilladelser til flere filer med numerisk tilstand

En anden måde at bruge chmod er at give de tilladelser, du ønsker at give til ejeren, gruppen og andre som et trecifret nummer, som vi har været inde på tidligere. Det venstre ciffer repræsenterer tilladelserne for ejeren. Det midterste ciffer repræsenterer tilladelserne for gruppemedlemmerne. Det højre ciffer repræsenterer tilladelserne for andre.

De cifre, du kan bruge, og hvad de repræsenterer, er vist herunder.

Tal Betyder
0 Ingen tilladelse.
1 Udfør tilladelse. (Execute)
2 Skriv tilladelse.
3 Skriv og udfør tilladelser.
4 Læs tilladelse.
5 Læs og udfør tilladelser.
6 Læse og skrive tilladelser.
7 Læs, skriv og udfør tilladelser.

Tilladelser er repræsenteret med decimaltal. Så 5 betyder at læse og udføre. 2 betyder skrivetilladelse.

Ved hjælp af denne metode, giver du de tilladelser, du vil have. Du tilføjer ikke disse tilladelser til de eksisterende tilladelser. Så hvis læse- og skrivetilladelser allerede var på plads, skulle du bruge 7 til at tilføje udfør tilladelser. Brug af 1 ville fjerne læse- og skrivetilladelser og tilføje udførelsestilladelsen.

Lad os tilføje læsetilladelsen tilbage på ".side" -filerne for den anden kategori af brugere. Vi skal også indstille bruger- og gruppetilladelser, så vi er nødt til at indstille dem til, hvad de allerede er. Disse brugere har allerede læse- og skrivetilladelser, hvilket er 6 . Vi ønsker, at de "andre" skal have læse og tilladelser, så de skal indstilles til 4.

Følgende kommando gør dette.

$ chmod 664 *.side

Dette indstiller de tilladelser, vi kræver for brugeren, gruppemedlemmer og andre, til det, vi har brug for. Brugere og gruppemedlemmer nulstilles deres tilladelser til det, de allerede var, og de andre får læsetilladelsen gendannet.

Lad os kontrollere, hvilken effekt det har haft.

ls -l

 

Hvis du nu vil have det tibage til standard, som er offentlige læsbare filer, der kun kan ændres af dig som bruger.

Så udfør følgende kommando.

$ chmod 644 *.side

 

Hvad er forskellen på chmod u+x - a+x - +x

Følgende er muligt:

Kommando Betydning
u For bruger (brugeren, der er ejer af filen)
g For gruppe (andre brugere i filgruppen)
o For andre (brugere, der ikke er i filgruppen)
a For alle (alle brugere)

u står for brugeren. Det betyder, at det eksekverbare flag kun gælder for den aktuelle bruger af filen.

Hvis du bruger chmod+x, er det det samme som chmod a+x - ændringen gælder for alle.

Det er dog også muligt at kombinere flere bogstaver, f.eks. Chmod ugo+x eller chmod ug+x for filens ejer såvel som de andre brugere af filgruppen.

Med chmod -x kan du afskaffe eksekverbarheden igen. Minustegnet fjerner flagene, plus-tegnet tilføjer dem.

 

Script - hej

Lad os sige, at vi har en script fil som hedder hej og ser således ud.

      #!/bin/bash
      # My first script

      echo "Hej alle en hilsen til jer alle fra Frugalman!"
      

Vi prøver nu at eksekvere det med følgende kommando.

$ ./hej

Som vi kan se er der nægtet adgang.

vi kan se filen med følgende kommando.

$ cat hej

 

Tilladelserne på scriptet kan vi se med.

ls -l

 

Så skal vi have gjort scriptet eksekverbart med følgende kommando.

$ chmod u+x hej

Eller hvis alle skal kunne eksekvere.

$ chmod a+x hej

Vi kunne have opnået den samme ting uden ”a” i ”a + x”. Den følgende kommando fungerer lige så godt.

$ chmod +x hej

Lad os kontrollere, hvilken effekt det har haft.

ls -l

 

Som du kan se, er der nu kommet en * ud for hej samt x ud for ejer, gruppe og andre.

Vi kan nu eksekvere filen med følgende kommando.

$ ./hej

 

Video med emnet.

 

Script - Sådan tjekkes for sårbarheder og sikkerhedsproblemer med Spectre og Meltdown

Sårbarhed i Spectre:

Spectre sårbarhed bryder isoleringen mellem applikationerne på din computer. Så en angriber kan narre en mindre sikker applikation for at afsløre oplysninger om mindre sikre applikationer fra kernemodulet i operativsystemet.

Meltdown Sårbarhed:

Meltdown bryder isoleringen mellem brugeren, applikationerne og operativsystemet. Så en angriber kan skrive et program, og kan få adgang til hukommelsesplacering for dette program såvel som andre programmer og få hemmelig information ud af systemet.

Tjekke mod sårbarheder med Spectre og Meltdown:

Inden vi går i gang skal du have installeret microcode_ctl og iucode-tool, samt kernel-firmware-extra. Programmet hedder nok microcode i andre Linux distributioner

Du kan downloade scriptet til /tmp-biblioteket, fordi scriptet fjernes automatisk ved næste genstart. Men hvis du vil beholde det, kan du overveje at downloade det til et andet sted. I dette eksempel har jeg har downloadet det til mit hjemmebiblotek.

Kør nu følgende kommando for at downloade scriptet Spectre og Meltdown Checker ved hjælp af wget

$ wget https://meltdown.ovh -O spectre-meltdown-checker.sh

Så skal vi have gjort scriptet eksekverbar.

$ chmod +x spectre-meltdown-checker.sh

Når du er klar, skal du køre scriptet som root

$ ./spectre-meltdown-checker.sh

For at få en ogsigt over hele gennemgangen udføres følgende kommando.

$ ./spectre-meltdown-checker.sh --batch

Se videoen herunder for gennemgang, hvor der også bliver forklaret forskellem mellem su og su - og opdatering af microcode .

 

Når du er færdig, så husk at slette scriptet hvis du f.eks.har det liggende i dit hjemmebibliotek, enten med din filhåndtering, eller med kommandoen.

$ rm spectre-meltdown-checker.sh

 

 

 

Alle eksempler er uført i, PCLinuxOS.