De:YaCyAndIPCop

Aus YaCyWiki
Wechseln zu: Navigation, Suche

YaCy und IPCop

Keine Garantie für Fehlerfreiheit - Irrtum vorbehalten. Für allfällige Schäden wird nicht gehaftet. Eine Aufstellung mit Beschreibung aller im Folgeden genannten Programme befindet sich am Schluss dieser Beschreibung.


Einleitung

IPCop ist eine dedizide Firewall für kleine und grosse Netzwerke die auf einem separaten Rechner läuft. Die Software ist frei Verfügbar und kann mit Addons an eigene Bedürfnisse angepasst werden. IPCop schützt das LAN (,DMZ und WLAN), regelt den aus- und eingehenden Verkehr und YaCy soll:

  • die besuchten Internetseiten laut seiner Einstellungen crawln und indexieren.
  • dem LAN / WAN als SUMA zur Verfügung stehen.
  • als Peer dem YaCy - Netz dienen.


Voraussetzung

Vorausgesetzt wird:

  • YaCy ist installiert und läuft als Junior, Senior oder Principal
  • IPCop ist installiert und funktioniert (minimal rot + grün)

auf verschiedenen Rechnern. Es ist egal ob YaCy auf einem Arbeitsplatz - Rechner läuft oder als Server (separater Rechner) arbeitet. Zu Beachten ist, dass die Last auf dem YaCy - Rechner steigt je grösser das LAN (+ WLAN) ist und je mehr das Internet genutzt wird.


Netzwerk-Skizze

Das Bild vermittelt einen Überblick über den Netzaufbau.

  • rot = WAN. Internet-Anbindung
  • grün = LAN. Das lokale Netzwerk.
  • orange = DMZ. Das Netzwerk für Dienste die im Internet angeboten werden.
  • blau = WLAN. Das Funknetzwerk.
YaCy und IPCop im Netzwerk

Beachte: Streng Firewall-Technisch würde YaCy als Serverdienst in die DMZ gehören. Diese Doku geht z.Z. darauf nicht ein. Stichwort: Datenverkehr orange -> grün!


Einrichten

Das Surfen / die Benutzung des Internet über den IPCop, muss nun YaCy bekannt gegeben werden. Der ganze abgehende Verkehr läuft über IPCop als Firewall und davon bekommt YaCy nichts mit. Also muss IPCop YaCy mitteilen welche Seiten von den Benutzern besucht werden, damit YaCy seine Aufgaben erfüllen kann.


YaCy vorbereiten

In YaCy muss ein Benutzer mit Passwort eingerichtet werden. Das Anlegen ist sehr einfach:

  1. Im GUI von YaCy den Menupunkt "erweiterte Einstellungen" anwählen (man muss Administrator sein).
  2. Im folgen Fenster ("Einstellungen") den Punkt "Proxy Access Settings" anklicken.
  3. Im Folgefenster ganz unten bei 'Accounts:' "Proxy Accounts" anklicken.
  4. Im nun folgenden Fenster ('User Administration') einen neuen Benutzer erfassen. (Die Felder sind selbsterklärend.)

Die Felder:

  • Username:
  • Passwort:
  • Passwort(wiederholen):
  • Rechte (hier muss 'Proxy' angewählt sein!)

Ausfüllen, Username + Passwort merken (wird im Folgenden gebraucht) und auf "Benutzer speichern" klicken. Nun ruft man nochmals die Menu-Punkte wie unter 1. und 2. beschrieben auf und setzt in der Seite "Einstellungen" ganz unten bei 'Accounts:' vor 'Nutze Proxy Accounts' einen Haken rein und bestätigt mit einem Klick auf "Submit" diese Einstellung. Fertig.


IPCop

Damit IPCop mit YaCy in Verbindung treten kann, muss ein Perl-Script auf den Cop-Server gestellt werden. theli (YaCy-Developer) hat dazu "urlRedirector" geschrieben und in SVN rev. 1141 veröffentlicht. Zu finden in der YaCy-Installation unter source\de\anomic\urlRedirector.pl

  • Beachte dazu im Wiki auch [1]

In diesem File müssen zuerst einige Anpassungen vorgenommen werden. Öffne es mit einem Editor (z.B. vi unter Linux oder mit Proton unter Windows) und suche folgende Zeilen (15 - 19):

my $user = "admin";
my $pwd  = "";
my $host = "localhost";
my $port = "8090";

die Variablen ($) anpassen.

my $user = "  "; #Zwischen die "-Zeichen den Benutzernamen eintragen wie unter 'YaCy vorbereiten' vergeben.
my $pwd = "  "; #Zwischen die "-Zeichen das Passwort eintragen wie unter 'YaCy vorbereiten' vergeben.
my $host = " "; #Zwischen die "-Zeichen den Host-Namen auf dem YaCy läuft eintragen oder (besser) die IP des YaCy - Rechner.
my $port = "  "; #Zwischen die "-Zeichen den Port von YaCy eintragen wie in den Einstellungen von YaCy vergeben. Standard 8090

Sieht dann als Beispiel so aus:

my $user = "yacyipcop";
my $pwd  = "ganzgeheim";
my $host = "192.168.2.10";
my $port = "8090";

Speichern nicht vergessen. Unter Linux mit scp oder unter Windows mit WinSCP das File urlRedirector.pl auf den IPCop stellen ins Directory /usr/sbin. Nun auf den IPCop einloggen. (Konsole, per ssh oder mit PuTTY). Als User root mit dem Befehl cd /usr/sbin ins Directory /usr/sbin wechseln und die Rechte am File urlRedirector.pl anpassen mit chmod 755 urlRedirector.pl. Ein ls -l urlRedirector.pl muss folgendes zeigen:

-rwxr-xr-x  1 root root 3504 2006-06-03 17:54 urlRedirector.pl

(3504 2006-06-03 17:54 sieht bei Dir sicher anders aus).

IPCop mit Proxy (Standard Installation)

Die folgenden Schritte nur ausführen wenn IPCop in der Standard-Version installiert ist. also OHNE Advanced Web Proxy und Copfilter.

  • als User root auf den IPCop einloggen
  • wechsle ins Directory /var/ipcop/
  • mit dem Editor vi das File acl öffnen (vi acl)
  • am Ende die Zeile "redirect_program /usr/sbin/urlRedirector.pl" (ohne ") einfügen. (Ganz ans Ende fahren, i drücken, redirect_program /usr/sbin/urlRedirector.pl schreiben, die Taste ESC drücken)
  • speichern und den Editor verlassen (die Tasten :wq drücken)
  • im GUI von IPCop den Proxy neu starten.

Fertig


IPCop mit Advanced Web Proxy (Addon installiert)

Dieses Addon kann man hier [2] downloaden. Es ersetzt Proxy aus der Standard-Installation. Nur ausführen wenn Copfilter NICHT installiert ist und Advanced Web Proxy läuft.

  • als User root auf den IPCop einloggen
  • wechsle ins Directory /var/ipcop/proxy/advanced/acls/
  • mit dem Editor vi das File include.acl öffnen (vi include.acl)
  • am Ende die Zeile "redirect_program /usr/sbin/urlRedirector.pl" (ohne ") einfügen (Ganz ans Ende fahren, i drücken, redirect_program /usr/sbin/urlRedirector.pl schreiben, die Taste ESC drücken)
  • speichern und den Editor verlassen (die Tasten :wq drücken)
  • im GUI von IPCop Advanced Web Proxy neu starten.

Fertig


IPCop mit Copfilter (Addon installiert)

Der Copfilter [3] bietet AntiSpam Filter und ermöglicht das Einbinden von AntiViren Programmen. Jedoch funktioniert die Zusammenarbeit wie oben beschrieben (noch) nicht.


Testen

Um das Ganze zu testen kann man die Funktion von urlRedirector.pl "von Hand" benutzen. Dazu auf den IPCop einloggen (auf der Konsole, per ssh oder mit PuTTY).

  • mit cd /usr/sbin/ ins Verzeichnis wechseln wo urlRedirector.pl liegt
  • vi./urlRedirector.pl eintippen und Enter / Eingabetase drücken
  • http://www.rhb.ch eintippen (eine belibige URL) und Enter / Eingabetase drücken
  • EXIT eintippen und Enter / Eingabetase drücken. Damit wird urlRedirector.pl verlassen

Im Logfile von YaCy taucht unmittelbar nach Eingabe der URL eine Zeile auf die so ähnlich ausschaut:

D 2006/06/11 01:05:08 URL-REDIRECTOR Receiving request http://www.rhb.ch

Tip: Mit 2 Fenstern oder 2 Konsolen (Alt + 1 / Alt + 2) machen. Erleichtert das Testen.

Abschliessendes

Diese ausführliche Beschreibung liest sich nach einer Menge Arbeit und riesem Aufwand. In Tat und Wahrheit ist das Ganze unter 10 Minuten (inkl. Test) erledigt. Die Vorteile machen den Aufwand mehr wie wett:

  • IPCop als Firewall schützt das lokale Netzwerk zuverlässig.
  • YaCy arbeitet als SUMA für Dein Netzwerk und steht dem YaCy-Projekt als Peer zur Verfügung.
  • urlRedirector.pl sorgt für die nötige (automatisierte) Kommunikation zwischen IPCop und YaCy.
  • Beide Projekte verfügen über eine starke Gemeinschaft, wo bei Problemen gerne geholfen wird.

Geschwindigkeits-Einbusen konnte der (Ur)Autor nicht feststellen. Garantie auf Fehlerfreiheit kann nicht gewährt werden, Schadenersatzansprüche sind ausgeschlossen.


Bezugsquellen

  • IPCop:

Linux Debian basierend. Alles zu und über IPCop, der Linux Debian Firewall Distributon, ist hier nachzulesen: [4]

  • Proton

Windows Programm. Ein schlanker Code-Editor von Ulli Meybohm mit leistungsfähigem Syntax-Highlighting, komplexe Such- und Ersetzenfunktionen. [5]

  • PuTTY

Windows Programm. PuTTY ist eine freie Implementierung von Telnet und SSH und ermöglicht so den Zugang zu Linux und UNIX - Systemen. [6] PuTTY kann in WinSCP eingebunten werden.

  • WinSCP

Windows Programm. WinSCP ist ein Opensource und Freeware Programm mit SFTP / SSH. SCP wird auch unterstützt. Die Hauptfunktion ist das sichere Kopien von Dateien zwischen dem Lokalen- und einem Remote-Computer. [7]

Links

[8] Artikel im Forum