| 
                                 
         
Diese Dokument beschreibt eine Möglichkeit, den Absender von speziellen
Usenet Artikeln sicherzustellen, die dazu dienen, den Namenraum der Usenet
Gruppen zu verwalten. Es wird grundlegende Kenntnis über die Wirkungsweise
von Usenet Steuernachrichten wie "newgroup", "rmgroup" oder "checkgroups"
vorausgesetzt; dies ist keine Einführung in die Administration von
Namenshierarchien.  
Usenet Artikel sind furchtbar leicht zu fälschen, Steuernachrichten machen
da keine Ausnahme. Da Systemverwalter dazu neigen, ihr Newssystem
vollautomatisch laufen zu lassen, gestatten sie bestimmten Personen neue
Gruppen anzulegen und alte zu entfernen. Dabei ist riskant, auf die From:
und Sender: Zeile zu vertrauen, wie dies bisher Usus ist. Deswegen wurde
ein Verfahren, welches Philip Zimmermans Pretty
Good Privacy (PGP) benutzt, entwickelt mit der Zielsetzung,
einen höheren Sicherheitsgrad bei der Authentifizierung des Senders einer
Steuernachrichten zu erreichen. 
Im Gegensatz zur üblichen PGP Unterschrift unter Nachrichten, die den
Inhalt einer Nachricht schützt, müssen bei diesem System auch einige
Kopfzeilen der Steuernachricht mitsigniert werden und einige andere
mögliche Fehlerquellen ausgeschaltet werden. Ein weiteres Ziel war es, die
Unterschrift so wenig wie möglich störend zu gestalten und nur kleinste
Änderungen an bereits existierender Software einzufordern, um es in
Betrieb zu nehmen.  
 Wie Steuernachrichten geprüft werden.
Die folgenden Schritte sind notwendig, um die PGP Überprüfung von
Steuernachrichten auf Deinem System einzurichten. 
Es folgt die kurze und einfache Version für all diejenigen, die es gewohnt
sind in den Eingeweiden eines Newsservers zu wühlen und die es
verabscheuen, viel zu lesen:  
 
  -  Die Software besorgen und konfigurieren:
    
  
 -  Hinzufügen der öffentlichen PGP Schlüssel der
    Hierarchieverwalter zum Schlüsselbund des Newssystems.
  
 -  Einschalten der Überprüfung durch das Newssystem.
    
      -  INN:
        
 -  Einsetzen der Aktion verify-pgp_userid
          (möglicherweise erweitert um =logfile)
          in control.ctl.
      
 -  Andere Systeme:
        
 -  Noch nichts verfügbar.
    
  
   -  Ausprobieren von pgpverify.
 
    Wenn der Schlüssel von news.announce.newgroups in Deinem Schlüsselbund
    eingebunden ist, starte einfach pgpverify, das sample.control
    
    von ftp.uu.net oder
    
    von ftp.thur.de von der Standardeingabe liest.
    Es sollte der String "news.announce.newgroups" auf der
    Standardausgabe erscheinen.
  
 Und hier folgt eine ausführlicherere Version:
 
  -  Besorge die Software.
    Es gibt 2 getrennte Programme, die dem Newssystem hinzugefügt werden
    müssen: Ein separates Programm, das einen Artikel auf Korrektheit des
    Absenders und Inhaltes überprüft und ein Patch in der Verarbeitung
    von Steuernachrichten des Newsservers. 
    
    Das einzelne Programm pgpverify 
    von ftp.uu.net oder 
    von ftp.thur.de, ist ein Perl
    Programm, das ab Perl Version 4 und folgende läuft. (Ältere Versionen
    sind nicht getestet.) Es ist vollständig unabhängig von der
    eingesetzten Newsserversoftware. 
    Die Serverpatches von 
    ftp.uu.net oder 
    ftp.thur.de hängen sich in das Newssystem einer vorhandenen
    Newsserverinstallation. Wähle Dein System aus der folgenden Liste: 
     
    
    Ich bedauere, daß ich nicht die Zeit habe, Anpassungen an weitere
    Systeme vorzunehmen, aber ich werde gerne Patches für andere Systeme
    hier mit aufnehmen, so sie mir zugängliche gemacht werden. Besonders
    bin ich an einem Patch für C News Version CR.E interessiert.  Der INN
    1.4sec Patch paßt auch mehr oder weniger genau in alle Versionen der
    INN unoff Serie.
    -  Einfügen der Software in Dein Newssystem 
    Zuerst mußt Du die vollen Pfadnamen der Programme perl und
    pgp in den ersten Zeilen des Programmes pgpverify
    eintragen. Weitere Änderungen an den Optionen oder Pfadangaben sollten
    nicht notwendig sein.  
    Die folgenden Schritte nehmen an, daß die Dateien pgpverify
    und der Patch für das Newssystem im Verzeichnis /tmp/
    vorliegen. Das vereinfacht das Schreiben dieses schrittweisen
    Anleitung erheblich. Desweiteren habe ich versucht, die Schritte
    so zu formatieren, daß sie mit Cut&Paste direkt auf der Shell
    ausgeführt werden können. 
     
      -  Wenn Du INN benutzt:
 cd Verzeichnis, in dem das Programm ctlinnd steht
mv /tmp/pgpverify pgpverify
cd Startverzeichnis der INN Quellen
cd site
patch < /tmp/pgpcontrol.pch
make install
 
        -  Wenn Du ein anderes System benutzt:
        Du wirst warten müssen, bis jemand einen Patch und einige
        Anleitungen für Dein System geschrieben und diese veröffentlicht
        hat. Vielleicht kennst Du ja jemanden, der es kann?
       
   -  Gestatte die Überprüfung für die gewünschten Hierarchien.
 Um
    Steuernachrichten zu überprüfen, werden zuerst die öffentlichen PGP Schlüssel der exekutiv
    Verantwortlichen benötigen, denen Du auch traust. Sie müssen dem
    Schlüsselbund zugefügt werden, das von den Nutzerrechten unter denen
    Dein Newsserver fährt, gelesen werden kann. Mittels pgp -ka
    können die Schlüssel diesem Schlüsselbund hinzugefügt werden. 
    Wenn beispielsweise Dein System unter dem Nutznamen news läuft,
    so sollte der folgende Befehl als Nutzer news ausgeführt
    werden (in der Annahme, die Datei, die den Schlüssel --erkennbar an
    BEGIN und END "PGP PUBLIC KEY BLOCK"-- enthält den Namen
    /tmp/key trägt): pgp -ka /tmp/key 
    Als generelle Regel kann angenommen werden, daß Schlüssel, mit denen
    Steuernachrichten unterzeichnet werden, niemals andere Schlüssel
    einführen oder prüfen sollten. Auf die Frage von PGP, ob man diesen
    Schlüssel in diesem Sinne als Zertifikationsquelle benutzen will,
    sollte man also mit NEIN antworten. (A.d.Ü.: Schlüssel dieser Art
    sollte man selbst nur dann unterschreiben, wenn man sich selbst
    persönlich von der Echtheit des Schlüssels durch andere Medien als die
    elektronischen überzeugt hat.) 
    Nach dem Aufnehmen der Schlüssel in den Schlüsselbund ist dem
    Newssystem mitzuteilen, daß Steuernachrichten nun nur unterschrieben
    gültig sind. Die Programmierung sieht vor, daß das Newssystem die
    notwendigen Aktionen dann ausführt, wenn die Steuernachricht korrekt
    von dem richtigen Schlüssel unterschrieben wurde anderenfalls sendet
    es die fehlerhafte Nachricht an den Newsadmin per eMail. Das schließt
    andere Aktionen für diese oder andere Fälle nicht aus, aber die
    Patches sollten so klein wie möglich bleiben. Zukünftige Versionen
    könnten hier flexibler sein. 
     
      - Wenn Du INN benutzt:
        Die automatische Verarbeitung von Steuernachrichten wird mittel
        control.ctl gesteuert, die im gleichen site
        Unterverzeichnis ediert wird, in dem auch parsecontrol
        gepatched wurde. Die Datei control.ctl besteht aus vielen
        Zeilen, deren Format in der Handbuchseite im Kapitel 5 (man 5
        control.ctl) beschrieben ist. Um die PGP Überprüfung
        zusätzlich zur normalen Prüfung einzuschalten, wird als Aktion
        verify-pgp_userid im vierten Feld eingetragen. 
        Beispiel für die BIG8 Hierarchien: 
 
newgroup:tale@uunet.uu.net:\
comp.*|humanities.*|misc.*|news.*|rec.*|sci.*|soc.*|talk.*:\
verify-news.announce.newgroups
rmgroup:tale@uunet.uu.net:\
comp.*|humanities.*|misc.*|news.*|rec.*|sci.*|soc.*|talk.*:\
verify-news.announce.newgroups
checkgroups:tale@uunet.uu.net:\
comp.*|humanities.*|misc.*|news.*|rec.*|sci.*|soc.*|talk.*:\
verify-news.announce.newgroups
   
        Wenn Du darüberhinaus auch noch ein Mitprotokollieren der Aktionen
        wünschst, so trage analog zu doit=logfile die Aktion
        verify-pgp_userid=logfile ein.
        -  Wenn Du ein anderes System verwendest:
        Du wirst warten müssen, bis jemand einen Patch und einige
        Anleitungen für Dein System geschrieben und diese veröffentlicht
        hat. Vielleicht kennst Du ja jemanden, der es kann?
        
    -  Das System prüfen.
    Speichere die Datei sample.control von 
    
    ftp.uu.net oder 
    ftp.thur.de auf Deinem System als /tmp/sample.control ab. 
    Um eine Steuernachricht zu überprüfen, wird der öffentliche Schlüssel von
    news.announce.newgroups und die Erlaubnis für tale@uunet.uu.net
    für automatische Ausführung des Kommandos "newgroup"
    benötigt. Selbst wenn Du es nicht ständig zulassen willst, so gestatte
    es für diesen Test, es ist leicht wieder aus der control.ctl zu
    entfernen. Den Schlüssel wird man mit pgp -kr news.announce.newgroups
    wieder los. 
    Das Programm pgpverify wird mit der Zeile pgpverify <
    /tmp/sample.control geprüft. Wenn alles korrekt arbeitet,
    erscheint der String "news.announce.newgroups" auf dem
    Schirm. Wird unmittelbar danach der Befehl echo $? eingegeben,
    so sollte "0" (Die Ziffer Null) ausgegeben werden. 
    Wenn es nicht funktioniert und wiederholt kein Fehler zu finden ist,
    so sende ein vollständige Problembeschreibung und die Auflistung der
    fehlgeschlagenen Lösungsversuche mit vollständigen Fehlermeldungen an
    David C Lawrence (englisch)
    oder an Lutz Donnerhacke
    (deutsch).  Das absolute Minimum, das in der eMail enthalten sein
    muß ist eine Kopie der Steuernachricht, die scheiterte, eine Liste der
    versuchten Befehlseingaben und die Ausgabe von pgp -kc sowie
    pgp -kvc news.announce.newgroups (bzw. pgp -kvc
    dana.de). 
    Wenn pgpverify diesen Test bestanden hat, fahre mit dem unten
    beschriebenen Test des Newssystem fort: 
     
      -  Wenn Du INN benutzt:
        Wechsle in das Verzeichnis, in dem parsecontrol installiert
        ist. Dann führe das folgende Script als der Nutzer aus, unter dem
        auch der Newsserver läuft:
 
#!/bin/sh
PROG=newgroup
set -- tale@uunet.uu.net "" /tmp/sample.control
(. ./parsecontrol "$@"; echo $ACTION)
 
        Wenn alles korrekt ist, so antwortet das Script mit doit;
        im Fehlerfalle mit mail. 
        Ediere die Datei /tmp/sample.control und ändere alle
        Vorkommen von newusers in newgroups. Wiederhole dann
        den Test und die Prüfung muß versagen. 
     
       -  Wenn Du einanderes System benutzt:
        Du wirst warten müssen, bis jemand einen Patch und einige
        Anleitungen für Dein System geschrieben und diese veröffentlicht
        hat. Vielleicht kennst Du ja jemanden, der es kann?
        
     
Häufig gestellte Fragen -- Frequently Asked Questions
  -  Wie kann es passieren, daß offensichtlich korrekt unterschriebene
       Steuernachrichten den Test mit pgpverify nicht bestehen?
    
      -  Du hast nicht die neuste Version von pgpverify, die
        einige Fehler behoben haben könnte.
      
 -  Du hast nicht den richtigen Schlüssel zur Überprüfung in dem
        vom Newsserver verwendeten Schlüsselbund. (A.d.Ü.: Schlüssel
        können ebenso wechseln, wie Moderatoren!)
      
 -  Du hast die Spracheinstellung von pgp auf einer anderen
        Sprache als englisch stehen. Damit kann pgpverify die
        Ausgaben von pgp nicht mehr verstehen.
        pgpverify setzt zwar die Umgebungsvariable LANGUAGE
        auf englisch, kann aber damit die Einstellung in der Datei
        config.txt oder .pgprc nicht überschreiben.
      
 -  Die Steuernachricht wurde mittels Cut&Paste ausgeschnitten,
        wodurch Leerzeichen statt Tabulatoren übertragen wurden. Das ist
        nicht so einfach wieder gradezubiegen, wie es den Anschein haben
        kann.
      
 -  Du versuchst pgpverify auf einer von einem Newsreader
        abgespeicherten Datei laufen zu lassen. Newsreader können beim
        Abspeichern verschiedene Veränderungen vornehmen, z.B. eine
        Leerzeile anfügen oder Kopfzeilen verändern.
    
  
  
Diese Liste findet sich auf
ftp.uu.net
oder auf
ftp.thur.de.
Wenn Du für den Versand von Steuernachrichten in einer Hierarchie
verantwortlich bist, so verwende signcontrol von
ftp.uu.net oder von
ftp.thur.de um diese Steuernachrichten so zu signieren, daß
pgpverify die prüfen kann. Es handelt sich um ein Perl Script ab
Version 5. Die verschiedenen Konfigurationsparameter müssen vor Gebrauch
gründlich eingestellt werden.
Wenn Du eine Signierung vorbereitest, so verwende nicht einen
personengebundenen Schlüssel, sondern einen gruppenspezifischen, da
Moderationen auch mal wechseln können. Diese Wechsel ziehen in dem Fall
keine Änderungen auf abertausenden Maschinen mehr nach sich. (Der zu
bekannte Absender tale@uunet.uu.net wird aus genau diesem Grunde
weiterverwendet, obwohl newgroups-request@uunet.uu.net. besser wäre.)
Dieser Schlüssel sollte aus diesem Grunde nie zum Unterschreiben anderer
Schlüssel benutzt werden. 
Wenn Du dieses Script einsetzt, so benachrichtige
mich über die
Hierarchie für die Du zuständig bist und die Informationen, die in der
Liste öffentlicher PGP Schlüssel zur Newsgruppen
Administration eingetragen werden sollen.
 
Die Informationen, wie man PGP finden und sich beschaffen kann können in
der entsprechenden 
Where to get the latest PGP FAQ nachgesehen werden, die auch
regelmäßig in alt.security.pgp
veröffentlicht wird.
Die Informationen, wie man Perl finden und sich beschaffen kann können in
der entsprechenden  
comp.lang.perl.* FAQ 1/5 - Availability nachgesehen werden, die auch
regelmäßig in comp.lang.perl.misc
veröffentlicht wird.
Last modified: 25 April 1996 
 
David C Lawrence 
   tale@uunet.uu.net
Letzte Übersetzung: 11 Mai 1996 
 
Lutz Donnerhacke 
   lutz@dana.de
         
                         |