Kategoriarkiv: Nyheder

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. 🙂

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

Saddam er blevet henrettet

For et par dage siden skete det så – Iraks mangeårige diktator, Saddam Hussein, blev henrettet ved hængning. Skønt manden var diktator og skyld i forfærdelige ting, så går det mig meget imod at man hænger et menneske i et land der, antageligt, skulle være et demokrati.

Vi støtter en krig for at indføre demokratiske retningslinier i Irak. Hvorfor tillader vi så denne form for middelalderlig justits? Det mest sørgelige er, at Saddam nu er hængt for de forbrydelser han udsatte 148 indbyggere i al-Dujail for, medens han aldrig vil kunne berette om de forfærdeligheder han udsatte tusindvis af kurdere for ved giftgasangreb og tortur i 1988.

Læs Amnesty Danmarks pressemeddelelse om hægningen her:
“Saddams henrettelse en skændsel”

Frey er blevet stor

Knægten vokser og vokser. Han er nu 4½ måned gammel og vejer ca 8,5 kg. Han er en stor dreng. Det er spændende at følge sådan et lille menneskes udvikling – næsten dagligt er der nye ting kan kan, eller forsøger at kunne. 🙂

Træt baby Træt baby

julebaby Til julebal – så er vi klar.

Så kom han endelig!

Den 15 marts 2006 skrev jeg at Ayoe og jeg skulle være forældre til august. Det blev vi så den 4 august 2006. Ayoe fødte, på 6 timer, en stor dreng på 3900 gram og 53 cm. Han skal hedde Frey.

Her er billede af mor, far og den lille. Klik på billederne for at se dem i fuld størrelse.

Ayoe og FreyJes & Frey

En lille ny er kommet til

Min svigerinde, Kit Palmkvist Hansen, og hendes forlovede Christian Jensen, er i nat d. 13 juli 2006 blevet hhv. mor og far (ikke omvendt) til en lille velskabt dreng på 52 cm og 3700 gram. Herfra ønskes et stort tillykke med den lille. 🙂

Undskyld ventetiden !

Jeg ved godt at jeg er et skarn. Jeg burde have skrevet noget og nu er der gået 5 måneder ! Det er for galt. Nå, men der er sket en hel del siden sidst. Det vigtigeste er jo nok at min dejlige kæreste, Ayoe, er gået hen og blevet gravid – og heldigvis så er det mig der er den skyldige. 😉 Så omkring den første august 2006 bliver jeg altså far ! For dem der ikke ser mig så tit og ikke har snakket med mig i lang tid, så kan i måske læse det her. Tilmed kan i se et billede af den lille her.

Så det glæder jeg mig rigtig meget til. 🙂

Så kan han lære det !

TV2 skriver i dag, at legetøjs-præsidenten George W. Bush i går blev låst inde i forbindelse med en pressekonference i Beijing. Dubiah’s kløgtige kommentar var; “Jeg forsøgte at flygte – det virkede tilsyneladende ikke”. Jeg forundres gang på gang over dette menneskes denne persons eksistens’ evne til at udtrykke det absolut åbentlyse. En god lærestreg efter min mening – nu ved han da hvordan andre mennesker har det, når de bliver låst inde. Kunne Dubia så bare blive låst inde på livstid, uden mulighed for rettergang, så ville det være helt i top.

Dubia is locked up

Foto: Scanpix

Så kan du lære det bøllemis.

P.s.: Dette skal udelukkende ses som et udtryk for mine egne holdninger – CIA, FBI og Secret Service; I er velkomne til at henvende jer, hvis i da ikke også er enige.

Et modigt menneske er væk

Torsdag den første december 1955, gjorde en lille sort dame en stor forskel, da hun nægtede at rejse sig op for en hvid mand i en bus i Montgomery, Alabama. Dette første til en storstilet blokade af Montgomerys busser, og var starten på de sortes kamp for ligestilling i det amerikanske samfund.

I dag, næsten 50 år efter, er Rosa Parks gået bort, 92 år gammel. Rosa Parks levede ikke forgæves, men der er lang vej endnu. Mit håb er, at der med Rosa’s død, gøres plads for endnu en kæmper, der tør sætte sig op mod overmagten og at vi dermed kan komme lidt nærmere lighed i vores samfund.