Ero sivun ”Tietoturva” versioiden välillä

Siirry navigaatioon Siirry hakuun
1 952 merkkiä lisätty ,  16. maaliskuuta 2009
(→‎Käyttöoikeuksien hallinta: vivahteita ja pientä lisää)
Rivi 3: Rivi 3:
Suurimmat riskit työpöytä-Linuxeissa ovat palvelujen säätö- tai ohjelmointivirheet (varo siis turhien palvelujen avaamista maailmalle) ja selainten tietoturva-aukot. Kannattaa huolehtia järjestelmän tärkeimmät päivitykset ajantasalle: Linuxeja koetelleet madot ovat hyödyntäneet ongelmia, jotka asianmukaisesti ylläpidetyissä asennuksissa oli korjattu aikoja sitten.
Suurimmat riskit työpöytä-Linuxeissa ovat palvelujen säätö- tai ohjelmointivirheet (varo siis turhien palvelujen avaamista maailmalle) ja selainten tietoturva-aukot. Kannattaa huolehtia järjestelmän tärkeimmät päivitykset ajantasalle: Linuxeja koetelleet madot ovat hyödyntäneet ongelmia, jotka asianmukaisesti ylläpidetyissä asennuksissa oli korjattu aikoja sitten.


Lisävarmuuden tuomiseksi voi myös käyttää [[Palomuuri]]a (joka helpottaa palvelujen rajaamisen aiotuille käyttäjille), [[tcpwrappers]]ia (tavallaan palvelukohtainen palomuuri), SELinuxia ja [[IDS]]ia (hyökkäyksentunnistusjärjestelmiä). Kaksi ensinmainittua ovat helppoja ottaa käyttöön eivätkä vaikuta koneen tavalliseen käyttöön (ellei palomuuria säädä liian tiukaksi).
Lisävarmuuden tuomiseksi voi myös käyttää [[palomuuri]]a (joka helpottaa palvelujen rajaamisen aiotuille käyttäjille), [[tcpwrappers]]ia (tavallaan palvelukohtainen palomuuri), SELinuxia ja [[IDS]]ia (hyökkäyksentunnistusjärjestelmiä). Kaksi ensinmainittua ovat helppoja ottaa käyttöön eivätkä vaikuta koneen tavalliseen käyttöön (ellei palomuuria säädä liian tiukaksi).


<nowiki>*</nowiki>NIX-tyylisten järjestelmien vanhimpia tietoturvaetuja on [[root|pääkäyttäjän]] säästeliäs käyttö, jatka tätä perinnettä! Hyvä tapa olisi jättää pääkäyttäjäterminaali kokonaan avaamatta, ja hoitaa pääkäyttäjäoikeuksia vaativat hommat [[su]]:n tai [[sudo]]n avulla.
<nowiki>*</nowiki>NIX-tyylisten järjestelmien vanhimpia tietoturvaetuja on [[root|pääkäyttäjän]] säästeliäs käyttö, jatka tätä perinnettä! Hyvä tapa olisi jättää pääkäyttäjäterminaali kokonaan avaamatta, ja hoitaa pääkäyttäjäoikeuksia vaativat hommat [[su]]:n tai [[sudo]]n avulla.
Rivi 35: Rivi 35:
Olennainen osa Linux-tietoturvaa on mahdollisuus rajoittaa [[käyttäjä|käyttäjien]] oikeuksia [[tiedostojärjestelmä|tiedostojärjestelmään]]. Käyttöoikeudet määritetään käyttäjä- ja ryhmäkohtaisesti. Lisäksi Linuxin [[Linuxin hakemistorakenne|hakemistorakenteessa]] määritetään tarkkaan hakemistojen [[tiedoston oikeudet|käyttöoikeudet]] niiden tarkoituksen ja käyttöoikeuksien mukaan. Nämä yhdessä luovat pohjan tietoturvalliselle käyttöjärjestelmälle.
Olennainen osa Linux-tietoturvaa on mahdollisuus rajoittaa [[käyttäjä|käyttäjien]] oikeuksia [[tiedostojärjestelmä|tiedostojärjestelmään]]. Käyttöoikeudet määritetään käyttäjä- ja ryhmäkohtaisesti. Lisäksi Linuxin [[Linuxin hakemistorakenne|hakemistorakenteessa]] määritetään tarkkaan hakemistojen [[tiedoston oikeudet|käyttöoikeudet]] niiden tarkoituksen ja käyttöoikeuksien mukaan. Nämä yhdessä luovat pohjan tietoturvalliselle käyttöjärjestelmälle.


===Pääkäyttäjä===
Linuxin tietoturvaa parantaa tavallisen [[käyttäjä]]n ja pääkäyttäjän erottaminen toisistaan. Pääkäyttäjällä, eli erityisellä [[root]]-tunnuksella, on kaikki oikeudet käyttöjärjestelmään ja näin myös suurin riski vahingoittaa käyttöjärjestelmää. Tavallisen käyttäjän oikeudet taas ovat rajoitetut, mahdollistaen kuitenkin normaalin päivittäisen toiminnan, kuten dokumenttien kirjoittamisen, musiikin kuuntelemisen ja oman ympäristönsä muokkaamisen, jopa ohjelmien asentamisen omaan käyttöönsä.
Linuxin tietoturvaa parantaa tavallisen [[käyttäjä]]n ja pääkäyttäjän erottaminen toisistaan. Pääkäyttäjällä, eli erityisellä [[root]]-tunnuksella, on kaikki oikeudet käyttöjärjestelmään ja näin myös suurin riski vahingoittaa käyttöjärjestelmää. Tavallisen käyttäjän oikeudet taas ovat rajoitetut, mahdollistaen kuitenkin normaalin päivittäisen toiminnan, kuten dokumenttien kirjoittamisen, musiikin kuuntelemisen ja oman ympäristönsä muokkaamisen, jopa ohjelmien asentamisen omaan käyttöönsä.


Rivi 49: Rivi 50:


Useimmista [[jakelu]]ista löytyy vastaavat ohjelmat myös graafisena. [[GTK]]-pohjaisissa ympäristöissä ([[GNOME]], [[Xfce]] ym.) käytetään yleensä [[gksu]]a (tuki sulle ja sudolle) tai [[gksudo]]a (tuki sudolle). [[KDE]]:ssä käytetään [[kdesu]]a (tuki sulle, myös sudoa varten muokattuja versioita olemassa).  Järjestelmän asetusohjelmien avaaminen tavallisena käyttäjänä aiheuttaa yleensä pääkäyttäjän salasanan kysymisen joko gksu(do)n tai kdesun avulla. Koko työpöytäympäristöä ei pidä käynnistää pääkäyttäjänä.
Useimmista [[jakelu]]ista löytyy vastaavat ohjelmat myös graafisena. [[GTK]]-pohjaisissa ympäristöissä ([[GNOME]], [[Xfce]] ym.) käytetään yleensä [[gksu]]a (tuki sulle ja sudolle) tai [[gksudo]]a (tuki sudolle). [[KDE]]:ssä käytetään [[kdesu]]a (tuki sulle, myös sudoa varten muokattuja versioita olemassa).  Järjestelmän asetusohjelmien avaaminen tavallisena käyttäjänä aiheuttaa yleensä pääkäyttäjän salasanan kysymisen joko gksu(do)n tai kdesun avulla. Koko työpöytäympäristöä ei pidä käynnistää pääkäyttäjänä.
===Palveluiden tunnukset ja ryhmät===
Jotta tietoturva-aukko yhdessä palvelimessa tai vastaavassa ohjelmassa ei mahdollistaisi koko järjestelmän haltuunottoa, palvelimet ajetaan yleensä jokainen omalla tunnuksellaan. Usein palvelimella on käytössään myös oma [[ryhmä]]. Näin murtautuja saa käyttöönsä vain rajalliset oikeudet. Pyrkimyksenä on, että palvelimen tunnuksella ei olisi oikeuksia muokata muita tiedostoja kuin mitä palvelimen toiminta vaatii.
Useimmiten palvelin on käynnistettävä pääkäyttäjän oikeuksin, jotta sillä olisi mahdollisuus käyttää tiettyjä [[TCP]]/[[UDP]]-portteja (<1024) tai muita erikoistoimintoja. Otettuaan käyttöön portin tai muun resurssin ohjelma luopuu pysyvästi näistä oikeuksista (katso [[setuid]]). Jotkut ohjelmat tarvitsevat jatkossakin pääkäyttäjäoikeuksia, mutta käyttävät  näitä säästeliäästi, suorittaen (valta)osan koodistaan palvelinkohtaisella tunnuksellaan, joko [[seteuid]]-kutsun tai [[fork|lapsiprosessien]] avulla.
Palvelimen (tai toiminnon) ryhmää käytetään esimerkiksi sähköpostin (mail), pelien (games), päätelaitteen (tty) ja kirjautumislokin (utmp) tapauksessa. Tiedostot ovat yksittäisen käyttäjän tai pääkäyttäjän omistuksessa, mutta ryhmäoikeuksien kautta eri ohjelmilla on oikeus kirjoittaa näihin tiedostoihin. Samaa järjestelmää voi käyttää mielivaltaiia uusia palvelimia luotaessa.
Aikoinaan palvelimet, jotka eivät tarvinneet pääkäyttäjäoikeuksia, ajettiin yleensä tunnuksella ja ryhmällä nobody. Tämä johti kuitenkin siihen, että ongelma yhdessä palvelimessa mahdollisti hyökkäykset muihin tätä tunnusta käyttäviin palvelimiin. Nykyään nobody on hyvin vähäisessä käytössä, mutta on käytettävissä ellei johonkin käyttöön halua luoda uusia tunnuksia.


==Selaimet==
==Selaimet==
Rivi 74: Rivi 84:


Mitä siis tehdä, jos netistä löytyy (tai sähköpostissa tulee) ohjelma, jonka haluaa ajaa. Jos kyseessä on valmis ajettava tiedosto, riittää että tallettaa sen jonnekin, asettaa suoritusoikeudet ja ajaa sen:
Mitä siis tehdä, jos netistä löytyy (tai sähköpostissa tulee) ohjelma, jonka haluaa ajaa. Jos kyseessä on valmis ajettava tiedosto, riittää että tallettaa sen jonnekin, asettaa suoritusoikeudet ja ajaa sen:
  chmod a+x troijan_hevonen
  [[chmod]] a+x troijan_hevonen
  ./troijan_hevonen
  [[cwd|.]]/troijan_hevonen


Ohjelmalla on yleensä kaikki samat oikeudet kuin sen käynnistäjälläkin, eli ellei ohjelmaan luota, se pitää vähintään ajaa tähän tarkoitukseen erikseen luodulla tunnuksella, mieluiten ei ollenkaan.
Ohjelmalla on yleensä kaikki samat oikeudet kuin sen käynnistäjälläkin, eli ellei ohjelmaan luota, se pitää vähintään ajaa tähän tarkoitukseen erikseen luodulla tunnuksella, mieluiten ei ollenkaan.


Etuliite ./ (millä kerrotaan, että ohjelma on työhakemistossa) tarvitaan, jollei ohjelmaa ole asennettu ohjelmille tarkoitettuun hakemistoon (jotka on lueteltu [[PATH]]-muuttujassa). Tällä järjestelyllä estetään (pää)käyttäjää vahingossa ajamasta ohjelmaa, jolle on annettu jonkin toisen ohjelman nimi (tai sellaisen väärinkirjoitettu muoto).
Etuliite ./ (millä kerrotaan, että ohjelma on [[työhakemisto]]ssa) tarvitaan, jollei ohjelmaa ole asennettu ohjelmille tarkoitettuun hakemistoon (jotka on lueteltu [[PATH]]-[[ympäristömuuttuja|muuttujassa]]). Tällä järjestelyllä estetään (pää)käyttäjää vahingossa ajamasta ohjelmaa, jolle on annettu jonkin toisen ohjelman nimi (tai sellaisen väärinkirjoitettu muoto).


Jos ohjelma tulee paketoituna ([[tar]], [[RPM|rpm]], [[deb]] tms.), paketin asentaminen asentaa tiedostot paketoijan määräämään paikkaan, mahdollisesti ylikirjoittaen muita tiedostoja (varsinkin jos paketin asentaa pääkäyttäjänä) ja asettaen tiedosto-oikeudet kohdalleen. Pakettiin saattaa kuulua myös asennuksessa ajettavia skriptejä. Pakettia ei siis pidä asentaa epämääräisistä lähteistä ja hiukankin epävarmoissa tapauksissa se pitäisi asentaa tarkoitukseen erikseen luodulla tunnuksella (jolle annetaan vain tarvittavat oikeudet asennuksen ajaksi).
Jos ohjelma tulee paketoituna ([[tar]], [[RPM|rpm]], [[deb]] tms.), paketin asentaminen asentaa tiedostot paketoijan määräämään paikkaan, mahdollisesti ylikirjoittaen muita tiedostoja (varsinkin jos paketin asentaa pääkäyttäjänä) ja asettaen tiedosto-oikeudet kohdalleen. Pakettiin saattaa kuulua myös asennuksessa ajettavia skriptejä. Pakettia ei siis pidä asentaa epämääräisistä lähteistä ja hiukankin epävarmoissa tapauksissa se pitäisi asentaa tarkoitukseen erikseen luodulla tunnuksella (jolle annetaan vain tarvittavat oikeudet asennuksen ajaksi, yleensä kirjoitusoikeudet varta vasten luotuun hakemistoon).


== SELinux ja GRSecurity ==
== SELinux ja GRSecurity ==
785

muokkausta

Navigointivalikko