Totalt yndlingsklip

Der florerer mange sjove YouTube videoer på nettet – mange af dem er sjove, ja, men så heller ikke ret meget mere. Enkelte har dog en dybde som går langt ud over et simpelt grin.

Se f.eks. disse videoer som rangerer 0-5 på min liste af YouTube klassikere:

Nummer 0: Gangnam Style af Psy:

Nummer 1: Ninja cat comes closer while not moving – Hitchcock versionen:

Nummer 2: Ninja cat comes closer while not moving – Hitchkock version – Parodi. Næsten sjovere end originalen:

Nummer 3: Bulgarsk Idol – kvinde uden antydning af engelskkundskaber synger Mariah Carey:

Nummer 4: Charlie bit my finger – again:

Nummer 5: Kan man ha roligare? – den skønneste unge med det skønneste hvæsende grin:

Foråret er her!

Så er foråret endelig kommet. Efter flere måneder på den lade side er vejret endelig så godt at jeg kunne komme igang med at løbetræne igen. Jeg har ikke løbet siden december – primært p.g.a. dårligt vejr og sne, så det var nogle tunge ben og ømme muskler der kom hjem i forgårs efter en tur på 2,5 kilometer. Dog var jeg overrasket over at jeg holdt mit pace på lidt over 6 minutter pr. kilometer, selv om der er gået flere måneder.

I går var jeg så ude at løbe igen – og allerede her kunne jeg mærke at formen var bedre – faktisk var den så god at jeg løb den hurtigeste 5 km jeg nogensinde har løbet – og tilmed det hurtigeste pace til dato. Jeg tror måske en af årsagerne er at mine høretelefoner er i stykker, så de udsender en meget skarp KLIK lyd når man vrider i stikket – og det er jo ikke noget man kan undgå når man løber. Så af den grund løb jeg uden musik i øregangene. Det kan måske lyde mærkeligt at det skulle have en indvirkning på ens løb, men det at man kan høre sit fodslag og sit åndedræt, det tror jeg medfører en bedre performance. Og så var det jo bare dejligt at løbe igennem skoven og kunne høre fuglene synge og høre når det pusler i underskoven – faktisk var jeg så heldig at jeg så hele seks dådyr på min løbetur i går.

Gårsdagens løbetur.

Once, twice, three times a lady

Som tiden dog flyver. Det er helt undsluppet min opmærksomhed at jeg ikke har skrevet noget som helst om, at jeg igen er blevet far. Under en frygtelig snestorm sidst i 2009, kom vores lille datter Liv til verden.

Vi nåede lige på sygehuset inden sneen begyndte at falde, og så havde vi jo sne i bunker i de næste tre måneder, hvilket også resulterede i at der næsten ikke var nogen der så hende i starten af hendes liv. Kun Ayoes søster Kit formåede at komme ind på hospitalet og kigge til os.

Men skidt med det. Resultatet blev godt, og alle har fået set hende nu. 🙂

Daube med øl – slow food der smager

Camilla Plums Sorte Gryde har nogle fantastiske opskrifter. Her er opskriften på en fantastisk gryderet, som godt nok tager en halv dag at lave, men som er billig og god.

Daube med øl – Den sorte gryde.

Et godt råd skal dog være at salte retten efter den er færdig. Bruger du, som jeg, et stykke stribet bacon i stedet for flæsk, så vil du opdage at retten bliver alt for salt.

Using Varnish and iptables_recent to fend off Slowloris attacks on CentOS

As some may know, an old attack has been wrapped in a perl script called “Slowloris.pl”. Any script kiddie with a Linux box and a couple of Perl modules installed will be able to take down most webservers. The script works by sending a lot of requests, that do not finish, so the webserver becomes unable to process any “real” requests. I sat down and wrote a guide to use Varnish and iptables to block any Slowloris attacks against an Apache webserver. I hope this will prove helpful for anyone wanting to secure their web servers against this attack.

— Jes Kasper Klittum

Getting the sources

You can get the sources from the Varnish SourceForge site.
Find the download link on this page:
http://www.varnish-cache.org/
As of 10th of November 2010 this is what I did:

wget http://www.varnish-software.com/sites/default/files/varnish-2.1.4.tar.gz

Compiling Varnish

Make sure that gcc, autoconf, automake and pcre-devel are installed. If not installed run:
yum install gcc autoconf automake pcre-devel

Untar the package and enter the directory:
tar fxzv varnish-2.1.4.tar.gz
cd varnish-2.1.4/

Now compile the sources:
./configure
make
make install
cp redhat/varnish.initrc /etc/init.d/varnish
sed -i -e 's:exec="/usr/sbin/varnishd":exec="/usr/local/sbin/varnishd":' /etc/init.d/varnish
cp redhat/varnish.sysconfig /etc/sysconfig/varnish
groupadd -r varnish
useradd -r -g varnish -d /var/lib/varnish -s /sbin/nologin \
-c "Varnish http accelerator user" varnish
chkconfig --add varnish
chkconfig --level 345 varnish on
mkdir -p /var/lib/varnish/

Make a symlink from /etc/varnish to /usr/local/etc/varnish

ln -s /usr/local/etc/varnish /etc/varnish

Edit /etc/sysconfig/varnish to match this:
DAEMON_OPTS="-a :80 \
-T localhost:6082 \
-f /etc/varnish/default.vcl \
-u varnish -g varnish \
-s file,/var/lib/varnish/varnish_storage.bin,1G"

Configure Apache

You need to make apache listen to another port than 80. To do this, you must change the directives Listen, ServerName, NameVirtualHost and all “virtualhost *:80” enties in the apache configuration.

I did this:
root@www conf]# grep -A2 Varnish /etc/httpd/conf/httpd.conf
#Varnish change
#Listen 80
Listen 8080
--
#Varnish change
#ServerName 127.0.0.1:80
ServerName 127.0.0.1:8080
--
#Varnish change
#NameVirtualHost *:80
NameVirtualHost *:8080

#Varnish change
#

Configure Varnish

Now, apache is now listening to another port, and our firewall denies untrust access to this port – what we need to do now, is get Varnish to filter the packets comning in on port 80 and forward then to port 8080 on 127.0.0.1

cat /etc/varnish/default.vcl
#-e This is a basic VCL configuration file for varnish. See the vcl(7)
#man page for details on VCL syntax and semantics.
#
#Default backend definition. Set this to point to your content
#server.
#
backend armada {
.host = "127.0.0.1";
.port = "8080";
}

#
# Define what to do when receiving a request;
# - Send all requests to the backend "armada"
# - Remove X-Forwarded-For if it is already set for some reason
# - Add a new X-Forwarded-For header, set it to the clients IP (for logging on Apache)
#
sub vcl_recv {
set req.backend = armada;
remove req.http.X-Forwarded-For;
set req.http.X-Forwarded-For = client.ip;
}

#
# Set timeout for all objects to 0 seconds. This defeats the purpose of running a cache,
# but this is for the added security only.
# This was the easiest way for me to preserve logging of all requests.
#
sub vcl_fetch {
set obj.ttl = 0s;
}

Fixing Apache logging

All IPs will be logged as coming from 127.0.0.1 if you do not use the X-Forwarded-For for the Log IP. There are different approaches to this.
Best approach is to install mod_rpaf; reverse proxy add forward
This requires httpd-devel to be installed. This can be obtained through yum.

cd /root
wget http://stderr.net/apache/rpaf/download/mod_rpaf-0.6.tar.gz
tar fxzv mod_rpaf-0.6.tar.gz
cd mod_rpaf-0.6
apxs -i -c -n mod_rpaf-2.0.so mod_rpaf-2.0.c

Create a file /etc/httpd/conf.d/rpaf.conf
cat /etc/httpd/conf.d/rpaf.conf
LoadModule rpaf_module modules/mod_rpaf-2.0.so
RPAFenable On
RPAFproxy_ips 127.0.0.1

Limit number og connections from one IP

Using iptables recent, we can make sure that any IP will only be allowed to make, f.ex., 20 connections in 5 seconds – otherwise they get blocked.

iptables -N Slowloris
iptables -A INPUT -p tcp --dport 80 -m state --state NEW -j Slowloris
iptables -A Slowloris -m recent --set --name APACHE
iptables -A Slowloris -m recent --update --seconds 5 --hitcount 20 --name APACHE -j DROP
iptables-save > /etc/sysconfig/iptables
chkconfig iptables on

Starting it all up

/etc/init.d/httpd stop
/etc/init.d/varnish start
/etc/init.d/httpd start

Kudos

These guides were used to compose this walk-through:
http://wiki.tyk.nu/index.php/Using_Varnish_to_protect_Apache_against_slowloris#Configuring_Varnish
http://developer.mindtouch.com/User:PeteE/Varnish_Installation
http://varnish.projects.linpro.no/
http://maxgarrick.com/reverse-proxy-with-nginx
http://www.ducea.com/2006/06/28/using-iptables-to-block-brute-force-attacks/

Familieforøgelse

Det er ved at være rigtigt længe siden jeg sidst har skrevet, men Ayoe og jeg har haft nok at se til siden sidst. Køkkenhaven er droppet for nu – nu skal der satses på at få huset til at fungere. P.t. er vi ved at bygge den gamle stald om til to nye børneværelser på 26 kvm tilsammen. Det bliver rigtigt godt.

Årsagen til at der pludselig skal bygges børneværelser er jo, at vi den 10 marts fik endnu en søn, Birk. Han kom til verden på Nykøbing Falster sygehus klokken 4:48 om natten efter en forholdsvis let fødsel. Han vejede 3600 gram og var 53 cm lang. I skrivende stund er han 5 uger og to dage, og vejer 5500 gram og er 59 cm lang! Her er et billede af den lille dreng.

Birk Palmkvist Klittum

Så lukker vi lige for hanen, tak

Nogle gange kommer guds gaver i lidt for rigeligt mål. Efter en meget varm og tør forsommer er sommeren slået over i oktobervejr. Det regner og stormer som aldrig før og det er bestemt ikke specielt sommerligt. Onsdag d. 27 juni gik det helt amok, da der på 24 timer faldt omkring 50 mm regn, samtidig med at der blæste en hård kuling med vindstød af stormstyrke. Dagen før havde vi ligeledes fået en hel del regn, så vi totalt fik ca. 90 mm på de to døgn.

I løbet af dagen blev vores køkkenhave fuldstændigt oversvømmet og løg, kartofler og majs lagde sig ned for den hårde vind. For at det ikke skulle være nok, så samlede det meget vand sig på den nederste fjerdedel af vores køkkenhave, så de ca. 50 kvm har fuldstændigt oversvømmede. Løg, kartofler, bønner, ærter, radiser, zinia og skorzonerrod var oversvømmet og man gik i vand til et stykke op ad skaftet på gummistøvlerne.

Vi startede en redningsmission og købte en lænsepumpe. I løbet af 7 timer havde vi pumpet 50.000 liter vand væk fra køkkenhaven.

Billederne kan ses her:

http://www.flickr.com/photos/9146184@N02/sets/72157600516774154/

Selvom der, efterfølgende, er faldet rigtigt meget vand, så er køkkenhaven stadig forholdsvis tør. Men bønner og Zinia er bukket under for den meget vand.

Nu må det også gerne snart stoppe. I juni måned har vi fået over 170 mm regn på Møn, og bare i første uge af juli er der kommet over 50 mm. Vi skal på ferie til sverige i uge 29, men det ser desværre ikke ud til at der er håb om bedring, så vi må hellere huske at tage regntøj med.

Fordømt …

Nogle gange så er ingenting særligt fedt. Og uheld kommer altid i stimer ….

De sidste par uger har været meget intense og surrealistiske. Lørdag morgen, den 28 april, ringer telefonen klokken lidt i 7. Det er min svigerfar, Svend, der ringer. Ayoe og jeg havde tænkt sig at køre ned og besøge ham og svigermor på denne dag, da det var Svends fødselsdag. Jeg spørger ham hvad han dog ringer om på den tid af morgenen, og kan bare huske at jeg tænkte “Det er da løgn” da han sagde “Marianne er død”.

Marianne var min svigermor, og hun var en meget sammensat person. Som de fleste andre havde hun både gode og dårlige sider, men de gode var tilgengæld også rigtig gode. Hun var utroligt velbevandret i alle aspekter af det at have prydhave og køkkenhave, og jeg kommer til at savne hendes gode råd i fremtiden.

Heh – hun var sgu en skæg tøs.

Men nu er hun altså væk – hun døde stille og roligt, i sit hjem på Falster. Hun blev kun 49 år, inden kræften tog hende. Livet er sgu unfair.

De dage og uger der er gået siden har været meget underlige. For det første er Ayoe jo meget ked af det, og det er svært at se hende være ked af det så ofte. For det andet mangler jeg min svigermor til så mange ting. Sæsonen i køkkenhaven er i fuld gang og normalt ville jeg ringe til hende med alle mine spørgsmål og al min tvivl – men det kan jeg ikke mere.

For at det ikke skal være nok, så er pudsen begyndt at skalle af vores gamle hus – og ja, jeg ved godt at det er fordi jeg ikke har fået kalket, men jeg har haft så travlt med at sætte huset i stand indvendig at jeg ikke har haft tid til facaderne. Da jeg så endelig fik tid, opdagede jeg at bindingsværket under pudset var helt råddent. Det er fandeme en træls overraskelse at få – specielt fordi vi ikke vidste at huset havde bindingsværk da vi købte det. Men det skal jo så skiftes. Vi har haft en tømrer ude for at se på det og hans tilbud på at fjerne bindingsværket og indsætte nyt er på 192.000 kroner. Det er fandeme mange penge ! Det var de penge vi skulle have brugt på køkken og bad, men det her er naturligvis vigtigere.

Arrgh …

Nå, men derudover går det godt – lige bortset fra et det regner og jeg snart bliver 30. Damn en skodmåned.

Jeg, en dyremorder!

Jeg skrev den anden dag en beretning med overskriften “Undskyld “Kylle”!, hvor jeg fortalte om den brøde jeg begik da jeg trådte på min kælekylling som 12årig. Her gik jeg i min naivitet og troede at jeg kun én gang havde været ude i den slags voldsorgier, indtil min forlovede var så flink at minde mig om dengang jeg fik et marsvin.

Ja, det er rigtigt. Jeg kan ikke komme udenom det – jeg har også slået et marsvin ihjel. Jeg gætter på at jeg har været 8 år, og jeg skulle have mit første kæledyr. Jeg havde en kammerat som ikke måtte have dyr mere, og derfor skulle han af med sit marsvin. Han overlod derfor marsvin og alt udstyr til mig, og jeg lovede ham at jeg nok skulle passe på den. Desværre kunne jeg ikke helt holde hvad jeg havde lovet – det eneste råd han havde givet mig, i forbindelse med dyrets pasning, var at jeg skulle sørge for at den ikke frøs.

Ung og naiv som jeg var, placerede jeg det lille dyrs bur op ad mit værelses eneste radiator og skruede godt op. Den skulle jo nødig dø af kulde. Desværre havde den lille fyr ikke nok vand i sin automat til at klare en sådan tropehede, og dyret afled derfor inden jeg kunne nå at redde staklen.

Jeg vil derfor benytte lejligheden til at sige undskyld til alle væsner jeg måtte have aflivet, bevidst eller ubevidst. Så skulle der ikke komme nogle uforudsete overraskelser senere hen.

Jeg beklager.

Undskyld “Kylle”!

Verdens Bedste FormiddagP3 fik mig i dag til at tænke på noget der skete for 18 år siden. I forbindelse med et sektion af deres program med navnet “Dyrekirkegården” opfordrer værterne deres lyttere til at ringe ind hvis de på en eller anden måde har fået taget livet af et dyr.

Det fik mig til at tænke på denne hændelse:

For 18 år siden, da jeg var en purung knægt på 12 år, myrdede jeg min bedste ven “Kylle”. Jeg husker det som det var i går, og kan stadig mærke følelsen af afmagt og sorg over dette lille væsens død.

Jeg havde skaffet mig en lille moderløs kylling, som jeg fodrede op. Vi boede på landet og det var min plan at den skulle vokse sig stor og blive en fin lille æglægger. Desværre er kyllinger sådan indrettet, at de følger efter det første væsen de ser når de kommer ud af ægget. Det er jo, klart nok, deres mor, tror de. Således fulgte “Kylle” også altid i hælene af mig.

Det var dagen før min søsters “Non-firmation” og vi skulle med min moder til Grækenland. Jeg gik og pakkede mine ting og havde således ikke tid til at holde øje med “Kylle” og bad derfor min søster passe på hende medens jeg blev færdig. Det lovede hun at gøre og jeg begyndte at pakke.

Jeg husker stadig den bløde fornemmelse af sok mod kylling, da jeg trådte bagud og dræbte min lille følgesvend. Min søster havde ikke holdt ordentligt øje med “Kylle” og hun var derfor fulgt efter sin “mor” – mig.

Det blev en trist tur til grækenland – jeg tænkte ikke på meget andet end den lille pipper – og den dag i dag kan jeg ikke helt slippe af med hende. *suk*

Tænk at sådan en episode kan hænge i ens baghoved alle de år. Betragt dette som en nekrolog over “Kylle”, samt en uforbeholden undskyldning. :'(