Archive

Archive for July, 2007

Ubuntu & PKI

July 30th, 2007 Comments off

PKI finns idag i de flesta tillämpningar som körs under Linux, om stödet inte finns med från början så går det i de flesta gångerna att lägga till det i efter hand och är man lite händig själv så kan man fixa till PKI i det mesta men då får man vara beredd att sätta sig vid tangentbordet själv :)

Efter att ha konstaterat att PKI är ganska supporterad i Ubuntu/Linux, så kom turen till att testa med smartkort. För att smartkort ska funka så behövs en drivrutin till läsaren och CSP programvara som mappar mellan rådande standard och smartkortet. De standard som används i Linux när det gäller smartkort är PKCS11 och korten är antigen PKCS15 eller så emuleras PKCS15 av CSP.

Det finns två projekt som kommit längst i Linux när det gäller smartkort, OpenSC som kan hantera många kort med filsystem och RSA modul är den ena och Musclecard so kan hantera många java-baserade kort är den andra. Jag började med att testa OpenSC och har mer eller mindre fastnat för den ;)

OpenSC klarar av att prata med smartkort och läsare baserade på CT-API, PC/SC och OpenCT. läsaren som jag använder är Gemplus GemPC Twin som är ett USB CCID och kommunicerar med PC/SC. det som behövdes för att få fat på läsaren är libccid(driver för CCID USB Readers), Pcscd(PC/SC Middleware) och OpenSC(PKCS11/15 tools and API) med tillhörande plugins för exempelvis Mozilla.

Om man ska jämföra lite så måste jag säga att jag saknar den kompletta CSP implementationen som ju finns i Windows! I Linux så stödjer alla ett gränssnitt mot PKCS11 men den finns inte i själva OS:et eller på ett automatiserat sätt utan måste pluggas in i varje applikation eller de lav systemet på ett mer eller mindre mauellt sätt. Den manuella aktiviteten är nödvändig i början och allt brukar funka om man byter kort eller läsare givet att det nya kortet och den nya läsaren är kompatibla med systemet.

Jag har testat och kört Smartkort i Firefox samt lokal smartkortlogon i Ubuntu. För Firefox så behöver man manuellt lägga till en modul för att kunna använda smartkortet via OpenSC, efter det så finns kortet och de cert och nycklar för HTTPS/SSL inloggning. Lokalinloggnig med smartkort i Ubuntu var lite mer av ett äventyr, det fanns färdiga PAM moduler men ingen av de funkade, man fick bara ett fel meddelande om att signeringen inte kunnde genomföras, efter lite tester så visade det sig att det meddelande som skickades till kortet för signering var för långt, det är troligtvis en miss i testprocessen där man inte räknat med begränsningar som beror på korten eller mjukvaran runt dessa. Efter en justering och en ny kompilerad pam-modul så funkade det utmärkt :)

Det finns två varianter av smartcardlogon som pam-modul, en som inte genomför någon kontroll av certkedjan och CRL:en och en som följer konstens alla regler och kan automatiskt mappa användare i systemet beroende på egenskaper i det cert som finns på kortet. Den första av dessa funkar fint med selfsigned certfikat och är ganska enkel att sätta upp då man lägger certfikatet i en fil i användarens hemmamapp, vid inloggning kommer pam-modulen att försöka hitta lämpliga nycklar på det kort som sitter i läsaren som matchar certet, den kommer sedan att be kortet signera lite slumpdata för att sedan verifiera signaturen mot det certo och nyckel som finns i användarens hemmamapp.

Smartkortlogon via SSH ska enligt uppgift från Johannes G. funkar bra, har själv inte hunnit testa dett men hoppas kunna återkomma om det.

/Hasain

Categories: CSP, OpenSC, PKCS, PKI, Security, Smart Card, SSL, Ubuntu Tags:

Ubuntu & säkerhet

July 27th, 2007 Comments off

Det finns en mängd olika guider om hur man ska bete se för att säkra en standard installation av div OS, detta är inte något sådant utan bara min egna tankar om en nyinstallation Ubuntu!

Det finns två frågor att ta ställning till:

  1. Kan någon komma åt mitt system via nätverket?
    Nej, jag kommer inte att exponera några tjänster, och är det så att jag gör det så ska en brandvägg kontrollera vem kan ansluta alternativ ska detta aktiveras vid behov, rent manuellt altså :)

  2. Kommer jag att köra godtycklig kod på min maskin?
    Kanske?! jag kommer nog att surfa lite och så vill man installera lite appar och sånt. Då är det viktigt att inte vara inloggad som root och dessutom vara försiktig vart man tar vägen och vad browsern får göra.

    Det första fixar Ubuntu lika snyggt som exempelvis UAC i Vista, det andra fixar vi med lite plugins till firefox som exempelvis noscript och adblock och så fixar vi en hosts fil som tar hand om adresser till kända bråkmakare som reklamsiter och annat smått och gått man inte vill ha kontakt med.

När den gäller säkerheten i filsystemet så SKA filsystemet vara krypterat, om du inte kan ha ett krypterat filsystem så tänk på att skydda single user logon via ett lösenord(MD5) i menu.lst och glöm inte att ställa in rättigheterna ordentligt i filsystemet, detta speciellt om det finns flera olika användare i systemet.

Hosts filer finns det gott om på nätet, prova "mvps hosts" i google, ett händigt skript för att styra brandväggen hittar du bland bifogade filer.

Nästa inlägg kommer att handla om att glömma lösenorden i Ubuntu och börja köra certfikat och PKI.

/Hasain

Categories: PKI, Security, Ubuntu Tags:

Ubuntu, detta har hänt

July 24th, 2007 Comments off

Jag kör fortfarande Ubuntu på heltid och är rätt så nöjd med resultatet, allt funkar bra och det som inte kan köras i Linux får rulla i VMWare server och man har nu vant sig vid att saker och ting funkar som de gör.

Man har dessutom vant sig vid att vissa personer inte kan låta bli att kommentera när de ser en Linux, har hört många båda mer och mindre glada kommentarer under den tid som varit.

Hur ser min Ubuntu ut?
- Allt utom boot filerna är krypterat detta inkluderar swap partition och annan slask disk.

Krypteringen hanteras av dm-crypt och är rätt smidig att använda. Man kan köra med låååååååååååånga lösenord eller usb-sticka eller i princip vad man vill som hemlighet för dm-crypt. Enda förutsättningen är att den finns tillgänglig tidigt under boot-processen.

Installationen/crypteringen av partitionerna var ganska enkel, man skapar sina råa partitioner, crypt-formaterar dessa och skapar mappningar som sedan används som de partitioner som OS och data installeras till, det går dessutom utmårkt att cryptera swap och liknande partitioner.

Där har Ubuntu en fördel jämfört med Bitlocker i Vista som bara hanterar system-partitionen. Den fördel Bitlocker har är användningen av TPM för att uptäcka om någon har manipulerat med biso eller boot-koden. Så för att komma till motsvarande nivå så har jag ställt in krav på TPM inloggning när min dator startar, detta förhindrar effektivt olovliga försök att starta datorn när jag inte finns i närheten.

Hur hanterar man då en trojaniserad boot-partition? Så som jag ser på saken så finns det två alternativ:

  • Lämna aldrig datorn så att någon kan fixa med disken, TPM-lösenordet gör att någon måste plocka ut disken och använda den i en annan maskin för att kunna trojanisera den.
  • Använd Drive Lock, disken svarar inte på läs och skriv kommandom om inte rätt lösenord presenteras, detta ger mig möjlighet att veta att ingen kan manipulera min disk under lunchen

Man är ju lagom paranoid och då gäller att inte åter använda några lösenord eller hur, så för att starta min dator så måste jag knappa in minst 3 olika lösenord, ca 45 tecken :)

Ja, jag har konfigurerat autologon i burken, om någon kommer åt den  i okrypterat format så hjälper inga lösenord oavsett OS ;)

Hur gör jag med externa diskar? TrueCrypt är mycket trevlig att använda, och fungerar på flertalet OS så jag använder den på mina diskar som ska hålla data som är känsligt.

Tills vi möts i nästa inlägg så röstar jag på Micke Nyströms förslag:

“Jag vill inte ha en monolog, jag vill ha en dialog, men här i Svergie tycks det vara kört, eller?” läs hela inlägget här.

/Hasain

Categories: Uncategorized Tags: