Tag: Soekris

  • Tid til forandring

    I den sidste tid har jeg gået med opgraderingstanker med hensyn til min Soekris Router. Og det er nu sket. Så nu kører routeren OpenBSD 4.4 i stedet for 4.1 som hidtil.
    Så nu burde jeg være lidt mere med på noderne! 😀

    Jeg ved ikke om der faktisk bliver en mærkbar forskel, men nu når man går så meget op i sikkerhed som jeg prøver på, så nytter det jo ikke at køre en næsten 1 1/2 år gammel udgave af et OS (der godt nok er bygget med udgangspunkt i sikkerhed).

    Overgangen er gået rimelig smertefrit. Der var dog et par problemer med isakmpd/ipsec. Jeg fandt ud af efter lidt tid at det var fordi jeg have lavet permissions forkerte på de respektive konfigurationsfiler. Da de blev rettet til så virkede det hele 🙂
    Det var vist hvad der var at sige om det.

  • Oppe igen

    Op til flere har bemærket at krok.dk har haft en del nedetid på det sidste. Det skyldes et par ting
    1. Jeg fik opgraderet serveren, og så var der et eller andet der gik i spunk, så jeg måtte geninstallere. I forbindelse med geninstallation fik jeg smidt lidt mere RAM i serveren, så nu er der altså hele 1073741824 bytes aka 1 GB RAM i spanden. Det er ikke meget i nutidens samfund, men det har givet VÆSENTLIG bedre ydelse end de 512 MB!!!

    2. Jeg havde budt på en Cisco SOHO router på qxl.dk og faktisk vundet den. Woohoo tænkte jeg så. Nu skal der dælme leges med Cisco grej. Jeg fik konfigureret iper, jeg fik konfigureret firewall, NAT og hvad der ellers skal til. Lækkert at få fornemmelsen af at det man har brugt så lang tid på at lære faktisk virker i virkeligheden. MEN!!!! Der var åbenbart noget galt med DHCP clienten (den der skaffer mig en IP fra min internet udbyder), og derfor fik jeg tildelt den forkerte IP. Når jeg får den forkerte IP, ja så virker krok.dk ikke 🙁

    Så jeg fik nosset mig sammen til at lave mig et firewall script til OpenBSD så min dyrbare kunne fungere som firewall og ikke bare – som hidtil – en dum router.

    Og til dem der bliver ved med at spørge: Ja ja ja. Jeg skal nok komme med flere afsnit af krokcast. Jeg skal bare lige have tiden til at optage dem.
    Men min tid på det sidste er gået med at være vikar (det har jeg dog meldt fra igen), handle juleindkøb og bage julebag. Jeg tror jeg når det hele inden den 24. December…. 2018.

    Til sidst så skal der da siges tillykke. Og der skal siges tillykke til Jannik og lise der er blevet forældre for anden gang. De har fået en sød lille pige. Sanne og jeg var ovre og se hende da hun kun var 5 dage gammel! 😀 Nøj hvor er hun nuttet! 😀
    Tillykke skal det da også lyde til Karen og Gorm, der også er blevet forældre til en dreng. For dem er det dog første gang. Vi var så lige oppe og hilse på ham (og forældrene). Han er da også bare en kær størrelse.

    Det var vist hvad jeg kunne fortælle i dag 🙂

  • At få en Soekris i luften 2

    I sidste afsnit fik jeg installeret OpenBSD på min Mac via Parallels. Det gik sådan set fint nok. Liiige indtil jeg ordentlig fik nærlæst den side på 256.com jeg havde tænkt mig at følge. Dang hvor var det i grunden en langhåret omgang. Så jeg droppede tanken, og begyndte at lede efter en anden måde at installere OpenBSD på en Soekris. Efter lidt googlen frem og tilbage finder jeg frem til denne side. Hold da op tænker jeg, mens jeg læser den igennem et par gange, det ser da ud til at jeg kan finde ud af det. Du skal lige have i baghovedet at jeg ikke har prøvet at installere OpenBSD før, så jeg skal have det hele skåret rimelig meget ud i pap. Jeg er dog ikke helt ny inden for Unix verdenen, da jeg jo som bekendt er Mac OS X bruger, som er bygget på Apples egen Unix flaf.

    Jeg gider ikke at skrive alle kommandoerne ned for så bliver det sgu en fortælling. Så jeg henviser hele tiden til at følge manualen, også nævner jeg hvis jeg gør det på en anden måde end manualen. Så det her er lidt mere en fortælling om hvad jeg har observeret under installation.

    Denne fremgangsmåde går ud på at man laver en DHCP server og en TFTP server. Man sætter så DHCP serveren til at tildele en IP til Soekris plus en IP på en TFTP server hvor de ligger en pxeboot fil (netboot).
    Jeg finder mig en spand, der kører en CentOS-distro (Linux), og får konfigureret den med de services som det ovenstående link foreskriver. Jeg får downloadet pxeboot og bsd.rd fra ftp.openbsd.dk og får dem lagt i filen
    Jeg får mokket et netværkskabel i Soekris, samt et serielkabel (NULL modem) så jeg kan følge med i hvad der sker via en hyperterminal. Da jeg ikke har en almindelig langsom serielport i min Mac vælger jeg lige at bruge den selvsamme Linux maskine som Terminalcomputer. (Husk at Soekris kører 19200 i stedet for 9600 som de fleste serielle dimser gør).
    Så plugger jeg kabel i, ser til min glæde at Soekris går i gang med Power-On Self Test (POST). Og ganske som guiden beskriver bliver jeg bedt om at trykke ctrl+p inden 5 sekunder. Jeg gør dette, og skriver efterfølgende boot F0.
    Det ligner en succes. Jeg kan se at den finder en DHCP server. Den får tildelt en IP og det begynder VIRKELIG at ligne succes… Da jeg får beskeden ”tftp: Permission denied”. Shit. Det forekom mig lidt underligt, da der jo ikke er de store muligheder for permissions i TFTP. Da opdager jeg at jeg ikke har gjort det helt rigtigt. I punkt 2. i manualen står der at man skal lave en fil der hedder etc/boot.conf , og det havde jeg åbenbart glemt. DOH. Det skal her nævnes at mappen ‘etc/’ skal ligge i tftproot. Jeg får lavet filen og prøver til igen. POST, ctrl+p, boot F0. Mon der er succes. For at citerer mig selv: ”FUCKING YES! Det virker jo”.

    Så jeg skynder mig at fortsætte. Installationen kører derudaf. Jeg husker at lave 3 partitioner som manualen foreslår.
    Det går derudaf, men så laver jeg en dum fehler, som betød at jeg blev nødt til at geninstallere systemet. Okay, jeg kunne sikkert godt på en eller anden obskur måde have redet trådene ud, men jeg droppede det og geninstallerede. Det jeg gjorde var, at da jeg blev spurgt om jeg ville bruge com0 (seriel forbindelse) som standard consolport, svarede jeg nej. Det er lidt/meget dumt, for så er der ikke rigtig nogen måde at komme i kontakt med Soekris, da jeg på daværende tidspunkt ikke havde konfigureret andet end et interface. Så derfor valgte jeg altså at geninstallere. Så fik jeg jo også lidt øvelse i installation af OpenBSD.

    Jeg får installeret, bootet i singleuser mode, logget ind og jeg er klar!

    Nu er det så at jeg skal i gang med at lave et read-only filsystem, for at spare på read/write til CF kortet. Man skal jo så lige huske at et OS har forbandet svært ved at køre read-only, da der altid er nogle tmp filer og andre ting der skal laves. Det er så ideen at gemme dem i hukommelsen. Altså lave en ramdisk, og så mounte resten af diskene read-only. Ideen er god nok, men lad os se om det virker.
    Jeg følger guiden slavisk og får kopieret de filer jeg skal og tilføjet et par linjer her og der i /etc/rc.

    Nu er det så jeg skal reboote.

    Det ser godt ud. Umiddelbart er der ikke nogle fejl. Jeg ser lige i /etc/fstab. Den er god nok. min root partition står til Read-only.
    Jeg laver en df -h og jeg kan se at min Ramdisk (mfs) faktisk ER mountet.
    Jeg prøver at se om jeg kan se filerne på Ramdisken. Det kan jeg sørme.
    Og så vil jeg lige teste det allervigtigste så prøver jeg at lave en touch /testfile. Her knækker filmen så, for jeg kan fandme oprette en fil. Det var jo ikke meningen. Nu begynder jeg så at kigge manualen igennem et par gange for at se om jeg skulle have glemt noget. Men jeg finder ikke lige noget jeg har glemt.
    I filen /etc/rc finder jeg så ud af at root bliver mountet i rw mode, og det overruler åbenbart /etc/fstab.
    Jeg tænker så at jeg vel bare kan lave lave en mount kommando i /etc/rc hvor jeg mounter root som read-only. Det kan jeg sådan set godt. Men det resulterede i at alle andre services der prøver at skrive til filsystemet under opstart ikke får lov, og jeg står nu med en Soekris der kun virker halvt. Simple logik løser dog denne opgave: jeg tilføjer mount kommandoen til sidst i /etc/rc. Det virker. Hurra! Jeg er nu ejeren af en Soekris der er mountet i read-only. Har jeg så flere problemer? Nej, for det hedder opgaver der skal løses. Men da jeg prøver at få adgang via ssh fra min mac får jeg en permission denied kastet i hovedet. Det var dog mærkeligt tænkte jeg, og kiggede lidt i logfilen for at se om jeg kunne finde årsagen til dette. Og her lærer jeg så noget nyt om ssh. Når man logger ind via ssh, ændres permissions på /dev/ttyp00 (eller noget i den stil). Men det kan den jo ikke for root er mountet som read-only. DOH.
    Denne sag kan ses fra to sider.

    1. Det er lidt dumt for så kan jeg jo ikke administrere min Soekris via ssh og jeg bliver nødt til at have en fysisk forbindelse til boxen. Det var ikke meningen.
    2. Det er lidt smart for så kan jeg jo ikke administrere min Soekris via ssh og jeg bliver nødt til at have en fysisk forbindelse til boxen. Det var ikke meningen, men det gør også min Soekris ret sikker over for hacker indbrud. For selv om det skulle lykkes en hacker at få fat i min adgangskode, så kan han/hun ikke logge ind. Jeg tænker så lidt videre og ser endnu en fordel. Alle forsøg bliver logget (til min ramdisk) og man kan se om forsøge lykkedes eller ej. Kan du se det smarte endnu? (det er fair nok hvis du ikke kan). Hvis ikke så forklarer jeg lige disse to senarier:
      1. jeg ser i logfilen at nogen har forsøgt at logge ind, men det er ikke lykkes for dem. Det er jo ikke så godt, men ingen skade sket. Jeg kan fremover være opmærksom på om det er et enestående tilfælde eller om det er noget der ser ud som et angrebsforsøg.
      2. Jeg ser i logfilen at nogen har forsøgt at logge ind og at det faktisk er lykkes for dem. Det må jo betyde at de har været i besiddelse af et gyldigt brugernavn/password. Nu kan jeg så vurdere situationen om min (måske mit firmas) sikkerhed er blevet kompromitteret og om der skal skiftes nogle passwords.
        Som jeg ser det har jeg faktisk lavet mig noget der ligner en honeypot. Altså en computer, der skal lokke folk i en fælde. Det synes jeg er smart. Det kan så godt være at denne sikkerhed kan omgås, men det er vist ikke sådan lige til, som jeg ser det.

    Jeg ville under normale omstændigheder have valgt at satse på case 1 og lave min Soekris til en Honeypot. Men da det er mit legetøj og jeg ikke gider til at sidde inde i mit lille serverrum hvergang jeg skal lave en ændring i konfigurationen, så valgte jeg case 1.

    Så jeg finder /etc/rc frem igen og fjerner mount kommandoen.
    Herefter sætter jeg mig ned og overvejer hvad pokker jeg kan gøre ved denne sag. I samråd med Bent (en lærer på EUC Syd, Sønderborg, der underviser i Unix) kommer vi frem til at nu når /tmp /var/log /var/run er blevet flyttet over på Ramdisken, så er det jo egentlig ret begrænset hvor mange andre steder operativ systemet står og læser/skriver til ved normal drift. Og strengt talt er der jo ikke nogen grund til at lave filsystemet read only. Det er selvfølgelig noget jeg vil kigge på senere, men jeg gider ikke bruge mere tid på et read-only system i denne omgang.

    Det var vist lige hvad jeg havde at sige om installationen af OpenBSD på Soekris. Hvis du har spørgsmål eller du mener du kan bidrage med noget konstruktivt til konfigurationen (f.eks. hvordan jeg laver min root til read-only), så sig frem. Husk det er føste gang jeg kigger på OpenBSD, så jeg vil ikke lade som om jeg er en haj!

    Næste gang vil jeg fortælle lidt om mit møde med pf (Packet Filter) som er OpenBSDs firewall.

  • At få en Soekris i luften 1

    Om dette er en guide ved jeg ikke, men det er i hvertfald en beskrivelse af min oplevelser igennem et af mine talrige projekter.
    Jeg har fået nyt legetøj. En Soekris 4801-50. Hvis du ikke lige helt er med på hvad det er så er det en lille computer, der er forholdvis begrænset, og ikke har de store resourcer at diske op med. Du kan læse mere om den her.
    Men hvad skal jeg så bruge sådan en lille ting ting. Jaeh. Den er primært lavet til netværk, og som man kan se (hvis man følger linket), så har den 3 ethernetporte. Så er den jo perfekt til at være gateway og firewall i mit lille hjemme net.

    1 port til internet.
    1 port til LAN.
    1 port til DMZ (til min server).

    Nu har jeg hardwaren på plads, men en computer er ikke meget værd uden software. Første step er et Operativsystem. Men hvad kører sådan en? Det er en 486 CPU så der skulle være rimelige chancer for at finde et operativsystem der passer. Mit naturlige valg faldte på OpenBSD. Jeg har længe været fascineret af OpenBSD da sikkerheden er i absolut højsæde, og så er det jo gratis. Men for at sige det lige ud, så har jeg ikke en skid ide om hvordan man installerer OpenBSD på en Soekris. Så jeg tyer til det bedste hjælpeværktøj jeg kender; Google.Ved at søge på Soekris og OpenBSD finder jeg frem til denne side.

    Her læser jeg mig til at man skal starte med at have en spand der kører OpenBSD i forvejen, og så kopierer man de nødvendige filer over på et CF kort som man så putter i Soekris’en.
    Min første problemstilling er at jeg skal have mig en computer at installere OpenBSD på. Umiddelbart har jeg ikke nogen ekstra computer, jeg lige kan bruge til det, og jeg vil være ked af at skulle begynde at installere OpenBSD på min Mac. Så slår det mig: Jamen jeg kan jo installere OpenBSD på min Mac via Parallels. Parallels er et program, der kan bruges til at køre forskellige operativ systemer under MacOS X. Smart.

    For at komme i gang går jeg ind på OpenBSD og får hentet en installer til den aktuelle version, 4.1 (der kommer snart en 4.2).
    Installerering af OpenBSD foregår ved at man downloader en fil på ca 5 MB, brænder den på en CD og booter op fra den. Her kører man så en installer, der installerer de komponenter man vælger. Det hele er beskrevet meget simpelt her.

    Jeg vælger at køre installationen mere eller mindre slavisk efter guiden. Jeg fravælger dog de punkter, der har noget med grafisk interface at gøre. Det er lige som lidt meingsløst at bruge plads på det nu når installationen i sidste ende skal køre på computer der ikke har nogle muligheder for grafisk præsentation.
    Nu hvor de rette moduler er valgt og jeg får skrevet done, begynder installationsprogrammet at hente fra det valgte ftp mirror. (jeg havde valgt at hente fra ftp.openbsd.dk).
    Installeren bliver færdig. Jeg holder vejret og genstarter. Mon det virker? *vente vente*.. SUCCES. Den booter og efter et minuts tid står den velkendte Login prompt står klar. Jeg logger ind og ser mig lidt omkring.

    For at lette arbejdet senerehen installerede jeg lige programmet wget. Så er det lidt lettere at hente ting på nettet.
    OpenBSD har en smart funktion, der hedder pkg, der svarer lidt til Debians apt-get og Mac OS X’ Fink. (jajaja, jeg ved godt det ikke er det samme).

    For at gøre brugen af pkg lidt lettere tilføjede jeg i filen ~/.profile følgende:
    export PKG_PATH=ftp://ftp.openbsd.dk/pub/OpenBSD/4.1/packages/`machine -a`/
    Nu kan jeg skrive pkg_add -i wget og wupti, programmet bliver hentet og installeret.

    Indtil videre har jeg altså:

    • Fået en Soekris
    • Fundet ud af at jeg skal installere OpenBSD
    • Installeret OpenBSD
    • Installeret wget med pkg

    Jeg føler mig nu klar til at gå i kast med den manual jeg havde googlet mig til tidligere.

    Det vil jeg tage hul på når jeg vender tilbage med 2 del af det der ser ud til at blive en føljeton om

    At få en Soekris i luften