Knockd

Het principe

Om gebruik te maken van een service zoals SSH op je eigen computer vanaf een andere computer, moet op je eigen computer de betreffende poort geopend zijn. Omdat een open poort een potentieel veiligheidsrisico is, wil je zo min mogelijk poorten open hebben staan. Met knockd kan je poorten afsluiten maar ook op afstand openen. De poort is standaard gesloten, maar door in de juiste volgorde op verschillende poorten te "kloppen" kan je de poort tijdelijk openzetten voor de computer die je op dat moment gebruikt. De volgorde van de poorten waarop je moet kloppen kan je instellen in een configuratiebestand.

Installatie

Het pakket knockd zit in de ubuntu repo's dus je kan het gewoon installeren via synaptic, adept of met het commando.

sudo apt-get install knockd

Knockd start niet automatisch op. Om het automatisch te laten opstarten moet je in het bestand /etc/default/knockd .

START_KNOCKD=0 

vervangen door

START_KNOCKD=1 

Je kan een editor opstarten door

gksudo gedit /etc/default/knockd voor Gnome
kdesu kate /etc/default/knockd voor KDE
sudo nano /etc/default/knockd voor tekstmode

Configuratie

In het bestand /etc/knockd.conf staat de configuratie van knockd. Het bestand moet er ongeveer zo uitzien om de SSH poort (poort 22) te openen met de poortcombinatie 7000 8000 9000 en te sluiten met 9000 8000 7000. Ik raad wel aan een andere poortcombinatie te gebruiken want deze is de standaard wat meestal geen goed idee is.

[options]
        logfile = /var/log/knockd.log

[openSSH]
        sequence    = 7000,8000,9000
        seq_timeout = 10
        command     = iptables -I INPUT -s %IP% -p tcp --dport 22  --syn -j ACCEPT
        tcpflags    = syn

[closeSSH]
        sequence    = 9000,8000,7000
        seq_timeout = 10
        command     = iptables -D INPUT -s %IP% -p tcp --dport 22 --syn -j ACCEPT
tcpflags    = syn

Het Gebruik

Hoe kan je nu op de poorten kloppen? Er is een heel handig tooltje dat word geïnstalleerd als je knockd installeert. Met het volgende commando kan je op de poorten 7000 8000 9000 van het ipadres 192.168.254.1 kloppen.

knock -v 192.168.254.1 7000 8000 9000

Je kan ook op poorten kloppen met telnet. Met volgend commando klop je op de poort 7000 van het ipadres 192.168.254.1. Je zal dit moeten herhalen voor poort 8000 en 9000. Je kan het commando onderbreken met control-c

telnet 192.168.254.1 7000


Laatste wijziging door Sander Thijsen op 29 October 2007 21:57