Kubuntu met mirrored disks

Zoals gister te lezen was, ben ik bezig geweest met het installeren van een nieuw systeem. Dit systeem is een test-systeem, maar zal ik ook gebruiken als workstation. In mijn geval was het daarom belangrijk om en mirrored disks te hebben. Helaas biedt de distributie van mijn keuze geen mirrored disks in de installatie. Kubuntu heeft er echt de tools niet standaard voor in huis.

Ik moest dus een ingewikkelde installatieprocedure afwikkelen als ik dat zou willen, of een simpele truuk bedenken. Na ongeveer een kleine 10 seconde bedacht ik me dat Kubuntu gebaseerd is op Ubuntu, waar een servereditie van is. De servereditie heeft wel alle tools in huis om tijdens de installatie “eenvoudig” een RAID-configuratie op te zetten. Aangezien ze wel alle packages met Kubuntu delen, is het upgraden daarna een eitje.

In de eerste plaats heb ik dus Ubuntu Server geinstalleerd. Tijdens de installatie heb ik de schijven met md in een mirror gezet en met lvm 2 volume groups gemaakt (zo groot als de schijven) en vervolgens daar logical volumes in gemaakt die zo groot waren als de partities die ik zou willen. Een uitleg hoe je dit doet tijdens de installatie kun je hier vinden.

Zodra deze installatie gedaan hebt, kun je inloggen met de gebruiker die je eerder hebt aangemaakt tijdens de installatie. Deze gebruiker heeft rechten om sudo uit te voeren en dus kun je vervolgens alles installeren wat je nodig hebt. Aangezien we alleen een bash-shell hebben, moeten we de hele grafische omgeving nog installeren. Dit doe je heel eenvoudig met het volgende commando;

sudo apt-get install kubuntu-desktop

Het duurt even nadat je dit hebt gedaan, maar dit is echt het meest eenvoudige wat ik kon bedenken. Anders moet je namelijk in de kubuntu testomgeving opstarten en mdadm en lvm installeren. Daarna moet je dan echt handmatig de boel instellen en hopen dat alles goed gaat na het installeren. Aangezien ik altijd ook wat anders kan doen dan naar een schermpje kijken tijdens de installatie, kan ik makkelijk weglopen en wat anders doen. dpkg en aptitude doen de rest voor me.

Voor de terminal-schuwenden onder ons. Mocht je zover zijn gekomen dat aptitude alles geinstalleerd heeft en wil je herstarten, dat kun je snel en eenvoudig doen met het volgende commando;

sudo reboot

Veel succes als je ook je systeem zo gaat installeren. Stel gerust een vraag via it-ondersteuning.nl als je meer wilt weten (of via een comment op deze post).

Posted in Algemeen | Leave a comment

Nieuw testsysteem

Vandaag een nieuw test-systeem opgebouwd. Ubuntu Server geinstalleerd, met 4 disks. 2 disks van 250GB en 2 disks van 500GB. Beide sets heb ik in RAID-1 gezet (dus mirror). Ik ben benieuwd hoe dit gaat performen. Een groot voordeel is dat ik nu kan gaan testen met het dataverbruik van een Terminal Server, lvm (Logical Volume Manager) en KVM (Kernel Virtual Machine).

Waarom ben ik hier naar geintresseerd? Ik ben vooral benieuwd in hoeverre dit hosted op te zetten is om zo misschien ter zijner tijd bedrijven in staat te stellen hun complete serverpark weg te doen.

Posted in Algemeen | Leave a comment

it-ondersteuning.nl

Vandaag heb ik een testproject gelanceerd. Met it-ondersteuning.nl wil ik mensen en bedrijven met kleine problemen gratis en voor niets helpen. Als er iets lastigers tussen zitten waar ik niets mee kan (omdat het bijvoorbeeld echt een blik op het probleem vereist), dan zal ik aanbieden om een vrijblijvende offerte uit te brengen.

Ik ben benieuwd hoe het gaat ontwikkelen. Als ik er ook echte vragen krijg die leuk zijn om op mijn blog te beantwoorden, dan zal ik ze wat uitgebreider behandelen.

Posted in Algemeen | Leave a comment

Oud project; Inventarisate van systemen

Lang lang geleden ben ik eens bezig geweest met een application voor het inventariseren van computers. Welke hardware is er, welke software draait er op en etc. Na het enige tijd weg gezet te hebben, heb ik het recent terug “gevonden” en ben ik eens gaan kijken naar de bruikbaarheid.

De applicatie is ooit zo opgezet dat hij goed cross-platform in te zetten zou zijn. Hij is dus volledig in Java geschreven. De applicatie bestaat uit een client en een server gedeelte en werkte een beetje als volgt; de client inventariseert de locale hardware en software, maakt hier een xml van en emailt dit naar een bepaald adres toe. De server haalt dit vervolgens op, leest het uit en stopt dit in een lokale database. De server heeft verder een interface, die ietswat spartaans is, maar het werkte wel.

Op dit moment ben ik het geheel aan het updaten. Er waren stukken bij die niet meer werkte, zoals de registry uitlezen op windows via een obscure library die niet meer bestaat. Ik gebruik daar nu het commando “reg query” van de commandline utilities voor.

Verder ben ik de database aan het aanpassen. De database was namelijk db4o, maar ik wilde de interface omzetten naar een webvariant. Ik ben nu dus bezig het geheel om te schrijven naar MySQL, maar zal er later een interface voor schrijven en een PostgreSQL variant van schrijven.

Zodra ik straks een redelijke webinterface heb, ga ik nog verder met grondige aanpassingen maken. Email is immers not done in de huidige omgevingen. Om spam tegen te gaan wordt smtp vaak geblocked vanaf werkstations en dus zal ik dat moeten omschrijven. Waarschijnlijk wordt dat http of https, zodat de software makkelijk door firewalls heen gaat en beheerders er niets voor hoeven aan te passen.

Als ik zover ben, kan ik er misschien een commercieel product van maken en het in de markt zetten. Voorlopig ben ik al blij als ik het voor mijn eigen bedrijf in kan gaan zetten.

Posted in Algemeen | Leave a comment

Hackers

Zojuist wat zitten spitten in de loggings van www.zandstra.it. Het lijkt erop dat er een nieuwe exploit is, of in elk geval eentje die ik eerder nog niet heb ontdekt.

Een eerdere soortgelijke exploit viel gCalendar aan, waarmee men probeerde /proc/self/environ uit te voeren. Dit zag er als volgt uit;
“GET //index2.php?option=com_gcalendar&controller=../../../../../../../../../../../../../../../../../proc/self/environ%00 HTTP/1.1″ 404 208 “-” “libwww-perl/5.805″

Zoals te zien is, werd er een poging gedaan om /proc/self/environ uit te voeren met een null-pointer via een index2.php.

De variant valt Joomla aan. Een eerste variant gebruikte net als deze libwww-perl-5.805, maar een nieuwere variant doet zich voor als zijne een Firefox installatie;
GET /?option=com_myblog&controller=../../../../../../../../../../../../../../../proc/self/environ%00 HTTP/1.1″ 200 2428 “-” “Mozilla/5.0 (Windows; U; Windows NT 6.0; en-GB; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 ( .NET CLR 3.5.30729)

Dit wordt gevolgd door het binnen halen van diverse plaatjes. Kennelijk zit er een hele slechte programmeur achter, die niet heeft aangezet alleen de html binnen te willen halen. Vervolgens worden namelijk ook de diverse plaatjes binnen gehaald.

83.81.122.204 – - [08/Jun/2010:11:55:43 +0200] “GET /images/banner-home.png HTTP/1.1″ 200 4150 “http://zandstra.it/?option=com_myblog&controller=../../../../../../../../../../../../../../../proc/self/environ%00″ “Mozilla/5.0 (Windows; U; Windows NT 6.0; en-GB; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 ( .NET CLR 3.5.30729)”

Zoals je ziet, is het een vreemde aanval die men uithaalt. Hopelijk houden ze op zodra ze er achter zijn dat het puur html is en geen php.

Posted in Algemeen | Leave a comment

iPhone trouble

Laatst heb ik mijn iPhone plat op zijn scherm laten vallen bovenop zo’n mooie stoeptegel. Dat voelt mentaal nog steeds vervelend, want ik ben vrijwel mijn hele digitale leven kwijt. Duidelijk een bewijs dat je niet teveel op een digitaal hulpmiddel moet vertrouwen. Zo’n papieren boekje met afspraken is ietswat beter bestand tegen dat soort zaken.

Gebroken scherm

Zoals je ziet, er was bijna niet meer mee te werken. Nu moet ik echter zuinig aan doen met mijn geld en om nou 180 euro neer te leggen voor een nieuw scherm is dan toch wel wat veel. Ik besloot het scherm dus zelf te vervangen. Ik heb op internet dus een nieuw stuk glas besteld, want de onderliggende LCD was nog wel goed. Gister kwam deze vervanging aan en ik besloot meteen aan de slag te gaan.

Helaas gaan alle handleidingen ervan uit dat je de onderkant los kan wrikken, wat in mijn geval niet lukte. Zoals je ziet, daar is de schade het ergste. Ik besloot het dus via de zijkant te proberen. Na flink wat gepor, getrek en geduw, schoot mijn werktuigje echter tegen de LCD. Die is nu dus wel stuk.

De reparatie heb ik verder zeer succesvol afgerond. Het apparaat is dus weer netjes om te zien en het glas is weer heel. De volgende keer hoef ik alleen de LCD te vervangen (die heb ik uiteraard meteen besteld). De iPhone is immers nu alsnog niet te gebruiken (hoewel touch wel weer werkt en het er netjes uitziet).

De totale schade inclusief het nieuwe LCD-scherm is 60 dollar. Ik heb dan wel een reserve glas voor het geval het apparaat opnieuw valt en ben weer een ervaring rijker. Tegen de huidige dollar/euro koers ben ik dus zo’n 48 euro kwijt. Nog altijd 130 euro goedkoper dan als ik hem bij Apple had laten repareren.

Posted in Algemeen | Leave a comment

Software development is keuzes maken

Ik ben momenteel bezig met een nieuw stukje software schrijven. Het is een bouwtechnische applicatie en dat geeft nogal wat complicaties met zich mee. Het grootste probleem waar ik eigenlijk mee zit is natuurlijk de richting waar de wereld zich heen beweegt en wat de toekomstige klant zou willen.

De software is namelijk bedoeld om modellen te maken van een gebouw, waarna je diverse berekeningen op het geheel los kan laten. Wat is bijvoorbeeld de warmteopbrengst en/of warmteweerstand (warmte binnen of juist buiten houden) als je een dergelijke gevel bouwt en wat is de meest effectieve hoek voor de gewenste licht/warmte.

In dit geval is de toekomstige klant dus met name een architect of bouwkundige. Met name de bouwtechnisch onderlegde architect met een millieu project. Dus bijvoorbeeld wanneer hij/zij een gebouw wil ontwerpen wat zo energie-efficient mogelijk moet zijn. Denk bijvoorbeeld aan passief bouwen, hierbij is het belangrijk dat het huis vrijwel neutraal is in energiegebruik.

Deze gebruikers zijn momenteel vaak nog erg gehecht aan hun computer. Ze willen dus dat hun gegevens binnen blijven, want soms betreft het een project waar een wedstrijd aan gekoppeld is. De rest van de wereld zien we echter langzaam gaan naar juist zoveel mogelijk gegevens on-line zetten. Documenten worden straks misschien wel alleen nog maar gemaakt in on-line tekstverwerkers. En de architecten en bouwtechnische mensen zullen hier langzaam achter aan komen, met name wanneer data transparanter ergens neergezet kan worden en beter beveiligd en gewaarborgd is.

Het resultaat, als ik nu mijn software ontwikkel voor lokaal gebruik, kan ik het straks misschien wel niet meer inzetten voor online gebruik en is al mijn werk voor niets geweest. Als ik het nu ontwikkel voor online gebruik, wordt mijn applicatie straks misschien wel niet gebruikt en haalt iemand anders me ter zijner tijd in. Ik wil dus een applicatie hebben die nu lokaal werkt en straks ook op internet.

De keuze is dus uiteindelijk gevallen op een combinatie van Java en een MVC model. De ondergrond van Java zorgt ervoor dat ik later de applicatie eventueel kan omzetten naar een webapplicatie. Door gebruik te maken van een MVC model, koppel ik de logica van de data en de interface los. Ik ontwikkel dus de logica volledig los van de interface. De interface haakt dus wel in de logica, maar de logica hoeft niets te weten van de interface. De data is ook een losse laag, die weer niets weet van de logica. De logica grijp wel in de data, maar zelfs deze koppeling kan “losjes” worden gerealiseerd. Het resultaat dat ik later de datalaag eruit kan halen en op een database kan enten, daarna kan ik de interface loshalen en er een webserver met de nieuwste variant van HTML aan koppelen. Eventueel kan ik de Javainterface ook veranderen in een soort van Java-applet, waardoor ik zelfs nog minder hoef om te zetten.

Zoals dit voorbeeld duidelijk laat zien, zijn er veel overwegingen die gemaakt kunnen worden bij het kiezen van de ontwikkeltaal en je programmeermodel. Helaas kom ik nog steeds veel mensen tegen die dit allemaal overslaan omdat het product eigenlijk morgen af moet. Soms komt dit omdat de klant het vraagt, soms omdat de baas dit vraagt en soms omdat ze het van hunzelf eisen. Toch is het belangrijk om soms iets langer na te denken en zelfs even buiten de deur bij een ander te informeren.

Posted in Algemeen | Leave a comment

Spam IP-block

Vroeger was alles makkelijk, eenvoudig en fijn. E-mail werkte gewoon en goed, ook al gebruikte niet iedereen het. Later begon dit te veranderen, toen internet en email gemeengoed werd. Ineens werd het interessant om te emailen, niet alleen voor de gebruiker, maar ook voor de commercielen. Vele bedrijven begonnen te emailen, in goede en kwade zin. Zowel gewone emails met informatie aan klanten zodra die erom vroegen, als ongevraagde email. Spam was geboren.

Na enige tijd werd spam gemeengoed en werden e-mailserversvan kwaadwillenden in een blacklist geplaatst. Zo hielden we de spammers tegen bij de deur. Deze blacklists zoals Spamhous en Sorbs werden automatisch aangevuld met mailservers die al die rotzooi verstuurde. Spammers waren echter ook niet gek en begonnen gebruik te maken van dynamische ip-adressen. Het resultaat, hele blokken aan ip-adressen moesten geblokkeerd worden om zo de hele boel tegen te gaan.

Van de week werd de e-mailserver van een klant op deze wijze geblokkeerd. Bij de provider had iemand een relay open laten staan en floep; ip-block op een hele range aan ip-adressen. Gelukkig vond ik snel een website waar je de boel kon controleren, namelijk Blacklist Check van whatismyipaddress.com. Spamhous was een van de blokkers en die was snel te repareren. Een andere blokker was Sorbs. Die is een stuk trager en duidelijk opgezet met niet al teveel middelen. Je moet eigenlijk een root-certificaat van hen installeren willen je erdoor komen en dan krijg je een melding dat het tot 48 uur kan duren voordat de hele boel gecontroleerd is en je ip word vrijgegeven.

Daarna heb ik ook wat andere kleinere blacklist-providers opgespoord en hier unblocks aangevraagd. Ik kwam vervolgens Uceprotect tegen, maar die zijn eigenlijk nog veel erger dan spammers. Om vrijgegeven te worden, moet je 250 euro betalen. Of naar hun whitelist-pagina gaan en daar een vrijstelling kopen. Een abonnement kost je 40 euro voor 2 jaar. Dat kost natuurlijk niks voor een spammer en daarna mag je kennelijk naar hartelust spammen. Smerige boeven dus die zich op een grijs gebied richten.

Als je gebruik wilt maken van hun service, kun je dus wachten op spam en uitgesloten worden van de rest van het verkeer. Immers, als iemand onterecht geblokt wordt zullen ze niet betalen. Dus blijven ze een tijdje op de lijst staan en kunnen ze jou geen email sturen. Sja, dat kan jou dus klanten kosten.

Een goede spamfilter werkt veel beter. Voor bedrijven kan ik echt Sophos PureMessage aanraden. Ik heb er recent mee gewerkt en het werkt echt goed.

Posted in Algemeen | 1 Comment

it-ondersteuning.nl

Sinds enige dagen heb ik het domein it-ondersteuning.nl. Hoewel ik wel een aantal ideeen heb om hier een website op te maken, was ik vooral benieuwd wat men daar voor ideeen over heeft. Zijn er zaken die je graag op een algemene portal terug zou willen zien? Reviews van diverse producten misschien? Of wil je liever een portal waarbij je een betrouwbare leverancier uit jou buurt kan vinden?

Ik hoor graag wat mensen willen hebben. Stuur dus comments en ik kijk wat ik ermee kan/ga doen.

Posted in Algemeen | Leave a comment

Google en Apple ten opzichte van Lost

Bij TechCrunch hebben ze een leuk artikel over de serie Lost en hoe die verhoud met de huidige ruzie tussen Apple en Google. Het mooie aan het artikel is hoe men tegenwoordig tegen Apple en Google aankijkt, terwijl ze eigenlijk allebij hetzelfde willen; zoveel mogelijk gebruikers. Uiteindelijk draait het daar om, zoveel mogelijk gebruikers hebben want dat levert geld op.

Google gelooft heilig in het Web 2.0 principe; zoveel mogelijk werken op het web. Apple gelooft heilig dat de wereld nog niet zo ver is en houdt vast aan het gecontroleerde principe van lokale applicaties. Het verschil in deze grondbasis van hun filosofie is gelijk het verschil naar de gebruiker toe; Google zegt dat je alles mag en Apple controleert alles op schadelijke content en/of gedrag alvorens het toe te laten. Wie wint, dat is uiteindelijk aan de gebruikers.

Ikzelf ben niet zo van het Google-kamp. Ik ben als systeembeheerder van nature een beetje allergies voor het “Alles mag”-principe. Niet dat ik gebruikers zo ver mogelijk wil afsluiten van de mogelijkheden, maar ik wil er wel controle over houden. Google heeft dan ook al een aantal problemen gehad met hun filosofie. Zo is multi-tasking toch niet zo’n geweldig idee op een mobieltje, alleen leggen ze de schuld bij de programmeurs, want die doen teveel in de achtergrond. Verder zijn er al heel veel problemen geweest in het Google-kamp met creditcard gegevens die gestolen werden of andere persoonlijke informatie.

Als ik zo kijk naar wat ik donderdag bij Sophos geleerd heb, is het wel dat aanvallen op informatie toeneemt. Mensen nemen in toenemende mate informatie mee in hun mobiel. Het resultaat is dat het slechts een kwestie van tijd is totdat criminele organisaties zich grootschalig gaan richten op mobiele platformen. Ik zit in dat geval liever in het gecontroleerde Apple-kamp, dan in het open Google-kamp.

Posted in Algemeen | Leave a comment