User Tools

Site Tools


kako:varnost:cripto2

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
kako:varnost:cripto2 [2007/09/25 10:03] – ustvarjena iz kako:varnost mrcinkako:varnost:cripto2 [2007/09/25 14:20] (current) – stran zbrišeš, tako da zbrišeš vsebino lynx
Line 1: Line 1:
-====== Vzpostavitev v celoti šifriranega sistema - Ubuntu Feisty ====== 
  
-//Avtorja: Matej Kovačič, Jožko Škrablin// 
- 
-//**Opozorilo: Uporaba spodaj opisanih postopkov lahko privede do resne izgube podatkov ali do okvare sistema. V nekaterih nedemokratičnih državah je osebna uporaba močnega šifriranja nezakonita. Uporaba na lastno odgovornost.**// 
- 
----- 
- 
-//15. junija 2004 je italijanska policija [[http://www.autistici.org/ai/crackdown/comunicato_en_210605.html|vstopila v prostore]] ponudnika internetnih storitev in spletnega gostovanja Aruba, kjer so se nahajali strežniki aktivističnih organizacij Autistici in Inventati. Organizaciji sta različnim nevladnim organizacijam in političnim aktivistom ponujali brezplačno spletno gostovanje, elektronsko pošto ter poštne sezname. Preiskovalci so od ponudnika internetnih storitev zahtevali, da strežnik ugasnejo. Nato so trdi disk iz strežnika priključili na svoj računalnik ter iz njega prekopirali šifrirne ključe za dostop do elektronske pošte. Strežnik so nato ponovno zagnali. Predstavnik organizacij Autistici in Inventati je seveda opazil, da strežnik nekaj časa ni deloval, zato je poklical ponudnika spletnega gostovanja kaj je narobe. Dobil je odgovor, da je šlo za krajši izpad elektrike. Administratorji sistema so incident odkrili šele čez leto dni - ves ta čas pa je policija imela nešifriran dostop do elektronske pošte vseh njihovih uporabnikov.// 
- 
- 
-... 
- 
- 
-//12. marca 2007 sta [[http://www.mladina.si/tednik/200714/clanek/uvo-manipulator--aleksandar_micic/|dva odvisnika]] vlomila v stanovanje članu ter administratorju spletne strani Gibanja za pravičnost in razvoj in ukradla prenosni računalnik. V računalniku so bili shranjeni različni dokumenti, med drugim tudi seznam članov gibanja z njihovimi osebnimi podatki. V kasnejši policijski preiskavi so računalnik našli, ugotovili pa so tudi, da naj podatki iz njega ne bi bili prekopirani drugam.// 
- 
-... 
- 
-//Konec avgusta 2006 je CNN poročal, da so sudanske varnostne sile na letališčih pričele zasegati in pregledovati prenosne računalnike, s katerimi potniki vstopajo v to državo. Lastniki računalnike po približno enodnevnem pregledu sicer dobijo nazaj, uradno pa računalnike pregledujejo zato, da kakšen tujec v državo ne bi vnesel pornografije. 
- 
-Neuradno pa sudanske oblasti verjetno zanimajo povsem druge stvari. Poleg velikega števila osebnih podatkov in gesel za dostop do elektronske pošte ter on-line storitev (tudi bančnih računov), se oblasti verjetno najbolj zanimajo za informacije poslovnih uporabnikov, mirovnih aktivistov in humanitarnih organizacij, ki so objavljale poročila o množičnih kršitvah človekovih pravic v tej državi. 
- 
-Zasegov in pregledovanja prenosnih računalnikov na mejah ne izvaja samo nedemokratični Sudan, pač pa tudi najbolj ZDA. Ameriški mejni organi so januarja 2004 zasegli in preiskali prenosni računalnik nekega potnika. Računalnik so forenzično obdelali in v izbrisanem brskalnikovem medpomnilniku našli slike z otroško pornografijo. 
- 
-Po pritožbi pa je Zvezno prizivno sodišče 24. julija letos presodilo, da so naključni zasegi prenosnih računalnikov in pregledovanja s pomočjo forenzičnih programov v ZDA zakoniti. ([[http://slo-tech.com/script/forum/izpisitemo.php?threadID=236577|Slo-Tech, 16. 9. 2006]])// 
- 
----- 
- 
-Pri varnosti potrebno odločati med udobjem in varnostjo. Treba se je pač odločiti ali nam več pomeni varnost naših podatkov, ali pa udobje brezbrižnosti. 8-) Šifriranje diskov nekoliko upočasni delovanje sistema (čeprav je to pri običajni rabi na običajnem računalniku povsem neopazno). Uporaba šifriranja pa lahko v primeru napake oziroma okvare trdega diska privede do resne izgube podatkov. V primeru uporabe šifriranja zato poskrbite za ustrezne varnostne kopije. Podatki naj se nikoli ne nahajajo samo na enem (šifriranem) nosilcu.  
- 
-===== Zakaj? ===== 
- 
-Ena izmed možnosti napada na računalniške sisteme je tudi tim. //offline// napad, torej napad, ko napadalec pridobi fizični dostop do računalnika medtem, ko je le-ta ugasnjen. V primeru fizičnega dostopa do (ugasnjenega) računalnika - lahko gre tudi za izgubo, krajo ali pa lastnik računalnik nese na servis - napadalec lahko dostopa do trdega diska in podatkov na njem. 
- 
-Nevarnost obstaja tudi, če imamo nekatere kritične podatke šifrirane. Nešifrirani lahko ostanejo podatki v medpomnilniku (tim. //cache// in //swap//), v raznih začasnih datotekah (//tmp//) ali v raznih datotekah beleženja aktivnosti (tim. //log datoteke//). Izbrisane podatke je mogoče tudi rekonstruirati s pomočjo različnih forenzičnih tehnik. Šifriranje samo nekaterih datotek ali samo nekaterih particij zato včasih ni dovolj. Rešitev proti takšnim napadom je šifriranje celotnega sistema. Izraz pravzaprav ni povsem natančen, saj ne šifriramo čisto vsega (npr. RAM pomnilnika), pač pa "samo" podatke na trdem disku. Ker moramo sistem vseeno nekako zagnati, mora ostati vsaj delček sistema (zagonski razdelek) nešifriran.  
- 
-V nadaljevanju si bomo ogledali kako vzpostaviti šifriranje celotnega operacijskega sistema Ubuntu Linux (različica 7.04 Feisty Fawn). Nešifriran ostane samo zagonski razdelek (/boot), korenski imenik (tim. //root//), domači imenik (///home//) in izmenljivi prostor (tim. //swap//), pa so šifrirani z uporabo LUKS modula programskega paketa cryptsetup. LUKS oz. Linux Unified Key Setup podpora omogoča uporabo več gesel, ki jih je mogoče tudi spreminjati, predvsem pa zagotavlja standardni vmesnik za delo s šifriranimi nosilci podatkov. Cryptsetup z LUKS podporo uporablja tudi nekatere mehanizme s katerimi otežuje napade z grobo silo (tim. //brute force attacks//) v primeru uporabe šibkih gesel. 
- 
-Tako postavljen sistem bo mogoče zagnati (oz. dostopati do diskov) samo s pomočjo gesla, ki ga vnesemo ob zagonu sistema, sicer pa tako postavljen sistem deluje povsem običajno. 
- 
-===== Šifriranje diskov: Debian way ===== 
- 
-Eden prvih, če ne povsem prvi operacijski sistem, ki je v namestitveni proces uvedel šifriranje trdih diskov je Debian Linux, ki ima podporo za šifrirane diske od različice //Echt// dalje. 
- 
-Debianov namestilnik namreč uporabnikom omogoča, da ustvarjajo šifrirane razdelke že med samim namestitvenim procesom: 
- 
-{{:debian_crypto1.png?200}} 
- 
-{{:debian_crypto2.png?200}} 
- 
-{{:debian_crypto3.png?200}} 
- 
-Pri Debianu je uporaba šifriranih razdelkov dobro integrirana v sam sistem, težava je le v tem, da je Debian Linux uporabniško precej neprijazen in večinoma namenjen strežnikom. Po drugi strani pa na Debianu temeljijo številne druge distribucije Linuxa, med drugim tudi Ubuntu, poleg tega je Debian pogosto postavljal standarde razvoja Linuxa, zato lahko pričakujemo, da bo vgrajena podpora za šifrirane razdelke počasi postala sestavni del ostalih Linux distribucij. 
- 
-===== Prenos in namestitev strežniške različice Ubuntu 7.04 ===== 
-Po drugi strani pa z nekoliko več dela lahko šifriran sistem vzpostavimo tudi pod Ubuntu Linuxom, ki velja za enega bolj uporabniško prijaznih. Za razliko od Debiana, ki pri vzpostavitvi šifriranega sistema uporablja osnovni cryptsetup, pa lahko pri v nadaljevanju opisanem postopku uporabimo cryptsetup z LUKS podporo, kar nam omogoča enostavno menjavanje šifrirnih gesel in ključev. 
- 
-Ker podpora za šifriranje sistema žal v Ubuntu še ni privzeto vgrajena, se je potrebno poslužiti nekaterih trikov. Tako na računalnik najprej namestimo strežniško različico Ubuntu Linuxa, vzpostavimo šifrirane razdelke, nato pa nanje namestimo namizno različico Ubuntu Linuxa in strežniško odstranimo. 
- 
-Iz interneta si najprej [[http://www.ubuntulinux.org/getubuntu/download|prenesemo]] strežniško različico Ubuntu Linuxa - Ubuntu 7.04 Server Edition (//ubuntu-7.04-server-i386.iso//) in jo zapečemo na CD. Računalnik zaženemo iz CD-ja in pričnemo z namestitvenim postopkom. 
- 
-==== Prepis diska z naključnimi podatki ==== 
- 
-Preden se lotimo šifriranja podatkovnih nosilcev je dobro razmisliti o uničenju starih podatkov na njih oziroma prepis nosilcev podatkov z naključnimi podatki. Prepisovanje diska z naključnimi podatki sicer ni nujno potrebno, je pa priporočljivo. 
- 
-Stare podatke je namreč z nekaterimi programsko forenzičnimi tehnikami (npr. z orodji kot so Autopsy Forensic Browser, Testdisk, Photo Rec, in drugi) mogoče precej enostavno obnoviti, poleg tega pa je prepisovanje diska z naključnimi podatki koristno tudi zato, ker na tako prepisanem disku ni mogoče (oz. je to izredno težko) ugotoviti koliko pravih šifriranih podatkov je na disku in koliko je praznega prostora. 
- 
-Po drugi strani pa je prepisovanje diska z naključnimi podatki precej dolgotrajen postopek. Več o prepisovanju diska z naklljučnimi podatki si preberite v poglavju "Prepis diska ali razdelkov z naključnimi podatki", najbolj optimalno pa je če iz live CDja uporabimo ukaz dd. V primeru prepisovanja trdega diska hda, to izgleda takole: 
-  dd if=/dev/urandom of=/dev/hda bs=16M 
- 
-==== Postopek namestitve Ubuntu strežnika ==== 
- 
-**OPOZORILO**: zaradi [[https://launchpad.net/ubuntu/+bug/71594|napake]] v jedru operacijskega sistema Feisty strežniške različice, le-te ni mogoče namestiti v nekatere virtualne stroje (npr. Vmware in VirtualBox), oziroma je namestitev potrebno kasneje ročno popravljati. 
- 
-Če nameščamo na obstoječi disk, je potrebno razmisliti ali ni smiselno disk prepisati z naključnimi podatki. Ko je disk pripravljen, pričnemo z namestitvijo. Najprej izberemo //Install to the hard disk//. 
- 
-{{:ubuntu:feisty_server_install1.png?200}} 
- 
-{{:ubuntu:feisty_server_install2.png?200}} 
- 
-V naslednjem koraku izberemo slovenski jezik. 
- 
-{{:ubuntu:feisty_server_install3.png?200}} 
- 
-Na vprašanje "//Detect keyboard layout?//" odgovorimo //Ne//. 
- 
-{{:ubuntu:feisty_server_install4.png?200}} 
- 
-Zaradi [[https://bugs.launchpad.net/ubuntu/+source/console-setup/+bug/68843|napake v Ubuntujevem namestilniku]] izberemo tip tipkovnice //U.S. English//. **POZOR**: ker imamo vključeno angleško tipkovnico je treba biti pri vpisovanju gesel pozoren na to, da so črke na slovenski in angleški tipkovnici drugače razporejene! 
- 
-{{:ubuntu:feisty_server_install5.png?200}} 
- 
-{{:ubuntu:feisty_server_install6.png?200}} 
- 
-Če imamo DHCP, bo namestilnik sam zaznal omrežne nastavitve, sicer je potrebno IP naslov vpisati ročno. 
- 
-{{:ubuntu:feisty_server_install7.png?200}} 
- 
-Določimo ime računalnika (npr. //cryptobox//). 
- 
-{{:ubuntu:feisty_server_install8.png?200}} 
- 
-Pri razdeljevanju diska izberemo //Priročnik//. 
- 
-{{:ubuntu:feisty_server_install9.png?200}} 
- 
- 
-==== Razdeljevanje diska ==== 
-Predpostavka je, da imamo trdi disk /hda. Disk razdelimo na štiri razdelke: 
-  * razdelek **/boot**, velikosti 100 Mb - **/hda1** 
-  * razdelek **/** (začasni korenski imenik) (bodoči **cswap**), velikosti 2 Gb - **/hda2** 
-  * neuporabljeni razdelek (bodoči korenski imenik **croot**), velikosti 10 Gb - **/hda3** 
-  * neuporabljeni razdelek (bodoči domači imenik **chome**), izberemo vso velikost, ki ostane - **/hda4** 
- 
-**Še priporočilo**: če se lotimo nameščanja šifrianja na sistem z več operacijskimi sistemi, si pred začetkom postopka naredimo načrt diska - izpišimo si seznam vseh razdelkov (v Linuxu uporabimo ukaz //sudo sfdisk -l//) in si za vsakega označimo kateremu delu sistema (/home, /, in ostali razdelki) bo namenjen. Previdnost pri delu nikakor ni odveč, saj z izbiro napačnega razdelka uničimo podatke na njem. 
- 
-Ko bo namestitev končana, bomo imeli na disku štiri razdelke: /boot, /dev/mapper/cswap (šifrirani izmenljivi prostor (tim. //swap//)), /dev/mapper/croot (šifrirani korenski razdelek) in /dev/mapper/chome (šifrirani domači razdelek). 
- 
-Najprej izberemo prazen prostor in na njem ustvarimo nov razdelek. 
- 
-{{:ubuntu:feisty_server_install10.png?200}} 
- 
-{{:ubuntu:feisty_server_install11.png?200}} 
- 
-Določimo njegovo velikost (npr. 100 MB, 2 GB, itd.), vrsto ter mesto. 
- 
-{{:ubuntu:feisty_server_install12.png?200}} 
- 
-{{:ubuntu:feisty_server_install13.png?200}} 
- 
-{{:ubuntu:feisty_server_install14.png?200}} 
- 
-Določimo priklopno točko (pri prvem /boot, pri zadnjih dveh //Ne priklopi//) ter datotečni sistem (npr. //ext3//). 
- 
-{{:ubuntu:feisty_server_install15.png?200}} 
- 
-{{:ubuntu:feisty_server_install16.png?200}} 
- 
-Ko končamo ustvarjanje prvega razdelka se lotimo naslednjega, ki ga ustvarimo na preostalem praznem prostoru, dokler ne končamo z zadnjim razdelkom. Nato izberemo //Končaj razdeljevanje in zapiši spremembe na disk// 
- 
-{{:ubuntu:feisty_server_install17.png?200}} 
- 
-{{:ubuntu:feisty_server_install18.png?200}} 
- 
-{{:ubuntu:feisty_server_install19.png?200}} 
- 
-Namestilnik bo zaznal, da tretjemu in četrtemu razdelku ni dodeljena priklopna točna in nas vpraša, ali se želimo vrniti nazaj na razdeljevanje. Odgovorimo //Ne//. 
- 
-Prav tako nas opozori, da nismo namenili razdelka izmenljivemu prostoru (swap) in nas vpraša, če se želimo vrniti nazaj. Odgovorimo //Ne//. 
- 
-{{:ubuntu:feisty_server_install20.png?200}} 
- 
-{{:ubuntu:feisty_server_install21.png?200}} 
- 
-{{:ubuntu:feisty_server_install22.png?200}} 
- 
-Izberemo, da se spremembe zapišejo na disk in namestitev se nadaljuje... 
- 
-{{:ubuntu:feisty_server_install23.png?200}} 
- 
-{{:ubuntu:feisty_server_install24.png?200}} 
- 
-==== Dokončanje namestitve ==== 
- 
-Nastavimo uro (ali je sistemski čas nastavljen na UTC). 
- 
-{{:ubuntu:feisty_server_install25.png?200}} 
- 
-Izberemo polno ime za novega uporabnika. 
- 
-{{:ubuntu:feisty_server_install26.png?200}} 
- 
-Izberemo uporabniško ime... 
- 
-{{:ubuntu:feisty_server_install27.png?200}} 
- 
-...in geslo (vpišemo ga dvakrat). 
- 
-{{:ubuntu:feisty_server_install28.png?200}} 
- 
-Sledi nameščanje osnovnega sistema. 
- 
-{{:ubuntu:feisty_server_install29.png?200}} 
- 
-Nameščanja DNS in LAMP strežnika ne izberemo. 
- 
-{{:ubuntu:feisty_server_install30.png?200}} 
- 
-V nekaterih primerih se lahko zgodi, da namestitev obstane oz. namestitveni program "zamrzne". Navadno se to zgodi na 85% namestitve pri nameščanju paketa //update-manager-core//. Gre še za eno precej nepotrebno napako, ki je na srečo rešljiva povsem enostavno. Če nameč pritisnemo Ctrl-Alt-F4 in si ogledamo zapis o postopku namestitve (tim. //installation log//), se namreč izkaže, da se je obesil programski paket //apt//, ki skrbi za prenos in nameščanje programskih paketov. Rešitev je  razmeroma enostavna. Najprej odpremo drugo konzolo s pritiskom na Ctrl-Alt-F2, nato pa pogledamo ID številko procesa programskega paketa //apt// (tim. //process ID// ali //PID//): 
-  ps | grep -i apt 
-PID številka je številka v prvem stolpcu v vrstici, kjer se pojavi niz //apt-get update//. Proces sedaj ubijemo z ukazom (namesto //PID// vnesemo to številko): 
-  kill PID 
- 
-Namestitev se potem brez težav nadaljuje naprej. Čez nekaj časa se namestitev zaključi in sledi prvi zagon sistema. 
- 
-{{:ubuntu:feisty_server_install31.png?200}} 
- 
-===== Namestitev šifriranja ===== 
-Po prvem zagonu sistema bo računalnik najprej našel napak v datotečnem sistemu in pognal program //fsck// ter napake samodejno odpravil. Računalnik se nato ponovno zažene brez težav. To se žal ponovi tudi kasneje, ob prvem zagonu sistema iz šifriranega razdelka. Napaka se kasneje ne pojavlja več, edina težava je, da se ob prvem zagonu sistema računalnik dvakrat zažene. Ko se torej računalnik zbudi, se prijavimo vanj ter vstopimo v administratorski način: 
-  sudo su 
- 
-Naložimo potrebne module: 
-  modprobe dm-crypt 
-  modprobe dm-mod 
-  modprobe aes 
-  modprobe sha256 
- 
-Dodamo module v datoteko /etc/modules, da se ob ponovnem zagonu sistema samodejno naložijo: 
-  echo dm-crypt >> /etc/modules 
-  echo dm-mod >> /etc/modules 
-  echo aes >> /etc/modules 
-  echo sha256 >> /etc/modules 
- 
-Namestimo program cryptsetup: 
-  apt-get install cryptsetup 
- 
- 
- 
- 
-==== Priprava šifriranega korenskega razdelka ==== 
- 
-Sedaj formatiramo tretji razdelek (v danem primeru z datotečnim sistemom //ext3//) - bodoči šifrirani korenski imenik (naprej vpišemo //YES//, s čimer se strinjamo s formatiranjem, nato pa dvakrat vpišemo LUKS geslo): 
-  luksformat -t ext3 /dev/hda3 
- 
-Če želimo uporabiti večji šifrirni ključ (256-bitno AES šifriranje) uporabimo ukaz (tako ustvarjen razdelek bomo morali kasneje ročno formatirati z ukazom //sudo mkfs.ext3//): 
-  cryptsetup --key-size 256 luksFormat /dev/hda3 
- 
-Dobimo približno takle izpis: 
- 
-  Creating encrypted device on /dev/hda3... 
-   
-  WARNING! 
-  ======== 
-  This will overwrite data on /dev/hda3 irrevocably. 
-   
-  Are you sure? (Type uppercase yes): YES 
-  Enter LUKS passphrase:  
-  Verify passphrase:  
-  Command successful. 
-  Please enter your passphrase again to verify it 
-  Enter LUKS passphrase:  
-  key slot 0 unlocked. 
-  Command successful. 
-  mke2fs 1.40-WIP (14-Nov-2006) 
-  ... 
-  ... 
-  Writing superblocks and filesystem accounting information: done 
-   
-  This filesystem will be automatically checked every 39 mounts or 
-  180 days, whichever comes first.  Use tune2fs -c or -i to override. 
- 
-Formatirani razdelek priklopimo kot //croot//: 
-  cryptsetup luksOpen /dev/hda3 croot 
- 
-Vnesemo geslo in razdelek je priključen: 
-  Enter LUKS passphrase:  
-  key slot 0 unlocked. 
-  Command successful. 
- 
-Če ga nismo formatirali z luksformatom, to storimo sedaj: 
-  mkfs.ext3 /dev/mapper/croot 
- 
-Razdelek priklopimo na /mnt: 
-  mount /dev/mapper/croot /mnt 
- 
-Nanj prekopiramo datoteke iz korenskega razdelka (to traja nekaj časa, med parametri lahko dodamo //-v// (verbose), da dobimo natančen izpis kaj se trenutno kopira): 
-  cd /mnt 
-  cp -xa / . 
- 
- 
- 
- 
-==== Priprava zagonskih skript in okolja šifriranega korenskega imenika ==== 
- 
-Z ukazom //chroot// zamenjamo korenski imenik v bodoči šifrirani korenski imenik (**POZOR: potrebno je paziti na poti!**): 
-  cd / 
-  mount --bind proc mnt/proc 
-  mount --bind sys mnt/sys 
-  mount --bind dev mnt/dev 
-  chroot /mnt 
- 
-Priklopimo zagonski (/boot) razdelek: 
-  mount /dev/hda1 boot 
- 
-Popravimo datoteko /etc/crypttab (zadnji vnos zaenkrat še zakomentiramo!): 
-  nano etc/crypttab 
- 
-  # <target name>   <source device>      <key file>           <options> 
-  croot             /dev/hda3            none                 luks 
-  # cswap             /dev/hda2            /dev/urandom         swap 
-  # chome             /dev/hda4            /etc/keys/home.key   luks 
- 
-Popravimo datoteko /etc/fstab (vnosa za cswap in chome zaenkrat še zakomentiramo!): 
-  nano /etc/fstab 
- 
-Zakomentiramo trenutni korenski imenik (**pomembno, tega ne smemo pozabiti**) in dodamo vnos za croot, cswap in chome razdelke (slednja dva sta **zaenkrat** še zakomentirana): 
-  /dev/mapper/croot       /       ext3    defaults,errors=remount-ro      0      1 
-  # /dev/mapper/cswap       none    swap    sw      0       0 
-  # /dev/mapper/chome       /home   ext3    defaults        0       2 
- 
-Datoteka /etc/fstab sedaj izgleda približno takole (UUID-ji so simbolični): 
-  # /etc/fstab: static file system information. 
-  # 
-  # <file system> <mount point>   <type>  <options>       <dump>  <pass> 
-  proc            /proc           proc    defaults        0       0 
-  # /dev/hda2 
-  #UUID=e8363198-819b-44e0-bba5-7b4dd58eef4e /               ext3    defaults,errors=remount-ro 0       1 
-  /dev/mapper/croot       /       ext3    defaults,errors=remount-ro      0      1 
-  # /dev/mapper/cswap       none    swap    sw      0       0 
-  # /dev/mapper/chome       /home   ext3    defaults        0       2 
-  # /dev/hda1 
-  UUID=2fca8417-07de-4a7b-a8cb-4cfeddc89c7d /boot           ext3    defaults        0       2 
-  /dev/hdc        /media/cdrom0   udf,iso9660 user,noauto           0 
-  /dev/fd0        /media/floppy0  auto    rw,user,noauto  0       0 
- 
-Naredimo ključ za bodoči chome: 
-  cd etc/keys 
-  dd if=/dev/urandom of=home.key bs=1k count=1 
- 
-Šifrirni ključ za chome se bo nahajal na korenskem razdelku, zato sistem med zagonom izpiše opozorilo, da to ni najbolj varno (izpiše se: //INSECURE MODE FOR /etc/home/key// - zagon sicer poteka povsem normalno in možno je, da nepozorni opazovalci opozorila sploh ne bodo opazili). To sicer drži, vendar se ključ nahaja na šifriranem razdelku. Če želimo, pa lahko za razdelek /home določimo priklop z geslom (in to vnesemo v //crypttab//), vendar bomo potem ob zagonu morali vpisati dve gesli. 
- 
-Naredimo novo zagonsko skripto initrd: 
-  cd /boot 
-  update-initramfs -u 
- 
-Popravimo Grub vnos (v vrstico //kernel// dodamo /dev/mapper/croot): 
-  nano /boot/grub/menu.lst 
- 
-  title           Ubuntu, kernel 2.6.20-15-server 
-  root            (hd0,0) 
-  kernel          /vmlinuz-2.6.20-15-server root=/dev/mapper/croot ro quiet nosplash 
-  initrd          /initrd.img-2.6.20-15-server 
-  quiet 
-  savedefault 
- 
-Žal je potrebno omenjeni Grub vnos ročno popravljati ob vsaki menjavi jedra operacijskega sistema. Problem lahko delno rešimo tako, da v datoteki /boot/grub/menu.lst poiščemo vrstico, ki vsebuje niz **# kopt=root=**. 
-Vrstica se nahaja bolj na začetku datoteke in sicer v oddelku: 
-  ## ## Start Default Options ## 
-  ## default kernel options 
-  ## default kernel options for automagic boot options 
- 
-Izgleda približno takole (UUID je simboličen): 
-  # kopt=root=UUID=56161a45-6963-463f-b2a6-b2a47f48bac7 ro 
- 
-Vrstico spremenimo takole (pozor, vrstica naj ostane enojno zakomentirana (#)!): 
-  # kopt=root=/dev/mapper/croot ro 
- 
-Ob vsaki nadgradnji ali menjavi jedra oziroma vsakič, ko bomo z administratorskimi privilegiji ročno pognali ukaz //update-grub//, se bo //kernel// vrstica v Grub vnosu spremenila v: 
-  kernel          /vmlinuz-2.6.20-15-server root=/dev/mapper/croot ro quiet splash 
- 
-S tem smo rešili težavo pri določanju korenskega imenika, žal pa se v Grub vnosu še vedno pojavi predstavitveno okno (//splash screen//), ki ne omogoča vnosa LUKS gesla in bo zato potrebno pri omenjeni vrstici **splash** ročno spremeniti v **nosplash**! 
- 
-Zapustimo spremenjeni korenski imenik (croot): 
- 
-  * pritisnemo **Ctrl-D** 
- 
-Sledi ponoven zagon sistema: 
-  reboot 
- 
- 
- 
- 
-==== Priprava šifriranega izmenjalnega prostora (swap) in domačega razdelka (/home) ==== 
- 
-Sedaj se zbudimo v šifriranem sistemu (zaenkrat je šifriran samo korenski imenik). Na začetku (preden se sistem naloži), nas le-ta vpraša za LUKS geslo, brez katerega ni mogoče zagnati sistema: 
- 
-  Starting up ... 
-  Loading, please wait... 
-  Setting up cryptographic volume croot (based on /dev/hda3) 
-  Enter LUKS passphrase:  
- 
-Ko se sistem naloži, ponovno vstopimo v administratorski način: 
-  sudo su 
- 
-Če želimo, lahko prepišemo stari korenski imenik z naključnimi podatki: 
-  dd if=/dev/urandom of=/dev/hda2 bs=16M 
- 
-Če tega ne storimo pa je potrebno formatirati razdelek, kjer bo v bodoče šifrirani izmenjalni prostor (tim. swap - aktiven bo postal ob naslednjem zagonu sistema), sicer se naprava /dev/mapper/cswap ob zagonu noče priklopiti: 
-  mkswap /dev/hda2  
- 
-Dobimo približno takle izpis: 
-  Setting up swapspace version 1, size = 1998737 kB 
-  no label, UUID=59a4dbb5-913c-4d9f-9a06-76dc232cd5af 
- 
-Naredimo podimenik na /dev (rešitev za [[https://bugs.launchpad.net/ubuntu/+source/cryptsetup/+bug/105266|napako št. 105266]]): 
- 
-  mkdir /dev/.static/dev/mapper 
- 
-Formatiramo bodoči domači (/home) razdelek (trenutno nastavimo navadno geslo, kasneje pa bomo dodali datoteko s ključem). Tudi v tem primeru lahko uporabimo večji ključ, na podoben način kot zgoraj: 
-  luksformat -t ext3 /dev/hda4 
- 
-Priključimo šifrirani domači razdelek (vnesti je potrebno njegovo LUKS geslo) in ga priklopimo na /mnt: 
-  cryptsetup luksOpen /dev/hda4 chome 
-  mount /dev/mapper/chome /mnt 
- 
-Na bodočem šifriranem domačem razdelku ustvarimo uporabniški imenik za trenutnega uporabnika (npr. za uporabnika matej) 
-  cd /mnt 
-  mkdir matej 
-  chown matej.matej matej 
- 
-Sedaj razdelku //chome// dodamo datoteko s ključem (razdelek bo sedaj dostopen z geslom **in** datoteko s ključem, ki se nahaja na /etc/keys/home.key): 
-  cryptsetup luksAddKey /dev/hda4 /etc/keys/home.key 
- 
-Vnesemo trenutno LUKS geslo: 
-  Enter any LUKS passphrase:  
-  key slot 0 unlocked. 
-  Command successful. 
-Če želimo, lahko LUKS geslo sedaj odstranimo (razdelek pa ostane dostopen samo z datoteko s ključem). 
- 
-Odkomentiramo //cswap// in //chome// vnos v /etc/crypttab: 
-  nano /etc/crypttab 
- 
-Odkomentiramo //cswap// in //chome// vnos v /etc/fstab. 
-  nano /etc/fstab 
- 
-Ponovno zaženemo sistem: 
-  reboot 
- 
- 
- 
-==== Vstop v šifrirani sistem in namestitev namiznega okolja ==== 
- 
-Po ponovnem zagonu preverimo, če so šifrirani razdelki priključeni: 
-  ls /dev/mapper 
- 
-Dobimo približno takle izpis, iz katerega sledi, da so priključeni vsi trije šifrirani razdelki: 
-  chome  control  croot  cswap 
- 
-Preverimo tudi, če je izmenjalni prostor (swap) aktiven na cswap razdelku: 
-  cat /proc/swaps 
- 
-Dobimo približno takle izpis: 
-  Filename                                Type            Size    Used    Priority 
-  /dev/mapper/cswap                       partition       1951888 0       -1 
- 
-Sedaj je trdi disk od koder se sistem zažene v celoti (razen /boot razdelka) šifriran. Sledi namestitev namiznega okolja Ubuntu Desktop. Najprej je potrebno v seznamu skladišč programskih paketov zakomentirati vnos, ki kot enega izmed skladišč uporablja namestitveni CD-ROM: 
-  sudo nano /etc/apt/sources.list 
- 
-Zakomentiramo vrstico: 
- 
-  # deb cdrom:[Ubuntu-Server 7.04 _Feisty Fawn_ - Release i386 (20070415)]/ feisty main restricted 
- 
-Sledi osvežtev seznama programskih paketov in namestitev paketa ubuntu-desktop: 
-  sudo apt-get update 
-  sudo apt-get install ubuntu-desktop 
- 
-Namesto klasičnega Ubuntujevskega namizja Gnome (ubuntu-desktop) lahko namestimo KDE (kubuntu-desktop) ali Xfce (xubntu-desktop), slednji je primeren predvsem za počasnejše računalnike in računalnike z manj pomnilnika RAM. 
- 
-Namestitev namiznega okolja je lahko precej dolgotrajna, saj sistem iz skladišč programskih paketov na internetu na naš računalnik prenese več kot 450 Mb programskih paketov. Pritisnemo //enter// in prenos ter nameščanje se prične: 
- 
-  Potrebno je dobiti 470MB/484MB arhivov. 
-  Po odpakiranju bo uporabljenega 1649MB dodatnega prostora na disku. 
-  Ali želite nadaljevati [Y/n]? 
- 
-Proti koncu namestitve je bo potrebno še ročno označiti katere resolucije zaslona naj podpira grafični strežnik (praviloma so pravilne resolucije že označene in se s tipko //tab// samo pomaknemo na gumb "V redu" ter pritisnemo //enter// ali preslednico): 
- 
-{{:ubuntu:feisty_ubuntu-desktop_install32.png?200}} 
- 
-Nastavitve grafičnega strežnika lahko kasneje ročno spremenimo z ukazom, kjer izberemo gonilnik grafične kartice, monitor, resolucijo in ostale podatke potrebne za delovanje grafičnega strežnika: 
-  sudo dpkg-reconfigure xserver-xorg 
- 
- 
- 
- 
-==== Namestitev namiznega jedra operacijskega sistema ter odstranjevanje strežniškega jedra ==== 
- 
-Nato namestimo namizno različico jedra operacijskega sistema (to sicer ni nujno potrebno, saj sistem deluje tudi s strežniško različico jedra, namestitev generične različice sicer iz interneta prenese okrog 24 Mb programskih paketov) : 
-  sudo apt-get install linux-image-generic 
- 
-Pred ponovnim zagonom sistema moramo ročno popraviti Grub menu: v vrstico //kernel// namesto //splash// napišemo //nosplash// (vnos določa, da sistem zaženemo brez tim. predstavitvenega okna (ang. //splash screen//), saj z  
kako/varnost/cripto2.1190714598.txt.gz · Last modified: by mrcin