Vorheriger Abschnitt Inhaltsverzeichnis Nächster Abschnitt

11.12 Zugriff von Außen auf den eigenen Server

Hat man eigenen Webspace, kann man Arktur veranlassen, bei jedem Onlinegehen die z.Zt. gültige IP-Adresse mittels einer Website auf eine verborgene Seite beim Provider zu übertragen. Damit hat man von außen vollen Zugriff auf die Seiten, die einem im Online-Interface zur Verfügung stehen.

Grundlage dieser Anleitung sind die Hinweise und Infos aus der Maillingliste SchanUser, die sich mit dem ODS-Server Arktur beschäftigt.

Idee: Wenn Arktur sich ins Internet einwählt, wird ein bestimmtes Script abgearbeitet. Am Ende des Scripts steht der Aufruf eines eigenen Scripts, das

  1. eine Website generiert,
  2. die Übertragung auf eine Website beim Provider übernimmt,
  3. den Erfolg in eine Logdatei überträgt.
  4. den Aufruf seines eigenen Scripts veranlassen

1. Website generieren

Die folgenden Zeilen generieren eine Website, die temporär im Ordner /tmp gespeichert wird. Die Datei selbst erhält den Namen ipup mit Rechten 700 und wird z.B. im Ordner /usr/local/eigene gespeichert.

      #!/bin/sh
      #
      # laedt die aktuelle IP-Adresse auf meine Seiten beim Provider
      MYIP=`/sbin/ifconfig ppp0 | grep P-t-P | cut -d: -f2 | cut -d" " -f1`

      REMOTESYS=www.meine_domaen.de # oder feste IP-Adresse

      export HOME=/root

      # Seite in /tmp/ipload schreiben
      echo "<HTML>" >> /tmp/ipload
      echo "<meta http-equiv=pragma content=no-cache>" >> /tmp/ipload
      echo "<HEAD>" >> /tmp/ipload
      echo "<TITLE></TITLE>" >> /tmp/ipload
      echo "</HEAD>" >> /tmp/ipload
      echo "<BODY>" >> /tmp/ipload
      echo "<h2><center>ARKTUR zu Hause:</center></h2><p>" >> /tmp/ipload
      echo "<p>&nbsp;</p>" >> /tmp/ipload
      echo "<h3><p align=center>" >> /tmp/ipload
      echo "<a href=\"http://$MYIP/admin2/index.htm\">Administration</a>" >> /tmp/ipload
      echo "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" >> /tmp/ipload
      echo "<a href=\"http://$MYIP/webmail/index.php3\">Mail</a>" >> /tmp/ipload
      echo "</BODY>" >> /tmp/ipload
      echo "</HTML>" >> /tmp/ipload

      # Seite umbenennen und
      mv /tmp/ipload /tmp/index.html
      sleep 3

      # per FTP uebertragen
      ftp $REMOTESYS

      # in Log-Datei schreiben
      echo "`date`: IP $MYIP uebertragen" >> /var/log/ipup

      # und loeschen
      rm -rf /tmp/index.html
      exit 0

2. Die Übertragung per FTP anstoßen:

Im Ordner /root wird eine Datei .netrc (Punkt beachten!) mit den Rechten 600 erstellt. Wichtig: die letzte Zeile dieser Datei muss eine Leerzeile sein!!!!

      # Steuerdatei fuer automatisches FTP
      #
      machine "www.meine_domaen.de"
      login "meinUsername"
      password "meinPasswort"
      macdef init
      binary
      prompt
      put /tmp/index.html /www/geheim/index.html
      quit

Diese Datei überträgt aus dem Verzeichnis /tmp die Datei index.html zu meinem Provider und dort in das Verzeichnis /www/geheim. Damit ist unter der Adresse www.meine_domaen.de/geheim die eben generierte Seite sichtbar.

Wer auf Nummer sicher gehen will, versieht auch bei seinem Provider das Verzeichnis geheim mit einem Schutz mittels .htaccess.

3. Logdatei

Im Pfad /var/log kann man das erfolgreiche Übertragen in der Datei ipup kontrollieren.

4. Aufruf seines Scripts veranlassen

Sobald Arktur die Verbindung ins Internet herstellt, wird die Datei /etc/ppp/ip-up durchlaufen:

a: Die Seite mit mc zum Editieren öffnen
b: Etwa in der 42. Zeile findet man das Ende eines CASE-Abschnittes und den Befehl exit 0 ;; Vor diese Zeile setzt man den Aufruf des eigenen Scripts: /usr/local/eigene/ipup. Handelt es sich um einen schnellen Rechner, so sollte man vor dem Aufruf des Scripts mit sleep 30 noch eine Wartezeit definieren.

Wer nun verhindern will, dass mit der gültigen IP das online- oder admin-Interface von außen aufgerufen werden kann, sollte in der Datei /etc/httpd/access.conf folgende Änderungen vornehmen:

      <Directory /home/www>
      Options SymLinksIfOwnerMatch IncludesNOEXEC
      AllowOverride None
      order deny,allow
      deny from all
      allow from 192.168.
      </Directory>

      <Directory /home/www/cgi-bin>
      Options Includes ExecCGI
      AllowOverride None
      order deny,allow
      deny from all
      allow from 192.168.
      </Directory>

Anschließend muss der Apache neu gestartet werden: /sbin/init.d/apache restart

Innerhalb der Schule sind beide Seiten weiterhin abrufbar.

Die Dateien .netrc und ipup sind in der Anlage beigefügt und brauchen nur in die richtigen Ordner kopiert und etwas angepasst werden. Nicht mit einem DOS-Editor bearbeiten!


Vorheriger Abschnitt Inhaltsverzeichnis Nächster Abschnitt
© Stephan Dreisbach, Sigurd Mahr, Januar 2002