Position: Home > Computer Know-How / Gewusst Wie > ClarkConnect

ClarkConnect

Nachdem ich mich monatelang einerseits mit einer sogenannten Personal Firewall unter Windows 2000 rumschlug, was das Arbeiten am PC erschwert und andererseits schon lange Linux-Erfahrungen sammeln wollte, machte ich vor kurzem Nägel mit Köpfen und schaffte mir einen zweiten PC an, der als Internet-Gateway dienen soll. Mit allen Schikanen, maximale Sicherheit bei gleichzeitig nicht eingeschränktem Komfort.

Lösungen für solche Zwecke gibt es zahlreich, manche passen sogar auf eine Diskette und verlangen meist sehr geringe Hardware als Voraussetzung. Oft reicht ein einfacher Pentium mit 16 MB RAM. Plattenplatz sollte jedoch nicht zu knapp da sein, 500 MB bis 1 GB sollte vorhanden sein. Und zumindest eine DSL-Flat-Rate-Verbindung, ISDN ist schwierig. Alles ist darauf zugeschnitten, dass der Gateway-PC stets läuft und auch die Verbindung praktisch immer besteht.

Ich möchte aber noch einiges rumexperimentieren, also kaufte ich einen neuen PC, es ist ein AMD Duron 1.2 GHz, 128 MB RAM, ein MSI-All-In-One-Board (MS-6378), ein mieses DVD-Laufwerk und eine schön schnelle und leise 20 GB-Platte von Seagate.

Meine Wahl als Software fiel auf ClarkConnect, ein Linux-Paket, basierend auf Redhat, welches einen PC praktisch in 10 Minuten in ein Internet-Gateway mit allen wichtigen Funktionen verwandelt.

Eine bootfähige CD-ROM brennt man einfach aus dem downgeloadeten CD-ISO-Image, startet den PC neu und befolgt die Installationsanweisungen. Nach einem Neustart ist das Gateway schon fertig, man muss die IP-Adresse nur noch den Rechnern im Netzwerk als Standard-Gateway und als DNS-Server beibringen.

Es gibt nur ein paar winzige Workarounds, die es für bekannte Probleme bei Clarkconnect gibt und die man einfach manuell nachrüstet.

PPPoE-Verbindung startet nicht
  • Starten von "adsl-setup", Eingeben aller wesentlichen Daten zur Verbindung zum ISP, außerdem:
    • Activate-on-Demand: no
    • Firewalling: NONE
  • Editieren der Datei "/sbin/adsl-connect":
    • ...
      LOGGER="/usr/bin/logger -t `basename $0`"
      NETWORKDIR=/etc/sysconfig/network-scripts
      LS=/bin/ls

      ifconfig eth0 down
      ifconfig eth0 up mtu 1472

      get_device() {
      ...

  • Neustart
  • Online gehen mit "/sbin/ifup ppp0"
  • Offline gehen mit "/sbin/ifdown ppp0"
Service Netwatchd spuckt Fehler
  • In der Datei "/etc/netwatchd" müssen ganz am Ende zwei Server, die nahe am eigenen Gateway im Internet stehen (z.B. vom ISP) als Test-Ping-Ziele manuell eingetragen werden, dazu die betreffende Zeile auskommentieren und die IPs der Server eintragen
  • Dienst neu starten mit "service netwatchd restart"
Online und Offline gehen nach Bedarf
  • Eigentlich ist alles auf ein stetiges Bestehen der Internet-Verbindung ausgerichtet. Der Dienst netwatchd sendet deswegen auch Test-Pings und erzeugt danach im Log einen "Heartbeat". Ist das Gateway nicht mehr online, wählt netwatchd automatisch neu.
    Das will ich aber nicht. Ich will online und offline gehen, wann ich will. Also schreibe ich zwei kurze Skripte, lege sie in "/usr/bin", damit sie immer gefunden werden und setze die Rechte so, dass sie ausführbar sind.
    Darin wird netwatchd angehalten, wenn das Gateway offline ist und online gestartet. Dabei wird auch das dynamische DNS aktualisiert. Außerdem MUSS der Firewall-Service auch immer gestoppt und neu gestartet werden, da er auf der dynamisch vom ISP zugewiesenen IP aufbaut.
  • Online:
    #!/bin/sh

    service firewall stop
    /sbin/ifup ppp0
    service firewall start
    service netwatchd start

  • Offline:
    #!/bin/sh

    service firewall stop
    service netwatchd stop
    /sbin/ifdown ppp0

Snort-Rules aktualisieren

Snort ist das Intrusion Detection System (IDS), welches in ClarkConnect zum Einsatz kommt. Es ist sehr leistungsfähig und verbreitet und hat außerdem ein sehr witziges Logo.

Snort erkennt Angriffe von außen nach bestimmten Regeln, ähnlich von Firewall-Regeln, nur in einem anderen Bereich. Diese Regeln sollten stets aktuell sein, weil sich auch die Angriffsmethoden mit der Zeit ändern.

Dazu gibt es zum Beispiel das Skript "Oinkmaster", welches man sich auch von der Snort-Website downloaden kann (download/contrib/rule_management/oinkmaster/)

Oinkmaster lädt automatisch die neuesten Regeln aus dem Internet und installiert sie.

Dazu muss das Skript für einen anderen Nutzer außer root ausführbar sein (als root ist es nicht ausführbar) und auch die Verzeichnisse der Snort-Rules und eines evtl. angegebenen Backup-Verzeichnisses müssen für diesen Nutzer Schreibrechte haben. Ich lege das Skript wieder unter "/usr/bin" und starte mit

/usr/bin/oinkmaster.pl -o /etc/snort -b /etc/snort.backup

 

Security Fixes etc. automatisch downloaden und installieren

Obwohl Clarkconnect selbst einen Update-Service bietet, der sich sehr leicht über das Webinterface bedienen lässt, hielt ich Ausschau nach einer besseren Möglichkeit, da der Clarkconnect-Service nur relativ eingeschränkt ist und evtl. nebenbei installierte Software im System nicht erkennt.

Ich fand "autorpm", dieses Paket gibt es als leicht zu installierendes RPM-Paket.

Nach der Installation mit "rpm -ivh ..." schaut man in "/etc/autorpm.d" und konfiguriert dort die Software. Ich tat dies so, dass sie ausschließlich Updates vorhandener Pakete downloadet und sie auch installiert, einschließlich Kernel-Updates. Die Software kann ansonsten auch den gesamten Redhat-Server an System-Updates spiegeln, was entsprechend lange dauert.

Die Systemarchitektur ist zu bestimmen, um die Downloads weiter einzuschränken:
Set_Var("Arch", "i686|i386");

Außerdem aktiviere ich nur den Download der Redhat-Updates (Zeile mit "redhat-updates.conf"), die Update-Installation (Zeile mit "apply-updates.sample") und den Update der Software selbst (Zeile mit "autorpm-updates.sample"). Die Zeile mit "get-updates.sample" lasse ich deaktiviert, weil sie zu doppelten Downloads fuehrte.

In der Datei "redhat-updates.conf" stelle ich laut Dokumentation dort drin alles so ein, dass die Installation automatisch läuft und Kernel-Updates ebenfalls getätigt werden. Dies ist evtl. riskant, aber bisher klappte es makellos.

In den anderen Konfigurations-Dateien sind ansonsten alle Optionen deaktiviert, die den Download neuer und bisher nicht vorhandener Software betrifft ("action (new)").

Gestartet wird der Vorgang mit "autorpm auto", wodurch der Download und die nachfolgende Installation gestartet wird. Dies kann je nach Ausbaustufe des Systems recht lange dauern. Außerdem funktioniert die Updatefunktion mit allen Redhat-Versionen, die momentan noch unterstützt werden.

ClarkConnect Logo