Muokataan sivua Tietoturva
Siirry navigaatioon
Siirry hakuun
Kumoaminen voidaan suorittaa. Varmista alla olevasta vertailusta, että haluat saada aikaan tämän lopputuloksen, ja sen jälkeen julkaise alla näkyvät muutokset.
Nykyinen versio | Oma tekstisi | ||
Rivi 1: | Rivi 1: | ||
== Rant == | |||
Tietoturvassa on monesti kysymys asenteista, tosin onneksi Linuxille on erittäin vähän viruksia ja spywarea. Kannattaa silti huolehtia järjestelmän tärkeimmät päivitykset ajantasalle. Lisävarmuuden tuomiseksi voi myös käyttää [[Palomuurit|palomuuria]], [[tcp-wrapper]]ia, SELinuxia ja [[IDS]]ia (eli hyökkäyksentunnistusjärjestelmiä). *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. | |||
== Käyttöjärjestelmän päivittäminen == | |||
Kaikista käyttöjärjestelmistä löytyy ajoittain ohjelmointivirheitä, | |||
jotka heikentävät koneen turvallisuutta. Valmistajat julkaisevat | |||
päivityksiä jotka korjaavat virheet, mutta päivitysten asentaminen on käyttäjän vastuulla. | |||
Linuxin tapauksessa tarvittavat toimenpiteet riippuvat jonkin verran siitä, minkä valmistajan jakelupaketti on käytössä. | |||
Kannattaa tarkistaa säännöllisesti (ehkä kerran viikossa) joko uusia turvapäivityksiä olisi saatavilla, ellei muistutuksia tule automaattisesti. | |||
Yleensä linux-jakelulla on myös sähköpostilista, millä tiedotetaan tietoturvaan liittyvistä päivityksistä yms. | |||
Tietoturvapäivitykset asentuvat yleensä muutamalla klikkauksella tai parilla komennolla, kunhan "asennuslähteet" on oikein säädetty. | |||
Alla on annettu ohjeet yleisimpien jakeluiden päivittämiseen. | |||
Mikäli käytössäsi niin vanha jakelu että valmistajalta ei enää saa | |||
siihen tietoturvapäivityksiä lainkaan, on koko järjestelmä syytä | |||
päivittää uudempaan versioon. | |||
* [[Debianin päivittäminen|Debian GNU/Linux]] | |||
* [[Fedoran ja Red Hatin päivittäminen|Fedora Linux]] | |||
* [[Gentoon päivittäminen|Gentoo Linux]] | |||
* IT Linux, Lineox ja Spectra Linux: Kts. [http://www.raimokoski.com http://www.raimokoski.com] | |||
* [[Mandrivan päivittäminen|Mandriva Linux]] | |||
* [[Fedoran ja Red Hatin päivittäminen|Red Hat Linux]] | |||
* SOT Linux: Päivityksiä ei enää julkaista, käyttäjiä suositellaan vaihtamaan johonkin toiseen jakeluun. | |||
* [[SUSEn päivittäminen|SUSE Linux]] | |||
* [[Ubuntun päivittäminen|Ubuntu Linux]] | |||
* [[Slackware|Slackware Linux]] | |||
* [[ | |||
* [[ | |||
* | |||
* [[ | |||
* [[ | |||
* [[ | |||
== Käyttöoikeuksien hallinta == | == Käyttöoikeuksien hallinta == | ||
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. | ||
Linuxin tietoturvaa parantaa tavallisen- ja pääkäyttäjän erottaminen toisistaan. Pääkäyttäjällä eli erityisellä [[käyttäjä|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 hyvin rajoitetut, mahdollistaen kuitenkin normaalin päivittäisen toiminnan kuten dokumenttien kirjoittamiseen ja musiikin kuuntelemiseen. | |||
Linuxin tietoturvaa parantaa tavallisen | |||
Vaikka kotikäyttäjälle kahden käyttäjätunnuksen ja salasanan muistaminen | Vaikka kotikäyttäjälle kahden käyttäjätunnuksen ja salasanan muistaminen kuulostaa absurdilta, on se ehdottomasti helpoin keino parantaa henkilökohtaista tietoturvaa. Esimerkiksi virusten ja haittaohjelmien levittäminen internetissä on helppoa ja ohjelmien virheiden vuoksi sellainen voi joutua myös omalle koneelle. Käyttämällä aina rajoitettua käyttäjätunnusta vähennät huomattavasti riskiä sotkea koko käyttöjärjestelmää. | ||
Siis ohje yksinkertaistettuna: | Siis ohje yksinkertaistettuna: | ||
Rivi 38: | Rivi 40: | ||
# Kirjaudu sisään aina tavallisen "matti"-käyttäjän tunnuksilla, ei root-tunnuksilla! | # Kirjaudu sisään aina tavallisen "matti"-käyttäjän tunnuksilla, ei root-tunnuksilla! | ||
# Älä lisää normaalille käyttäjätunnukselle oikeuksia, mitä et välttämättä tarvitse | # Älä lisää normaalille käyttäjätunnukselle oikeuksia, mitä et välttämättä tarvitse | ||
# Käytä root-tunnusta ainoastaan ohjelmien ja järjestelmän asennukseen | # Käytä root-tunnusta ainoastaan ohjelmien ja järjestelmän asennukseen ja kaikkia käyttäjiä koskeviin säätöihin, ei mihinkään muuhun | ||
# Jos vieras ohjelma vaatii pääkäyttäjän tunnusta tai salasanaa, mieti kahdesti onko ohjelma välttämätön! | # Jos vieras ohjelma vaatii pääkäyttäjän tunnusta tai salasanaa, mieti kahdesti onko ohjelma välttämätön! | ||
Suorittaaksesi ohjelman pääkäyttäjän tunnuksilla sinun ei tarvitse kirjautua ulos järjestelmästä. Voit kirjautua pääkäyttäjäksi eri [[virtuaalikonsoli|virtuaalikonsolilla]] tai [[terminaaliemulaattori|pääteikkunassa]]. Komentoriviltä minkä tahansa yksittäisen ohjelman voi suorittaa pääkäyttäjän oikeuksilla komennoilla [[su]] tai [[sudo]]. Pelkkä "su" vaihtaa pääkäyttäjän oikeuksiin "exit"-käskyyn saakka | Suorittaaksesi ohjelman pääkäyttäjän tunnuksilla sinun ei tarvitse kirjautua ulos järjestelmästä. Voit kirjautua pääkäyttäjäksi eri [[virtuaalikonsoli|virtuaalikonsolilla]] tai [[terminaaliemulaattori|pääteikkunassa]]. Komentoriviltä minkä tahansa yksittäisen ohjelman voi suorittaa pääkäyttäjän oikeuksilla komennoilla [[su]] tai [[sudo]]. Pelkkä "su" vaihtaa pääkäyttäjän oikeuksiin "exit"-käskyyn saakka. | ||
[[Työpöytäympäristö|Työpöytäympäristöistä]] löytyy vastaavat ohjelmat myös graafisena. [[GNOME|GNOMEssa]] sudo-komentoa vastaa [[gksudo]] ja [[KDE|KDE:ssä]] [[ksud]]. Esimerkiksi Ubuntussa Synaptic-paketinhallinnan käynnistäminen kysyy pääkäyttäjän salasanan automaattisesti, käyttäen kyseistä [[gksudo]]-ohjelmaa. | |||
==Käynnistettävät tiedostot ja "autorun"== | ==Käynnistettävät tiedostot ja "autorun"== | ||
GNU/Linuxissa sähköpostiohjelmia ei yleensä ole säädetty ajamaan liitteenä tulevia ohjelmia, vaikka liitettä klikattaisiinkin. | |||
Kun tiedosto on tallennettu tiedostojärjestelmään, se, tulkitaanko se ohjelmaksi, määräytyy [[Tiedoston_oikeudet|tiedoston oikeuksiin]] | Kun tiedosto on tallennettu tiedostojärjestelmään, se, tulkitaanko se ohjelmaksi, määräytyy [[Tiedoston_oikeudet|tiedoston oikeuksiin]] | ||
Rivi 77: | Rivi 57: | ||
Sama koskee [[CD-levy|CD-levyjen]] ja muitten irrotettavien medioitten autorun-ohjelmia: niitä ei yleensä ajeta ellei käyttäjä erikseen sitä pyydä. | Sama koskee [[CD-levy|CD-levyjen]] ja muitten irrotettavien medioitten autorun-ohjelmia: niitä ei yleensä ajeta ellei käyttäjä erikseen sitä pyydä. | ||
Vaikka CD-levyjen kautta ei viruksia juurikaan levitetä niin automaattikäynnistys on helppo tapa tehdä CD:stä [[ | Vaikka CD-levyjen kautta ei viruksia juurikaan levitetä niin automaattikäynnistys on helppo tapa tehdä CD:stä [[troijan hevonen]] (katso [[wikipedia:en:2005_Sony_BMG_CD_copy_prevention_scandal|Sonyn rootkit]]). | ||
===Binäärien ajaminen ja pakettien kautta leviävät virukset=== | ===Binäärien ajaminen ja pakettien kautta leviävät virukset=== | ||
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 trojan_hevonen | |||
./trojan_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 ./ | Etuliite ./ 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). | ||
Jos ohjelma tulee paketoituna ( | Jos ohjelma tulee paketoituna (tar, 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). | ||
== SELinux ja GRSecurity == | == SELinux ja GRSecurity == | ||
[ | [http://www.nsa.gov/selinux/ SELinux] on patchi ("korjaus") joka mahdollistaa tarkemman auditoinnin ("turvallisuustarkastelut") järjestelmän suorittamien toimenpiteiden suhteen. Lähes kaikille tapahtumille on mahdollista määrittää "turvatasot". NSA on kehittänyt SELinuxin, jonka takia voidaankin olettaa sen täyttävän erittäin korkean turvallisuusluokituksen. | ||
Säädettävyyden mukana tulee vaikeus; kuka jaksaa säätää kaiken pilkkua viilaten? Tämä on SELinuxin suurin ongelma: sen käyttöönotto on erittäin työläs. | Säädettävyyden mukana tulee vaikeus; kuka jaksaa säätää kaiken pilkkua viilaten? Tämä on SELinuxin suurin ongelma: sen käyttöönotto on erittäin työläs. | ||
SELinux on 2.6-sarjan kernelissä ("ytimessä") mukana ja sen kehitys tapahtuu ytimen ohessa. 2.4-sarjalaisiin tämä on saatavissa erillisenä patch-settinä ("korjaussarjana"). | SELinux on 2.6-sarjan kernelissä ("ytimessä") mukana ja sen kehitys tapahtuu ytimen ohessa. 2.4-sarjalaisiin tämä on saatavissa erillisenä patch-settinä ("korjaussarjana"). | ||
[ | [http://www.grsecurity.net/ GRSecurity] on kilpaileva "tuote" joka ei ole mukana valtavirrassa, mutta se tekijän mukaan mahdollistaa vielä suuremmat tietoturvatason säädöt. | ||
Molemmat tuotteet ovat hyödyllisiä jos niille on tarvetta. Yleensä pärjätään normaaleillakin turva-asetuksilla, mutta vaihtoehdot ovat hyväksi. | Molemmat tuotteet ovat hyödyllisiä jos niille on tarvetta. Yleensä pärjätään normaaleillakin turva-asetuksilla, mutta vaihtoehdot ovat hyväksi. | ||
== TCP-wrapper == | == TCP-wrapper == | ||
TCP-wrapper on käyttöoikeuskirjasto, jolla voidaan määritellä monimutkaisempia sääntöjä, ketkä pääsevät mihinkin verkkopalveluun ottamaan yhteyttä. Komennolla ldd /polku/ohjelmistoon | grep libwrap voi tarkistaa tukeeko palvelinohjelma TCP-wrapperia. | |||
Säännöt rakentuvat niin, että ensin pitää kieltää kaikki <tt>hosts.deny</tt>-tiedostossa ja sitten sallia yhteyksiä <tt>hosts.allow</tt>-tiedostossa | Säännöt rakentuvat niin, että ensin pitää kieltää kaikki <tt>[[hosts.deny]]</tt>-tiedostossa ja sitten sallia yhteyksiä <tt>hosts.allow</tt>-tiedostossa. | ||
Esimerkki perussäädöistä, joissa sallitaan yhteydenotto SSHD-palvelinohjelmistoon | Esimerkki perussäädöistä, joissa sallitaan vain .omalafka.fi verkko-osoitteiden yhteydenotto SSHD-palvelinohjelmistoon. | ||
/etc/hosts.deny: | /etc/hosts.deny: | ||
SSHD: ALL | |||
/etc/hosts.allow: | /etc/hosts.allow: | ||
SSHD: .omalafka.fi | |||
Nimien käyttö ip-osoitteiden sijaan aiheuttaa turvallisuusreiän: se, joka itse hallitsee omat nimipalvelimensa, voi asettaa koneen nimen haluamakseen. Ylläolevat säännöt kuitenkin riittävät automaattisten hyökkäysten torjumiseen, ainakin jollei omalafka.fi ole arvattavissa koneen oman nimen tms. perusteella | Nimien käyttö ip-osoitteiden sijaan aiheuttaa turvallisuusreiän: se, joka itse hallitsee omat nimipalvelimensa, voi asettaa koneen nimen haluamakseen. Ylläolevat säännöt kuitenkin riittävät automaattisten hyökkäysten torjumiseen, ainakin jollei omalafka.fi ole arvattavissa koneen oman nimen tms. perusteella. | ||
== Palomuuri == | == Palomuuri == | ||
Rivi 134: | Rivi 109: | ||
==SSH== | ==SSH== | ||
Jos ajat [[SSH]]-palvelinta, kannattaa tarkistaa että soveltuvat [[SSH-turvatoimet]] on tehty. sshd käyttää yleensä sekä omia asetuksiaan, että pam-kirjastoa ja normaaleja unix-salasanoja. Asetusten yhteisvaikutus ei ole intuitiivinen, joten asiaa koskevien varoitusten lukeminen on hyvin suotavaa. Parasta on rajoittaa yhteydet muutamaan luotettavaan ip-osoitteeseen. | Jos ajat [[SSH]]-palvelinta, kannattaa tarkistaa että soveltuvat [[SSH-turvatoimet]] on tehty. sshd käyttää yleensä sekä omia asetuksiaan, että pam-kirjastoa ja normaaleja unix-salasanoja. Asetusten yhteisvaikutus ei ole intuitiivinen, joten asiaa koskevien varoitusten lukeminen on hyvin suotavaa. Parasta on rajoittaa yhteydet muutamaan luotettavaan ip-osoitteeseen. | ||
==Katso myös== | ==Katso myös== | ||
*[[Langattoman verkon tietoturva]] | *[[Langattoman verkon tietoturva]] | ||
[[Luokka:Tietoturva]] | [[Luokka:Tietoturva]] | ||