DD-WRT Doku (DE)

From DD-WRT Wiki

(Difference between revisions)
Jump to: navigation, search
Revision as of 07:34, 11 November 2005 (edit)
Marmor (Talk | contribs)
(Script-Schnipsel)
← Previous diff
Revision as of 07:43, 11 November 2005 (edit) (undo)
Marmor (Talk | contribs)
(Antennen ausrichten)
Next diff →
Line 228: Line 228:
Um das Script im AP-Modus zu nutzen um die Antenne Richtung Client auszurichten, mu? man beim "wl rssi"-Befehl die MAC-Adresse eines Clients angeben und den Befehl "wl assoclist" und die MAC-Ausgabe entfernen. Ein getestetes Script folgt in Kürze. Um das Script im AP-Modus zu nutzen um die Antenne Richtung Client auszurichten, mu? man beim "wl rssi"-Befehl die MAC-Adresse eines Clients angeben und den Befehl "wl assoclist" und die MAC-Ausgabe entfernen. Ein getestetes Script folgt in Kürze.
-====[[ipkg]]====+===[[Software installieren mit ipkg]]===
ipkg ist eine Debian-ähnliche Packetarchitektur die die Installation weiterer Software sehr vereinfacht. ipkg ist eine Debian-ähnliche Packetarchitektur die die Installation weiterer Software sehr vereinfacht.
-----+ 
-===== Port-Knocking =====+=== Port-Knocking ===
Dieser Abschnitt stellt ein kleines How-To zur Installation und Konfiguration des [http://openwrt.org OpenWRT]-Paketes [http://tracker.openwrt.org/packages/show.php?id=1287 knockd] dar. Der Autor erhebt keinen Anspruch auf Vollständigkeit oder Perfektion, aber da es sich sowieso um ein Wiki handelt lasst eurer Kritik freien lauf und ändert was ihr für nötig haltet ;-) by Age_M Dieser Abschnitt stellt ein kleines How-To zur Installation und Konfiguration des [http://openwrt.org OpenWRT]-Paketes [http://tracker.openwrt.org/packages/show.php?id=1287 knockd] dar. Der Autor erhebt keinen Anspruch auf Vollständigkeit oder Perfektion, aber da es sich sowieso um ein Wiki handelt lasst eurer Kritik freien lauf und ändert was ihr für nötig haltet ;-) by Age_M
-------+ 
-<br>+====Was ist Port-Knocking?====
-''' 1. Was ist Port-Knocking? '''<br>+
Port-Knocking hat, wie der Name bereits impliziert, etwas mit Klopfzeichen zu tun. Die meisten kennen sicherlich den berühmten Ausruf "Sesam, öffne dich!" aus 'Ali Baba und die 40 Räuber', mit dem sich Ali Baba den Zutritt zur Höhle der 40 Räuber verschafft hat. ?hnlich funktioniert auch das Port-Knocking, allerdings nicht durch Sprache, sondern durch eine vorher definierte Sequenz aus TCP- und UDP-Paketen. Ein Daemon, der 'knockd', überwacht den eingehenden Netzwerkverkehr einer Schnittstelle und überprüft diesen auf die in der Konfigurationsdatei festgelegten Sequenzen. Wird eine Sequenz erkannt, zum Beispiel ein TCP-Paket auf Port 6666, dann ein UDP-Paket auf Port 4444 und schlie?lich wieder ein TCP-Paket auf Port 6666, so wird der in der Konfigurationsdatei festgelegte Befehl ausgeführt. Die Befehle sind dabei vom Benutzer frei wählbar. Port-Knocking hat, wie der Name bereits impliziert, etwas mit Klopfzeichen zu tun. Die meisten kennen sicherlich den berühmten Ausruf "Sesam, öffne dich!" aus 'Ali Baba und die 40 Räuber', mit dem sich Ali Baba den Zutritt zur Höhle der 40 Räuber verschafft hat. ?hnlich funktioniert auch das Port-Knocking, allerdings nicht durch Sprache, sondern durch eine vorher definierte Sequenz aus TCP- und UDP-Paketen. Ein Daemon, der 'knockd', überwacht den eingehenden Netzwerkverkehr einer Schnittstelle und überprüft diesen auf die in der Konfigurationsdatei festgelegten Sequenzen. Wird eine Sequenz erkannt, zum Beispiel ein TCP-Paket auf Port 6666, dann ein UDP-Paket auf Port 4444 und schlie?lich wieder ein TCP-Paket auf Port 6666, so wird der in der Konfigurationsdatei festgelegte Befehl ausgeführt. Die Befehle sind dabei vom Benutzer frei wählbar.
-------+ 
-<br>+====Wozu braucht man Port-Knocking?====
-''' 2. Wozu braucht man Port-Knocking? '''<br>+
Port-Knocking kann in vielerlei Hinsicht eingesetzt werden. Eine Anwendungsmöglichkeit ist zum Beispiel die Abwehr von [http://de.wikipedia.org/wiki/Portscan Portscans]. Da Portscanner häufig einen Port nach dem anderen durchprobieren, können diese erkannt und wirksam durch das dynamische Anpassen der Firewallkonfiguration oder durch eine Trennung der Internetverbindung vereitelt werden. Eine weitere Anwendungsmöglichkeit ist die Fernadministration. Der Systemadministrator ist mit Port-Knocking in der Lage einzelne Befehle oder Scripte auszuführen ohne das ein direkter Zugriff auf den Host benötigt wird. Am häufigsten jedoch wird Port-Knocking dazu verwendet, Dienste wie zum Beispiel SSHd, HTTPd oder FTPd zu verstecken und so das Angriffsrisiko zu minimieren. Dafür wird ebenso wie bei der Abwehr von Portscans das dynamische Anpassen der Firewallkonfiguration verwendet. Port-Knocking kann in vielerlei Hinsicht eingesetzt werden. Eine Anwendungsmöglichkeit ist zum Beispiel die Abwehr von [http://de.wikipedia.org/wiki/Portscan Portscans]. Da Portscanner häufig einen Port nach dem anderen durchprobieren, können diese erkannt und wirksam durch das dynamische Anpassen der Firewallkonfiguration oder durch eine Trennung der Internetverbindung vereitelt werden. Eine weitere Anwendungsmöglichkeit ist die Fernadministration. Der Systemadministrator ist mit Port-Knocking in der Lage einzelne Befehle oder Scripte auszuführen ohne das ein direkter Zugriff auf den Host benötigt wird. Am häufigsten jedoch wird Port-Knocking dazu verwendet, Dienste wie zum Beispiel SSHd, HTTPd oder FTPd zu verstecken und so das Angriffsrisiko zu minimieren. Dafür wird ebenso wie bei der Abwehr von Portscans das dynamische Anpassen der Firewallkonfiguration verwendet.
-------+ 
-<br>+====Voraussetzungen====
-''' 3. Voraussetzungen: '''<br>+
-WRT54G/GS oder DD-WRT-kompatibles Gerät (Autor verwendet: WRT54GS_v1.1) -WRT54G/GS oder DD-WRT-kompatibles Gerät (Autor verwendet: WRT54GS_v1.1)
-DD-WRT_Firmware (Autor verwendet: DD-WRT_v23_alpha_VoIP_2005-08-22) -DD-WRT_Firmware (Autor verwendet: DD-WRT_v23_alpha_VoIP_2005-08-22)
-JFFS muss aktiviert sein und noch über mindestens 700kb Speicher verfügen -JFFS muss aktiviert sein und noch über mindestens 700kb Speicher verfügen
-------+ 
-<br>+====Installation der benötigten Pakete====
-''' 4. Installation der benötigten Pakete: '''<br>+
Zunächst muss eine Remote-Shell via SSH oder Telnet auf dem Router geöffnet und die Paketdatenbank von 'ipkg' aktualisiert werden. Dies geht mit dem Befehl: Zunächst muss eine Remote-Shell via SSH oder Telnet auf dem Router geöffnet und die Paketdatenbank von 'ipkg' aktualisiert werden. Dies geht mit dem Befehl:
~# ipkg update ~# ipkg update
Line 261: Line 257:
~# export LD_LIBRARY_PATH=/lib:/usr/lib:/jffs/usr/lib ~# export LD_LIBRARY_PATH=/lib:/usr/lib:/jffs/usr/lib
Nun sollte eine erneute Funktionsüberprüfung von knockd zum Erfolg führen. Nun sollte eine erneute Funktionsüberprüfung von knockd zum Erfolg führen.
-------+ 
-<br>+====Startscripte erstellen====
-''' 5. Startscripte erstellen: '''<br>+
Zunächst sei gesagt, das die ersten zwei Schritte nicht zwingend notwendig, jedoch der ?bersichtlichkeit dienlich sind.<br> Zunächst sei gesagt, das die ersten zwei Schritte nicht zwingend notwendig, jedoch der ?bersichtlichkeit dienlich sind.<br>
-5.1: Erstellen eines Ordners für Scripte, in diesem Fall /jffs/scripts.<br>+=====Erstellen eines Ordners für Scripte=====
 +In diesem Fall /jffs/scripts.
~# mkdir /jffs/scripts ~# mkdir /jffs/scripts
-5.2: Erstellen eines allgemeinen Startup-Scripts, welches wiederum weitere Scripte starten kann.<br>+=====Erstellen eines allgemeinen Startup-Scripts, welches wiederum weitere Scripte starten kann.<br>
~# echo "#!/bin/sh" > /jffs/scripts/startup.sh ~# echo "#!/bin/sh" > /jffs/scripts/startup.sh
~# echo "# Insert startup-scripts here" >> /jffs/scripts/startup.sh ~# echo "# Insert startup-scripts here" >> /jffs/scripts/startup.sh
-5.3: Als nächstes wird das Script für den Start von knockd erstellt.<br>+=====Erstellen eines Scriptes für den Start von knockd=====
 +Als nächstes wird das Script für den Start von knockd erstellt.<br>
~# echo "#!/bin/sh" > /jffs/scripts/start_knockd.sh ~# echo "#!/bin/sh" > /jffs/scripts/start_knockd.sh
~# echo "export LD_LIBRARY_PATH=/lib:/usr/lib:/jffs/usr/lib" >> /jffs/scripts/start_knockd.sh ~# echo "export LD_LIBRARY_PATH=/lib:/usr/lib:/jffs/usr/lib" >> /jffs/scripts/start_knockd.sh
Line 277: Line 274:
Da die Scripte bisher nur reguläre Dateien sind müssen diese natürlich noch ausführbar gemacht werden.<br> Da die Scripte bisher nur reguläre Dateien sind müssen diese natürlich noch ausführbar gemacht werden.<br>
~# chmod 755 /jffs/scripts/* ~# chmod 755 /jffs/scripts/*
-5.4: Automatischen Start einrichten<br>+=====Automatischen Start einrichten=====
Damit 'knockd' automatisch beim Bootvorgang des Routers ausgeführt wird, muss die variable rc_startup des nvram noch überarbeitet werden. Wenn die Schritte 5.1 und 5.2 übersprungen wurden lautet der Befehl:<br> Damit 'knockd' automatisch beim Bootvorgang des Routers ausgeführt wird, muss die variable rc_startup des nvram noch überarbeitet werden. Wenn die Schritte 5.1 und 5.2 übersprungen wurden lautet der Befehl:<br>
~# nvram set rc_startup="/jffs/scripts/start_knockd.sh" ~# nvram set rc_startup="/jffs/scripts/start_knockd.sh"
Line 285: Line 282:
~# nvram commit ~# nvram commit
~# echo "/jffs/scripts/start_knockd &" >> /jffs/scripts/startup.sh ~# echo "/jffs/scripts/start_knockd &" >> /jffs/scripts/startup.sh
-------+ 
-<br>+====knockd.conf anpassen====
-''' 5. knockd.conf anpassen: '''<br>+
Das Anpassen der knockd.conf ist schnell erledigt. Hierfür verwendet man am besten den Editor 'vi', da dieser Bestandteil der DD-WRT-Firmware ist. Also:<br> Das Anpassen der knockd.conf ist schnell erledigt. Hierfür verwendet man am besten den Editor 'vi', da dieser Bestandteil der DD-WRT-Firmware ist. Also:<br>
~# vi /jffs/etc/knockd.conf ~# vi /jffs/etc/knockd.conf
Line 294: Line 290:
UseSyslog UseSyslog
Damit ist die allgemeine Konfiguration des Dienstes abgeschlossen, jedoch fehlen nun noch die Anwendungen. Damit ist die allgemeine Konfiguration des Dienstes abgeschlossen, jedoch fehlen nun noch die Anwendungen.
-------+ 
-''' 6. Anwendungsbeispiele: '''<br>+====Anwendungsbeispiele====
Da es sich hier um ein Wiki handelt, hoffe ich, das jeder, der interessante Anwendungsbeispiele für das Port-Knocking findet, diese hier mit kurzer Beschreibung aufführt. Informationen zur Konfiguration der Anwendungsmöglichkeiten gibts [http://www.zeroflux.org/cgi-bin/cvstrac/knock/wiki HIER]. Viel Spass beim "klopfen" ;) Da es sich hier um ein Wiki handelt, hoffe ich, das jeder, der interessante Anwendungsbeispiele für das Port-Knocking findet, diese hier mit kurzer Beschreibung aufführt. Informationen zur Konfiguration der Anwendungsmöglichkeiten gibts [http://www.zeroflux.org/cgi-bin/cvstrac/knock/wiki HIER]. Viel Spass beim "klopfen" ;)
<br> <br>
Line 319: Line 315:
stop_command = /usr/sbin/iptables -D INPUT -s %IP% -p tcp --dport 443 -j ACCEPT stop_command = /usr/sbin/iptables -D INPUT -s %IP% -p tcp --dport 443 -j ACCEPT
<br> <br>
-------+ 
-''' 7. Die Client-Tools '''<br>+====Die Client-Tools====
Die Verwendung von 'knockd' alleine reicht natürlich nicht aus. Die Client-Seite muss ja schlie?lich irgendwie anklopfen können. [http://www.zeroflux.org/cgi-bin/cvstrac/knock/wiki HIER] bekommt man die nötigen Tools um erfolgreich Klopfzeichen senden zu können. Wer wie der Autor 'Gentoo-Linux' auf der Clientseite verwendet, kann einfach Die Verwendung von 'knockd' alleine reicht natürlich nicht aus. Die Client-Seite muss ja schlie?lich irgendwie anklopfen können. [http://www.zeroflux.org/cgi-bin/cvstrac/knock/wiki HIER] bekommt man die nötigen Tools um erfolgreich Klopfzeichen senden zu können. Wer wie der Autor 'Gentoo-Linux' auf der Clientseite verwendet, kann einfach
emerge knock emerge knock
Line 333: Line 329:
knockd: 70.240.252.241 (p642CFCF4.dip.t-dialin.net): opencloseWEB: Stage 3 knockd: 70.240.252.241 (p642CFCF4.dip.t-dialin.net): opencloseWEB: Stage 3
knockd: 70.240.222.241 (p642CFCF4.dip.t-dialin.net): opencloseWEB: OPEN SESAME knockd: 70.240.222.241 (p642CFCF4.dip.t-dialin.net): opencloseWEB: OPEN SESAME
-------+ 
-<br>+====8. Quellen:====
-''' 8. Quellen: '''<br>+
http://wrt-wiki.bsr-clan.de/index.php?title=Knockd <br> http://wrt-wiki.bsr-clan.de/index.php?title=Knockd <br>
http://www.zeroflux.org/cgi-bin/cvstrac/knock/wiki <br> http://www.zeroflux.org/cgi-bin/cvstrac/knock/wiki <br>
http://www.portknocking.org/ <br> http://www.portknocking.org/ <br>
------- 
-====[[Bootvorgang]]==== viele interessante Details zum Bootvorgang eines WRT54G v2.2 
-----+===[[Bootvorgang]]=== viele interessante Details zum [[Bootvorgang]] eines WRT54G v2.2
-<br>+
==Hardware== ==Hardware==

Revision as of 07:43, 11 November 2005