Hauptseite
CGI-Forum
Internet Speed
Internet Infos
Archiv
Awards
CGI-Links
CGI-FAQ
XWolf.com
Mein Gästebuch
Meine Homepage
Realm of CGI



Doppelklick - Professionelles Online Werbenetz
Doppelklick

In diesem Paket sind alle Routinen zusammengefasst, die ein Passwortschutz oder eine Restriktion von bestimmten Hosts ermöglicht. Die Sicherheit, die hiermit geboten wird ist zwar weit davon entfehrnt perfekt zu sein, aber es hält jeden Probier-mal-Hacker ab. Gegen richtige Hacker nutzt dagegen kein Skript im Web, auch dieses nicht.
Dies ist eine abgespeckte Version. D.h. die Verschluesselungsroutine wurde herausgenommen, damit diese nicht öffentlich wird. Jeder der sich einigermassen gut mit PERL auskennt sollte in der Lage sein, seine eigenen Verschlüsselungsroutinen einzubauen.

Source Code

sec.pl
secure.pl
cgi-library.pl

Aufruf

Der Aufruf erfolgt selbstständig durch die Programme, in denen das Sicherheitstool eingebaut ist.
Im Moment nur durch das Diskussions-Board.

Damit das Tool aktiv wird, muss es in dem aktuellen Verzeichniss die Datein .secure finden und lesen können. In dieser Datei sind alle relevanten Einstellungen gesichert. Hier ist ein Beispiel, wie eine solche Datei auszusehen hat:

Moderator:Wolfgang Wiese,xwolf@xwolf.com
Code:ABC123
Restrict:user
Interval:150
Begin User
Tom,ABGIHfXPCEpFU
Tim,ABrku1FF949Cs
End User
Begin Hosts
rzcip31.rrze.uni-erlangen.de
d250-hrz.uni-duisburg.de
131.188.74.42
End Hosts
#
Dieses Format und die Reihenfolge ist strikt einzuhalten. Die Anzahl der hosts bzw. user ist allerdings egal.
Syntaxbeschreibung:
  • Moderator:Wolfgang Wiese,xwolf@xwolf.com
    Der Name hinter dem ':' wird zusammen mit der E-Mail-Adresse ausgegeben, wenn jemand von einem gebannten Host auf den Rechner zugreifen will. Er erfährt somit, an wen er sich wenden kann.
  • Code:ABC123
    ABC123 ist der Alghorithmus, mit der die öffentliche Crypt-Funktion die User-Passwörter und die texte verschlüsselt werden.
  • Restrict:user
    Hier gibt es mehrere Options: user, ban hosts, allow hosts. Sie können miteinander durch Komma getrennt miteinander verknüpft werden. Also z.b. Restrict:user,allow hosts. Eine Verknüpfung ban hosts,allow hosts wäre allerdings sinnlos.
  • Interval:150
    Diese Zeit (in Sekunden) legt fest, wie lang ein Benutzer, der sich einmal eingeloggt hat, inaktiv sein darf, bis er das nächste mal sich erneut identifizieren muss. Eine Zeit unter 20 Sekunden macht allerdings kein Sinn. Bemerkung: Auch das lange schreiben einer Nachricht in der Text-Form wird darin nicht mitgezählt als aktive Zeit. Aktivität ist für das Programm nur jeder Zugriff, der zu einem Neuaufruf führt.
  • Begin User
    Hinter dieser Marke beginnen die User-Einträge.
  • Tom,ABGIHfXPCEpFU
    So sieht ein typischer Usereintrag aus. (Name),(verschl. Passwort) .
    Das Passwort muss mit dem Alghoritmus der in Code: angegeben wurde gecrypted sein.
  • End User
    Endmarke der User-Einträge.
  • Begin Hosts
    Hinter dieser Marke beginnen die Hosts, die man entweder bannen oder erlauben möchte.
  • rzcip31.rrze.uni-erlangen.de
    Eine typische Adresse einer Site. Die vollständige Adresse wird dabei verlangt. Man kann sowohl Hostname als auch IP-Adresse verwenden.
  • End Hosts
    Die Endmarke.

Anmerkung

Das Tool benutzt zusätzlich 2 Text-Dateien, in denen wichtige Logs und Zugriffsparameter stehen. Wer das Skript installiert sollte diese nur den Webmastern und dem Server zugänglich machen. In den Logs stehen detalierte Angaben der Zugriffe. Es lässt sich damit exakt bestimmen, wer auf das Programm zugegriffen hat.

Will man das Sicherheisttool in seinen eigenen CGI-Skripts einbauen, so muss man in seinem Skript nur wenige Zeilen zufügen.
Der Aufruf erfolgt durch die Routine

$Sec_Status = &Secure($verzeichnisname,$url_des_aufrufenden_progs);

Der Rückgabewert $Sec_Status ist entweder security oder no security. Wie man diesen weiterverwendet ist jedem selbst überlassen. Als Beispiel empfehle ich sich das Skript von Diskussionsboard anzusehen.

Zur Verschlüsselung der Passwörter kann man folgendes Skript nutzen:

#! /local/bin/perl
if ($#ARGV < 0) {
print "Syntax: crypting.pl (Schluessel der Codierung) (Zu codierender String)\n" ;
} else {
$c=crypt($ARGV[1],$ARGV[0]);
print "$c\n";
}
Das Skript ist auch für sich kopierbar als File vorhanden.


Beste Darstellung mit
Netscape
Schlechteste Darstellung mit
MSIExploder

© 1997 EMail: Wolfgang Wiese, xwolf@xwolf.com