Home / LinuxUser / 2008 / 10 / Klopf, klopf

Newsletter abonnieren

Lies uns auf...

Folge LinuxCommunity auf Twitter

Top-Beiträge

Mandriva gibt Distribution in die Hände der Community
(268 Punkte bei 24 Stimmen)
Neues vom Systemd
(179 Punkte bei 5 Stimmen)
Mandriva in Nöten
(161 Punkte bei 4 Stimmen)
Mageia 2 ist fertig
(161 Punkte bei 4 Stimmen)

Heftarchiv

LinuxUser Heftarchiv

EasyLinux Heftarchiv

Ubuntu User Heftarchiv

Ubuntu User Heftarchiv

Partner-Links:

Shopping
Topsuche
 
Yatego Deutschlands größte Shoppingmall. 10000 Shops,
3.5 Mio Artikel. Alle Bestseller, Servertechnik und Technik Themenwelten.

Notebooks und Netzwerkhardware bei Mercateo günstig kaufen.
Internet Telefonie mit VoIP Telefonen von Gigaset
Das B2B Portal www.Linx.de informiert über Produkte und Dienstleistungen.
Günstige Digitalkameras finden Sie im Preisvergleich.

Klopf, klopf

Rechner absichern mit Knock

01.10.2008 Rechner mit Internetzugang gilt es, gegen Angreifer abzusichern. Eine ebenso faszinierend einfache wie auch effiziente Barriere schafft ein Portknocker.

Der Albtraum eines jeden Netzwerkadministrators: Unsichere Dienste, die es Angreifern ermöglichen, ins heimische LAN oder das Firmennetz einzudringen. Von außen erreichbare Dienste stellen immer ein Sicherheitsrisiko dar, als mögliche Ansatzpunkte dienen Angreifern eine fehlerhafte Konfiguration oder Sicherheitslücken im Programm selbst. Um zum Datenaustausch oder zur Fernwartung auf den Rechner zugreifen zu können, bleibt jedoch nichts anderes übrig, als Ports für die entsprechenden Dienste zu öffnen. Diese müssen jedoch nicht dauerhaft offen stehen: Das Programm Knock [1] erlaubt, bestimmte Ports quasi auf Zuruf zu öffnen und wieder zu schließen, und minimiert auf diese Weise die Angriffsfläche.

Angeklopft …

Im Normalfall greift ein Client auf den Port eines auf dem Server laufenden Diensts zu, um mit der Applikation zu kommunizieren. Über eine Firewall lässt sich der Port gegen den Zugriff von außen abschotten. Der Portknocker-Daemon knockd sorgt dafür, dass autorisierte Verbindungen trotzdem zustande kommen.

Dazu öffnet Knockd beim Start einen Raw-Socket und registriert alle am Netzwerkdevice ein- und ausgehenden Pakete, unabhängig von der Konfiguration der Firewall. Empfängt der Daemon eine bestimmte Paketsequenz, die besondere Merkmale im Protokoll, Port und Flag aufweist, öffnet er die Firewall mit einer entsprechenden Regel (Abbildung 1).

Abbildung 1: Die Zeichnung verdeutlicht die Arbeitsweise von Knock: Im Normalfall schützt eine Firewall den Port (1.). Sendet der Client eine bestimmte Abfolge von Paketen (2.) öffnet Knock den Zugang (3.).

Auf welche Triggerpakete der Daemon reagiert und welche Aktion er ausführt, legen Sie in der Konfiguration fest. Die Palette reicht dabei vom Freischalten eines verschlüsselten SSH-Zugangs zum Zweck der Fernwartung [2] bis hin zur Abfrage des heimischen Mailservers über die POP3-/SMTP-Protokolle.

Benötigen Sie die Verbindung nicht mehr, so schließen Sie sie mithilfe von Knock auch wieder. Das erfolgt auf dem selben Weg wie das Öffnen, jedoch mit einer anderen Klopfsequenz wieder schließen.

Knock installieren

Der Portknocker-Daemon knockd zählt bei gängigen Distributionen wie Debian, Ubuntu sowie OpenSuse zum Umfang der Repositories. Sie installieren die Software dort über den Paketmanager Ihrer Distribution. Darüber hinaus stellt der Entwickler Judd Vinet auf der Knock-Website [1] sowohl DEB- und RPM-Pakete als auch den Quellcode zum Download bereit.

Um den Portknocker zu nutzen, gilt es zudem auf den zugreifenden Hosts den Knock-Client zu installieren. Auf der Webseite des Projekts finden Sie verschiedene Versionen für Linux sowie für Windows und Mac OS zum Download.

… und aufgemacht

Nach der Installation starten Sie den Portknocker-Daemon durch Eingabe von knockd -d. Er verwendet als Konfigurationsgrundlage die Angaben aus der Datei /etc/knockd.conf (Listing 1). In der Grundeinstellungen legt diese in [options] fest, dass die sich Logdatei von Knock im Verzeichnis /var/log befindet. Zudem lauscht der Portknocker im Betrieb per Voreinstellung auf eth0 – in aller Regel der erste kabelgebundene Netzwerkanschluss. Möchten Sie den Daemon an ein anderes Netzwerkinterface binden, teilen Sie ihm das im Bereich [options] mit der Option interface mit, beispielsweise interface = eth2.

Der Abschnitt [openSSH] legt sowohl die Klopfsequenz fest, als auch die damit verbundene Aktion in Form einer Firewallregel – in diesem Fall das Öffnen des Ports 22 sowie das entsprechende TCP-Flag. Der Bereich [closeSSH] definiert die Sequenz zum Schließen des Ports sowie den entsprechenden Löschbefehl an die Firewall. Nach diesem Muster erweitern Sie die Konfiguration bei Bedarf um beliebig viele Regeln.

Listing 1
[options]
  logfile = /var/log/knockd.log
[openSSH]
  sequence = 7000,8000,9000
  seq_timeout = 5
  command = /sbin/iptables -A INPUT -s %IP% -p tcp --dport 22 -j ACCEPT
  tcpflags = syn
[closeSSH]
  sequence = 9000,8000,7000
  seq_timeout = 5
  command = /sbin/iptables -D INPUT -s %IP% -p tcp --dport 22 -j ACCEPT
  tcpflags = syn
Einem Freund empfehlen    Druckansicht Bookmark and Share
Kommentare

939 Hits
Wertung: 0 Punkte (0 Stimmen)

Schlecht Gut

Infos zur Publikation

Infos zur Publikation

LinuxUser 06/2012

Aktuelle Ausgabe kaufen:

Heft bestellen Heft als PDF kaufen

LinuxUser erscheint monatlich und kostet in der Nomedia-Ausgabe EUR 5,50 und mit DVD EUR 8,50. Weitere Informationen zum Heft finden Sie auf der LinuxUser-Homepage.

Im LinuxUser-Probeabo erhalten Sie drei Ausgaben für 3 Euro. Das Jahresabo (ab EUR 56,10) können Sie im LNM-Shop bestellen.

Tipp der Woche

Adobe AIR
Adobe-AIR-Programme installieren und (manuell) starten
Tim Schürmann, 14.05.2012 13:09, 0 Kommentare

Es gibt sie noch: neue Anwendungen, die Adobes Integrated Runtime voraussetzen. Aktuellstes und vermutlich auch größtes Beispiel ist das Adventure Botanicula

Aktuelle Fragen

gibt es ein Kommandozeilen Tool, um ein X11-Fenster in ein Anderes einzubetten?
GoaSkin , 21.05.2012 16:44, 0 Antworten
Das XEmbed-Protokoll ist u.A. dazu gedacht, dass man eine X11-Anwendung in eine andere wie ein Wi...
Apache2, Options -Indexes geht nicht
no no, 12.05.2012 19:01, 8 Antworten
Habe in apache2.conf folgendes stehen: Options -Indexes ...
LInux auf Dell LS H500
Andreas Endresl, 09.05.2012 08:54, 2 Antworten
Habe einen alten Dell Latitude LS H500 nur mit ext. Floppy und CD es geht nur immer eines von den...
Datenwiederherstellung unter Ubuntu 12.04 mit "Simple Backup" nach Umzug von Linux Mint
Christian Lottmann, 07.05.2012 13:33, 0 Antworten
Vor dem Umzug auf Ubuntu 12.04 habe ich unter Linux MInt mit "Simple Backup" voll (15.4.2012) und...
DKMS für den propritären NVIDIA-Treiber
Commander Data, 26.04.2012 22:02, 2 Antworten
Hallo an die Gemeinde. Ich habe hier ein interessantes Stück openSuSE gefunden. http://forums.op...