Client

Den rudimentären Standard-Client bekommt man direkt auf der SILC-Homepage [3] . Ihn übersetzt man mit dem bekannten Dreiklang »./configure; make; make install« . Ohne den expliziten »configure« -Parameter »--prefix« landen sämtliche SILC-Referenzprogramme unter »/usr/local/silc« – und somit abseits der Standardverzeichnisse. Folglich startet auch der SILC-Client nur über den länglichen Aufruf »/usr/local/silc/bin/silc« .

Seine Bedienung erfolgt vollständig über Textkommandos, ganz wie man es von existierenden IRC-Anwendungen gewohnt ist. Für erste Gehversuche verbindet man sich mit dem Server »silc.silcnet.org« :

/connect silc.silcnet.org

Der dahinterstehende Server wählt nach dem Round-Robin Prinzip einfach einen anderen öffentlichen SILC-Server aus (siehe auch Tabelle 1 "Öffentliche Channels"). Eine Liste mit weiteren, frei zugänglichen Servern liegt unter [4] . Der SILC-Befehl »/help« präsentiert eine kurze Liste der verfügbaren Kommandos, Tabelle 2 "SILC-Referenz" gibt eine Übersicht. Weitere Informationen zum SILC-Referenz-Client liefert die Dokumentation auf der SILC-Homepage unter [5] .

Tabelle 1

Öffentliche Channels

Channel

Beschreibung

silc

Offizieller Channel des SILC Projekts

silc-opers

Channel für SILC-Server-Betreiber

silc-help

Allgemeinen Fragen zu SILC

Tabelle 2

SILC-Kurzreferenz

Befehl

Funktion

/connect Servername

Mit Server verbinden:

/join Channel

Channel betreten oder eröffnen

/nick Name

Nickname ändern

/query NickDesEmpfängers

Private Chats anstoßen

/quit

Beenden

Server

Wer selbst einen SILC-Server beispielsweise für das eigene Firmennetz aufsetzen möchte, wird ebenfalls auf der Homepage des SILC-Projekts fündig [1] . Die dortige Referenzimplementierung kann als SILC Server, SILC Router oder Backup Router fungieren. Den SILC-Server gibt es bereits fix und fertig für verschiedene Distributionen. Ansonsten bleibt nur der Griff zum Quellcode. Unter »/usr/local/silc/etc/silcd.conf« liegt nach der Installation eine gut kommentierte Beispielkonfiguration, die man in das manuell zu erstellende Verzeichnis »/etc/silc« verschiebt. Anschließend erzeugt man ein neues Schlüsselpaar für den Server:

/usr/local/silc/sbin/silcd -C /usr/local↩
/silc/etc --identifier= UN=
<!-- START: including template: design/standard/templates/content/datatype/view/ezxmltags/emphasize.tpl (design:content/datatype/view/ezxmltags/emphasize.tpl) -->
Loginname
<!-- STOP: including template: design/standard/templates/content/datatype/view/ezxmltags/emphasize.tpl (design:content/datatype/view/ezxmltags/emphasize.tpl) -->
,↩
 HN=<Name des Servers>, RN=
<!-- START: including template: design/standard/templates/content/datatype/view/ezxmltags/emphasize.tpl (design:content/datatype/view/ezxmltags/emphasize.tpl) -->
Name
<!-- STOP: including template: design/standard/templates/content/datatype/view/ezxmltags/emphasize.tpl (design:content/datatype/view/ezxmltags/emphasize.tpl) -->
, ↩
 E=
<!-- START: including template: design/standard/templates/content/datatype/view/ezxmltags/emphasize.tpl (design:content/datatype/view/ezxmltags/emphasize.tpl) -->
E-Mail-Adresse
<!-- STOP: including template: design/standard/templates/content/datatype/view/ezxmltags/emphasize.tpl (design:content/datatype/view/ezxmltags/emphasize.tpl) -->
, C=
<!-- START: including template: design/standard/templates/content/datatype/view/ezxmltags/emphasize.tpl (design:content/datatype/view/ezxmltags/emphasize.tpl) -->
Länderkürzel
<!-- STOP: including template: design/standard/templates/content/datatype/view/ezxmltags/emphasize.tpl (design:content/datatype/view/ezxmltags/emphasize.tpl) -->

Im nächsten Schritt kürt man eine Person zum Server-Administrator. Sobald sich dieser über einen SILC-Client beim Server anmeldet, verfügt er automatisch über höhere Rechte als die übrigen Clients. Die Identifikation dieser Person kann auf verschiedene Arten erfolgen. Die einfachste führt über einen, bereits vom SILC-Client erzeugten Schlüssel. Der liegt für gewöhnlich unter »~/.silc/public_key.pub« . Um ihn dem Server bekannt zu machen, erstellt man zunächst ein dafür reserviertes Verzeichnis:

mkdir /etc/silc/adminkeys

Und kopiert dann den eigenen unter dem Namen »admin.pub« dort hinein:

cp ~/.silc/public_key.pub /etc/silc/↩
adminkeys/admin.pub

Jetzt passt man die Konfigurationsdatei »/etc/silc/silc.conf« an. Um die darin abgelegten Einstellungsmöglichkeiten etwas übersichtlicher zu gestalten, wurden gleichartige Parameter in Abschnitten zusammengefasst. Letztere beginnen immer mit einem Namen und fassen dann die eigentlichen Einstellungen in geschweiften Klammern ein. Gleich im ersten Abschnitt verbirgt sich die Zeile

key_exchange_pfs = true;

die man auskommentiert, indem man vorangestellte Raute entfernt. Damit aktiviert man das so genannte Perfect Forward Security Verfahren (kurz PFS), das immer dann zum Einsatz kommt, wenn Schlüssel verfallen. Die dann neu generierten Schlüssel werden nicht, wie sonst üblich, von den alten abgleitet. Stattdessen achtet der Server darauf, dass sie keine mathematischen Zusammenhänge aufweisen. Hierdurch werden die Schlüssel zwar sicherer, im Gegenzug dauert ihre Erzeugung aber auch etwas länger. Weiter geht es in der Subsection »ServerInfo« . Dort trägt man die Informationen für den Server ein ( Listing 1 ). Diese Daten gibt der Server auf Nachfrage über das Kommando »/info« seinen Clients aus.

Listing 1

ServerInfo

hostname = 
<!-- START: including template: design/standard/templates/content/datatype/view/ezxmltags/emphasize.tpl (design:content/datatype/view/ezxmltags/emphasize.tpl) -->
Servername
<!-- STOP: including template: design/standard/templates/content/datatype/view/ezxmltags/emphasize.tpl (design:content/datatype/view/ezxmltags/emphasize.tpl) -->
 ;
ip = 
<!-- START: including template: design/standard/templates/content/datatype/view/ezxmltags/emphasize.tpl (design:content/datatype/view/ezxmltags/emphasize.tpl) -->
Server-IP-Adresse
<!-- STOP: including template: design/standard/templates/content/datatype/view/ezxmltags/emphasize.tpl (design:content/datatype/view/ezxmltags/emphasize.tpl) -->
 ;
ServerType = 
<!-- START: including template: design/standard/templates/content/datatype/view/ezxmltags/emphasize.tpl (design:content/datatype/view/ezxmltags/emphasize.tpl) -->
Zweck des Servers
<!-- STOP: including template: design/standard/templates/content/datatype/view/ezxmltags/emphasize.tpl (design:content/datatype/view/ezxmltags/emphasize.tpl) -->
 ;
Location = 
<!-- START: including template: design/standard/templates/content/datatype/view/ezxmltags/emphasize.tpl (design:content/datatype/view/ezxmltags/emphasize.tpl) -->
Geographischer Standort des Servers
<!-- STOP: including template: design/standard/templates/content/datatype/view/ezxmltags/emphasize.tpl (design:content/datatype/view/ezxmltags/emphasize.tpl) -->
 ;
Admin = 
<!-- START: including template: design/standard/templates/content/datatype/view/ezxmltags/emphasize.tpl (design:content/datatype/view/ezxmltags/emphasize.tpl) -->
Name des Administrators
<!-- STOP: including template: design/standard/templates/content/datatype/view/ezxmltags/emphasize.tpl (design:content/datatype/view/ezxmltags/emphasize.tpl) -->
;
AdminEmail = 
<!-- START: including template: design/standard/templates/content/datatype/view/ezxmltags/emphasize.tpl (design:content/datatype/view/ezxmltags/emphasize.tpl) -->
E-Mail Adresse des Administrators
<!-- STOP: including template: design/standard/templates/content/datatype/view/ezxmltags/emphasize.tpl (design:content/datatype/view/ezxmltags/emphasize.tpl) -->
;
Abbildung 6: Der Referenzclient in Aktion. Hier fragt er über das Kommando

Der Benutzer erhält somit ein paar Informationen über den Server und findet bei Problemen einen Ansprechpartner.

Weiter unten in der Konfigurationsdatei liegt die Sektion »Admin« . Dort sind die Zeilen wie in Listing 2 abzuändern.

Listing 2

Admin

# Host =    ;
# User =    ;
# Nick =    ;
# Passphrase =  [anything at all, a random string is good] ;
PublicKey =  /etc/silc/adminkeys/admin.pub ;

Da der Administrator über den Public Key identifiziert werden soll, sind hier die meisten Zeilen redundant und deshalb auskommentiert. Das gleiche Schicksal ereilt die Abschnitte »ServerConnections« und »RouterConnections« . Sie regeln die Verbindungen zu anderen Servern und sind somit in dieser einfachen Konfiguration überflüssig. Damit ist die Ausgangskonfiguration für den Einstieg komplett. Nach einem Start des Servers per »/usr/local/silc/sbin/silcd« wartet dieser nun am TCP-Port 706 auf Clients.

comments powered by Disqus
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2023