Control-Message
Eine Control-Message ist eine besondere Form des Postings im Usenet. Steuernachrichten unterscheiden sich von gewöhnlichen Nachrichten durch eine Zeile im Header (wo auch Absender, Betreff, Newsgroups, Datum usw. stehen) mit dem Schlüsselwort Control:
. Der Rest dieser Zeile besteht aus dem Steuerbefehl gefolgt von Parametern.
Es gibt zwei historische Alternativen zur Kopfzeile Control
. Sie werden von zeitgenössischer Software nicht unterstützt,[1][2] und sind nach RFC 5537 verboten.[3] Die traditionelle Form der Betreffzeile wird allerdings häufig zusätzlich zu Control
verwendet: die Betreffzeile besteht aus dem Wort „cmsg“ gefolgt vom Steuerbefehl und den Parametern.
Typen von Steuernachrichten
[Bearbeiten | Quelltext bearbeiten]cancel
[Bearbeiten | Quelltext bearbeiten]Eine Cancel-Message ist eine durch Software automatisch auswertbare Bitte, einen bestimmten Artikel lokal bei sich zu löschen. Dies wird Canceln genannt. Die Nachricht hat einen Parameter, die Message-ID des zu löschenden Postings.
Beispiel
Control: cancel <899qh19zehlhsdfa@foo.bar.com> Subject: cmsg cancel <899qh19zehlhsdfa@foo.bar.com>
newgroup
[Bearbeiten | Quelltext bearbeiten]Ein newgroup-Control dient zum Anlegen einer neuen Gruppe.[4] Der erste Parameter ist der Name der neuen Gruppe. Der zweite Parameter ist die optionale Angabe des Schlüsselworts moderated
. Damit werden moderierte Gruppen angelegt. Der Text des Postings enthält üblicherweise Kurzbeschreibung (tagline), Charta und eine Begründung für die Einrichtung der Gruppe.
Wenn die Gruppe bereits existiert, wird durch den newgroup-Control nur der Status der Gruppe (d. h. moderiert oder unmoderiert) geändert.[5]
In etablierten Hierarchien werden newgroup-Nachrichten mit korrekter digitaler Signatur automatisch ausgeführt. In manchen Hierarchien (alt.*
, free.*
, de.alt.*
) dienen unsignierte newgroup-Nachrichten nur als formeller Vorschlag. Einwände gegen den Vorschlag werden dann durch eine rmgroup-Nachricht ausgedrückt.[6][7]
Auf jeden Fall werden newgroup-Nachrichten vom Internet Systems Consortium archiviert.[8]
Beispiel
Control: newgroup de.soc.usenet Subject: cmsg newgroup de.soc.usenet
rmgroup
[Bearbeiten | Quelltext bearbeiten]Ein rmgroup-Control (rm ist eine Abkürzung für "remove") dient zum Löschen einer Gruppe.[9]
Beispiel
Control: rmgroup de.comp.sys.next Subject: cmsg rmgroup de.comp.sys.next
checkgroups
[Bearbeiten | Quelltext bearbeiten]Ein checkgroups-Control enthält eine Liste aller Gruppen einer Hierarchie.[10]
Beispiel
Control: checkgroups Subject: cmsg checkgroups
Beispiel nach RFC 5537[11]
Control: checkgroups de!de.alt #2009021301
Veraltete Nachrichtentypen
[Bearbeiten | Quelltext bearbeiten]Name | Definition (RFC) | Beschreibung |
---|---|---|
Ihave | 850, 1036, 5537 | Ankunft einer bestimmten Nachricht melden |
Sendme | 850, 1036, 5537 | Übertragung einer bestimmten Nachricht anfordern |
Sendsys | 850, 1036, 5537 | E-Mail anfordern, die eine Aufstellung der zu Nachbar-Servern geschickten Gruppen enthält |
Senduuname | 850, 5537 | E-Mail anfordern, die eine Aufstellung aller UUCP-Nachbarn enthält |
Version | 850, 1036, 5537 | E-Mail anfordern, die Name und Versionsnummer der Usenet-Software enthält |
Whogets | 5537 | Ohne Beschreibung als veraltet erklärt |
Das ihave/sendme-Protokoll wurde durch NNTP obsolet.
Steuernachrichten mit großen E-Mails zu beantworten kann für einen Denial-of-Service-Angriff ausgenutzt werden. Daher wurde sendsys
schon lange, bevor es durch RFC 5537[11] für veraltet erklärt wurde nicht mehr unterstützt.[12]
Sicherheitsaspekte
[Bearbeiten | Quelltext bearbeiten]Kopfzeile „Approved:“
[Bearbeiten | Quelltext bearbeiten]Steuernachrichten des Typs newgroup
und rmgroup
werden ignoriert, wenn sie nicht mit der Kopfzeile Approved:
versehen sind.[13] Traditionell sind Newsserver so konfiguriert, dass nur ausgewählte Benutzer Nachrichten mit diesen Zeilen senden dürfen. Solange es weltweit nur eine Handvoll Server gab, stellte diese Maßnahme ausreichenden Schutz gegen Missbrauch dar.
Digitale Signatur
[Bearbeiten | Quelltext bearbeiten]Das Format für „Arpa Internet Text Messages“[14] ist die gemeinsame Grundlage für Usenet[15] und E-Mail.[16] Es sieht keine Möglichkeit der Authentifizierung vor. In Folge wurden verschiedene Erweiterungen des Formats um eine Digitale Signatur entwickelt.
Signatur-Format | Gegenstand der Signatur | Einsatzgebiet |
---|---|---|
PGP/INLINE | beliebiger Text | NoCeM |
PGP/MIME | MIME Bodyparts | |
S/MIME | MIME Bodyparts | |
pgpcontrol | Body und ausgewählte Header | newgroup, rmgroup, checkgroups |
Da sich bei einer Control-Message die wesentlichen Informationen im Header befinden, ist ein spezielles Format notwendig. pgpcontrol wurde ursprünglich für PGP entwickelt, funktioniert aber auch mit OpenPGP.[17]
Hierarchieschlüssel
[Bearbeiten | Quelltext bearbeiten]Änderungen des Gruppenbestands werden in den großen Hierarchien (Big Eight und Regionalhierarchien) mit signierten Steuernachrichten durchgeführt. Jede Hierarchie verfügt über einen eigenen Schlüssel, der von den Hierarchiegründern bzw. deren Nachfolgern verwaltet wird. Die meisten Newsserver sind so konfiguriert, dass mit dem richtigen Schlüssel signierte Steuernachrichten automatisch ausgeführt werden. Alle anderen Steuernachrichten werden ignoriert.
Theoretisch ist dieses Verfahren auch für Cancel-Messages geeignet. Dazu müsste aber nicht nur für jeden Usenet-Benutzer ein Schlüsselpaar existieren, sondern auch der jeweilige öffentliche Schlüssel jedem Newsserver bekannt sein. Cancel-Lock ist wesentlich einfacher.
Archivierung
[Bearbeiten | Quelltext bearbeiten]Steuernachrichten erscheinen üblicherweise nicht lesbar in der betreffenden Newsgroup. Viele Newsserver sortieren sie stattdessen in Pseudo-Gruppen wie control
ein.[18]
Google Groups bietet keine Möglichkeit, Steuernachrichten zu lesen oder zu schreiben und führt nicht einmal Cancel Messages aus.
Das Internet Systems Consortium archiviert newgroup
und rmgroup
gemeinsam in einer Datei pro Gruppe[19] und checkgroups
in einer Datei pro Jahr.[20]
Einzelnachweise
[Bearbeiten | Quelltext bearbeiten]- ↑ InterNetNews hat
all.all.ctl
nie unterstützt. Version 1.0 wurde 1990 veröffentlicht. - ↑
Subject: cmsg
ist nur beschrieben in RFC – Standard for Interchange of USENET Messages. Dezember 1987 (englisch). Nicht aber in RFC – Standard for Interchange of USENET Messages. Juni 1983 (englisch). In INN wurde diese Funktionalität in Version 2.3 entfernt. Siehe INN Changes and Upgrade Information. ( vom 21. Februar 2007 im Internet Archive) eyrie.org - ↑ RFC – Netnews Architecture and Protocols. November 2009, Abschnitt 5: Control Messages. (englisch). “[…] The presence of a Subject header field starting with the string ‘cmsg ’ MUST NOT cause an article to be interpreted as a control message. […] Likewise, the presence of a <newsgroup-name> ending in ‘.ctl’ in the Newsgroups header field or the presence of an Also-Control header field MUST NOT cause the article to be interpreted as a control message.”
- ↑ RFC – Standard for Interchange of USENET Messages. Dezember 1987, Abschnitt 3.3 (englisch).
- ↑ RFC – Netnews Architecture and Protocols. November 2009, Abschnitt 5.2.1 (englisch). “The newgroup control message requests that the specified group be created or, if already existing, that its moderation status or description be changed.” Die Funktionalität ist aber weit älter. Zum Beispiel enthält die Beschreibung des Programms ctlinnd (Bestandteil von INN) folgendes: “If the newsgroup already exists, this is equivalent to the changegroup command.”
- ↑ Konventionen:
- How To Write a Good Newgroup Message. ( vom 15. April 2008 im Internet Archive) gweep.ca/~edmonds
- How to create an ALT newsgroup. nylon.net
- free.* FAQ. ( vom 15. März 2008 im Internet Archive)
- ↑ Regeln für die Einrichtung, Änderung und Entfernung von Usenet-Gruppen. kirchwitz.de/~amk
- ↑ ftp://ftp.isc.org/pub/usenet/control/
- ↑ RFC – Standard for Interchange of USENET Messages. Dezember 1987, Abschnitt 3.4 (englisch).
- ↑ RFC – Standard for Interchange of USENET Messages. Dezember 1987, Abschnitt 3.7 (englisch).
- ↑ a b RFC – Netnews Architecture and Protocols. November 2009 (englisch).
- ↑ RFC – Standard for Interchange of USENET Messages. Dezember 1987, Abschnitt 3.5 (englisch). Enthält folgende Klausel: “This information is considered public information, and it is a requirement of membership in USENET that this information be provided on request, either automatically in response to this control message, or manually, by mailing the requested information to the author of the message.”
- ↑ RFC – Standard for Interchange of USENET Messages. Dezember 1987, Abschnitt 3.3: Newgroup. (englisch). Sowie „3.4. Rmgroup“. Interessantweise fehlt diese Klausel in Abschnitt „3.7. Checkgroups“.
- ↑ RFC – Standard for the Format of Arpa Internet Text Messages. August 1982 (englisch).
- ↑ RFC – Standard for Interchange of USENET Messages. Dezember 1987, Abschnitt 2: Message Format. (englisch).
- ↑ RFC – Internet Message Format. April 2001 (löst ab, englisch).
- ↑ ftp://ftp.isc.org/pub/pgpcontrol/
- ↑ INN legt Steuernachrichten normalerweise in der Pseudo-Gruppe
control
ab. Wenn jedoch eine Untergruppe voncontrol
existiert, die zum Steuerbefehl passt, wird die Nachricht in dieser Gruppe abgelegt. - ↑ ftp://ftp.isc.org/pub/usenet/control/
- ↑ ftp://ftp.isc.org/pub/usenet/control/other.ctl/