UNIX... UNIX tietoturva Ei ole sellaista käyttöjärjestelmää kuin UNIX On olemassa satoja erilaisia variaatiota ja versioita ja niistä tuhansia konfiguraatioita UNIX on Open Groupin rekisteröity tavaramerkki Tekninen määritelmä : käyttöjärjestelmä, joka on tyypillisesti kirjoitettu C:llä, hierarkinen tiedostojärjestelmä, integroitu tiedosto- ja laite-i/o, systeemin rajapinta tarjoaa mm. fork() ja pipe() -kutsut, käyttäjärajapinnassa usein työkalut cc, troff, grep, awk jne. Lisäksi valinnainen shell (komentotulkki).... tietoturva tietoturvassa otettava huomioon mitä suojataan miltä suojataan mitä maksaa (kannattaako 10 mk tavara suojata 100 mk peitteellä?) oltava hyvin määritelty tietoturvapolitiikka tietoturvapolitiikka täytyy olla kaikkien käyttäjien hanskassa usein sisäiset uhat vakavimpia Tiedot turvassa tietoturva ei ole vain krakkereilta suojautumista, vaan hajauta (dispersio) järjestelmäsi ja ota varmuuskopiot (redundanssi) laajoissa hajautetuissa järjestelmissä ei koko systeemin saa olla riippuvainen yhden osan toiminnasta redundanssia saadaan esim. kahdentamalla levyjärjestelmä ja ottamalla varmuuskopiot varmuuskopio täytyy tallettaa varmaan paikkaan, muuten se ei ole varmuuskopio 1
UNIX defence model Fyysinen turvallisuus Physical security locks and guards Account security users root permissions filesystem security encryption Network security wrappers & firewalls Tietoturvaa ei ole, jos kuka tahansa voi mennä koneen luokse ja käynnistää koneen ( tai sammuttaa ) omalla medialla kopioida tai varastaa kiintolevyn muu ilkeämielinen teko username & password Käyttäjätilit Tiedostojärjestelmä Suojataan salasanalla Kaikilla oma käyttäjätunnus tunnus root (UID=0) kriittinen Voidaan luoda rajoitettuja käyttäjätunnuksia tiedostojen oikeudet -rw-r--r-- 1 root sys 700 Jul 22 1997 profile muokataan ohjelmilla chown ja chmod tavallisen käyttäjätilin murrossa voidaan suojata muiden käyttäjien ja systeemille tärkeät tiedostot kryptaus suojaa tiedostot lisäksi salasanalla cat tiedosto1 crypt salasana > tiedosto2 rm tiedosto1 2
Verkon turvallisuus Vain haluttu liikenne verkkoon Turhat palvelut pois /etc/inetd.conf /etc/rc3.d/ (tai default run-level) ftp ja telnet riskiprotokollia, tilalle ssh ja scp Käyttäjätunnukset usein lyhyitä, selväkielisiä, pienellä kirjaimella käyttäjän nimestä kehitettyjä tunnuksia Matti Mainio -> mmainio talletuspaikka /etc/passwd mmainio:x:25445:100:matti Mainio:/home/mmainio:/opt/local/bin/zsh userid:passwd:uid:gid:comment:home_directory:default_shell periaatteessa /etc/passwd ei sisällä salaista tietoa, kaikkien käyttäjien luettavissa ennen shadow-passwd -järjestelmää myös salasana passwd-tiedostossa Salasanat tyypillisesti 8 merkkiä a-z, A-Z, 0-9, ~`!@$%^&*()_-+={}[] \:; <>,.?/ <space> kryptaus modifioidulla DES-algoritmilla (56 bit), kryptauksen suorittaa crypt() -funktio (ei sama kuin käyttäjän crypt -komento) joissakin järjestelmissä aito yksisuuntainen algoritmi (MD5, blowfish) nykyään salasanat /etc/shadow -tiedostossa, jonka lukuoikeudet vain rootilla uid:gnjdusxixsnpc::::::: Salasanan kryptaus käyttäjän salasana on kryptauksen kannalta aina 00000000 (64 bit), salasana toimii avaimena (56 bit) salasanan kryptauksessa käytetään suolana systeemin kellonajasta saatua 12 bittistä jonoa. suolan avulla samasta salasanasta saadaan 4096 erilaista kryptattua versiota 00000000 kryptataan DES-algoritmilla 25 kertaa sama algoritmi suoritetaan joka kerta, kun käyttäjä antaa salasanan. Sen jälkeen kryptattuja versioita verrataan toisiinsa. Algoritmi vaikea suorittaa toiseen suuntaan 3
Salasanan kryptaus Salasanan heikkoudet password key plaintext 00000000 salt clock modified DES password entry 25 rounds on huonoja salasanoja userid-permutaatiot, postinumero, kadunnimi, automerkki, sanakirjasta löytyvä sana i.e mikä tahansa järkevä haavoittuvainen dictionary-hyökkäyksille jos hyökkääjä saa haltuunsa /etc/passwd ja /etc/shadow -tiedostot, niin tehokkaalla koneella hän voi testata miljoonia salasanoja pienessä ajassa murtoa voidaan vaikeuttaa valistamalla käyttäjiä valitsemaan vaikeat salasanat vaihtamalla salasanaa tarpeeksi usein käytetään niitä erikoismerkkejä Salasanan heikkoudet salasanan vaihtaminen voidaan pakottaa määrätyin väliajoin ei samaa salasanaa salasanaa ei heti saa vaihtaa uudelleen salasanan vahvuuden tarkistus voidaan automatisoida, jolloin proaktiivisesti estetään heikot salasanat heikkona puolena salasanan vahvuudessa käyttäjän taipumus kirjoittaa se muistiin post-it lapulle monitorin reunaan kiinnitettäväksi PAM pluggable authentication modules laaja ja joustava kokoelma työkaluja, joita käyttäen tietoturvan reikiä voidaan tilkitä PAMia käyttäen voidaan UNIXin sovelluksille antaa mahdollisuus käyttää monia autentikointitapoja (kerberos, one-time-passwords, smartcards ) http://www.osf.org/tech/rfc/rfc86.0.html 4
Tiedostojen suojaus Tiedostojen oikeudet jokaisella tiedostolla (siis kaikella mahdollisella) on omistajana kayttäjä ja ryhmä näiden lisäksi tiedoston oikeuksia voidaan jakaa maailmalle tiedostolla on luku ( r ), kirjoitus ( w ) ja ajo-oikeus ( x ) jokaista edellä mainittua instanssia kohti oikeudet ovat talletettuna hakemistojen tietoihin, ei itse tiedostoon - r w x r w x r - x maailman oikeudet ryhmän oikeudet omistajan oikeudet tiedoston tyyppi suid set user ID (suid) antaa ajettavalle tiedostolle tiedoston omistajan oikeudet -rwsr-xr-x root adm traceroute kuka tahansa ajaakin ko. ohjelman, se ajetaan roottina alun perin tehty parantamaan tietoturvaa, mutta huolimattomasti käytettynä vaarallinen samaan tapaan sgid Tiedostojärjestelmän eheys tiedostojen eheyttä ja muuttumista kannattaa seurata yksinkertainen tapa on laskea tarkistussummia tiedostoista sum-ohjelmalla, jota on kuitenkin helppo huijata parempi ohjelma on Tripwire, joka ottaa matemaattisia sormenjälkiä tiedostoista ja tallettaa ne tietokantaan http://www.tripwiresecurity.com 5
Lokien kerääminen connect-time logging via wtmp/utmp who, w, users, finger, last, ac process accounting via acct or pacct accton, lastcomm, sa error loggin via syslog syslogd, syslog.conf sulog Verkkoturvallisuus verkkoa voi monitoroida (ainakin) seuraavilla ohjelmilla netstat snoop tcpdump yleensä verkon monitorointiin tarvitaan rootin oikeudet verkon kautta tulevat hyökkäykset yleensä DOShyökkäyksiä (esim. syn flood) tai porttiskannauksia snifferin täytyy päästä lähelle, jotta jotain hyötyisi firewall 6