Chat-Client Quassel mit SSL-Zertifikat einrichten

Aus Siduction Wiki DE
Wechseln zu: Navigation, Suche


Wozu braucht man einen Chat IRC-Client?

Mit einem IRC Chat-Client kann man eine Verbindung zu einem Chatraum (Channel) eines IRC-Servers aufbauen, um dort zu einem bestimmten Thema mit Gleichgesinnten diskutieren. Anhand des Kanalnamens kann man meistens erkennen, welches Thema bevorzugt in den jeweiligen Channel behandelt wird. Der Chat ist die ideale Kommunikationsform, ein Thema mit mehreren Menschen gleichzeitig zu diskutieren.

Es gibt eine Vielzahl von Chatclients für Linux, vom einfachen Konsolenprogramm bis zum gut ausgestatteten GUI-Programm. In diesem Beispiel wollen wir uns mit dem Chatclient Quassel beschäftigen, den es auch für den KDE-Desktop gibt.

Installation des IRC-Client

Falls auf dem System Quassel noch nicht installiert ist, holen wir dies jetzt nach. Wie im nachfolgenden Listing angegeben sollte die Installation verlaufen.

# apt-get update
# apt-get install quassel-kde4
apt-get install quassel-kde4 
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut       
Statusinformationen werden eingelesen... Fertig
Die folgenden zusätzlichen Pakete werden installiert:
 kdelibs5 libkimproxy4 libkrossui4 quassel-data-kde4
 Die folgenden NEUEN Pakete werden installiert:
   kdelibs5 libkimproxy4 libkrossui4 quassel-data-kde4 quassel-kde4
   0 aktualisiert, 5 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.
   Es müssen 2.487 kB an Archiven heruntergeladen werden.
   Nach dieser Operation werden 7.477 kB Plattenplatz zusätzlich benutzt.
   Möchten Sie fortfahren [J/n]? j
   Hole:1 http://ftp.debian.org/debian/ sid/main libkimproxy4 amd64 4:4.4.5-2 [79,1 kB]
   Hole:2 http://ftp.debian.org/debian/ sid/main libkrossui4 amd64 4:4.4.5-2 [91,9 kB]
   Hole:3 http://ftp.debian.org/debian/ sid/main kdelibs5 amd64 4:4.4.5-2 [48,0 kB]
   Hole:4 http://ftp.debian.org/debian/ sid/main quassel-data-kde4 all 0.7.1-1 [981 kB]
   Hole:5 http://ftp.debian.org/debian/ sid/main quassel-kde4 amd64 0.7.1-1+b1 [1.287 kB]
   Es wurden 2.487 kB in 2 s geholt (1.155 kB/s)
   Vormals abgewähltes Paket libkimproxy4 wird gewählt.
   (Lese Datenbank ... 93344 Dateien und Verzeichnisse sind derzeit installiert.)
   Entpacken von libkimproxy4 (aus .../libkimproxy4_4%3a4.4.5-2_amd64.deb) ...
   Vormals abgewähltes Paket libkrossui4 wird gewählt.
   Entpacken von libkrossui4 (aus .../libkrossui4_4%3a4.4.5-2_amd64.deb) ...
   Vormals abgewähltes Paket kdelibs5 wird gewählt.
   Entpacken von kdelibs5 (aus .../kdelibs5_4%3a4.4.5-2_amd64.deb) ...
   Vormals abgewähltes Paket quassel-data-kde4 wird gewählt.
   Entpacken von quassel-data-kde4 (aus .../quassel-data-kde4_0.7.1-1_all.deb) ...
   Vormals abgewähltes Paket quassel-kde4 wird gewählt.
   Entpacken von quassel-kde4 (aus .../quassel-kde4_0.7.1-1+b1_amd64.deb) ...
   Trigger für hicolor-icon-theme werden verarbeitet ...
   Trigger für man-db werden verarbeitet ...
   libkimproxy4 (4:4.4.5-2) wird eingerichtet ...
   libkrossui4 (4:4.4.5-2) wird eingerichtet ...
   kdelibs5 (4:4.4.5-2) wird eingerichtet ...
   quassel-data-kde4 (0.7.1-1) wird eingerichtet ...
   quassel-kde4 (0.7.1-1+b1) wird eingerichtet ...

Konfiguration von Quassel

Erstkonfiguration mit dem Assistent

Für den ersten Start suchen wir im KDE-Menü unter Internet den Eintrag Quassel IRC (IRC-Clinet) heraus. Beim ersten Aufruf startet Quassel den Assistant zur initalen Konfiguration.

Quassel 01.png

Im nächsten Schritt muss man seine Identität angeben. Wir übernehmen den vorgeschalgenen Namen oder wir ändern diesen.

Quassel 02.png

Da wir nicht mit unseren Realnamen bzw. dem vorgeschlagenen Namen im IRC sein wollen änderen wir dies (Button Umbenennen). Hier im Besipiel mit dem Alias bluemic.

Quassel 03.png

Im darauf folgenden Schritt müssen wir die Netzwerkverbindung konfigurieren. Wir belassen es bei dem Netzwerknamen DebianIRC und ändern nur unter Chats automatisch betreten den Kanal von #debian auf #debian.de (deutschsprachiger Debian Chat). Zuletzt speichern wir mit dem Button Speichern und Verbinden die Netzwerkverbindung ab.

Quassel 04.png

Nun sind wir mit dem IRC-Server (hier: DebianIRC) verbunden, aber nicht mit dem Chatraum #debian.de verbunden. Das ist an dem ausgegrauten Fenster Spitznamen zu sehen.

Quassel 05.png

Um sich mit dem Chatraum zu verbinden doppelklicken wir links im Chatraumfenster auf den Eintrag #debian.de. Nun füllt sich das rechte Fenster mit den angemeldeten Usern des Chats und der eigene Aliasname taucht in dieser Liste ebenfalls auf. Je nach Frequentierung des Chatkanals sind dies mal mehr oder weniger Nutzer.

Quassel 06.png

Nun kann man sich auf Basis dieser Grundkonfiguration erfolgreich mit eigenen Aliasnamen (Spitznamen) zu einen IRC-Netzwerk verbinden. Im weiteren Verlauf dieses HowTo's konfiguriert man sich über einen registrierten Nickname eine sichere Verbindung via selbstsignierten Zertifakt.


Zusätzliche Server für IRC-Netzwerk einbinden

Dazu in Quassel im Menü Datei/Netzwerke/Netzwerke konfigurieren... den Dialog Netzwerke einrichten öffnen. In der Registerkarte Server einen neuen hinzufügen mit dem Namen irc.oftc.net auf Port 6667. Keine weiteren Felder ausfüllen und OK abspeichern.

Quassel 08.png


Im nachfolgenden Screenshot sieht man die beiden verfügbaren IRC-Server für das IRC-Netz DebianIRC.

Quassel 09.png


Zusätzlichen Kanal einbinden (optional)

Oftmals will man sich zu verschiedenen Kanälen (Channels) in einem IRC-Netzwerk verbinden um quasi parallel chatten zu können. Jeder IRC-Server hat eine sogenannte Kanalliste in der alle angelegten aktiven Channels mit dem Namen und einer kurzen Beschreibung hinterlegt sind. Ein Kanalname beginnt immer #-Zeichen. Um nun einen zusätzlichen Channel einzubinden, hier im Beispiel der Supportkanal von der deutschen aptosid Usergruppe, mit dem Namen #frickelplatz klickt man mit der rechten Maustaste im linken Fenster auf das IRC-Netzwerk (hier: DebianIRC). Im erscheinenden Kontextmenü wählt man den Eintrag Kanalliste aus.

Bei Filter schränkt man die Auswahl weiter ein bis man den gesuchetn Kanal gefunden hat.

Quassel 13.png


Ein Doppelklick auf den Kanalnamen übernimmt den Channel in das linke Fenster Alle Chats.

Quassel 14.png


Ab diesen Zeitpunkt kann man jederzeit in den neu aufgenommen Chat-Kanal eintreten.

OpenSSL Zerfikat erstellen

Nun muss man sich einmalig ein selbstsigniertes OpenSSL Zertifikat erstellen um später eine sichere SSL-Verbindung zum IRC-Server aufbauen zu können. Dazu richtet man sich im Homeverzeichnis seines Users ein Verzeichnis mit dem Namen certs.

$ mkdir certs
$ cd certs

Es werden bei der Erzeugung des Zertifikates das Land, Wohnort, Organisation, Name und Emailadresse abgefragt. Nur die Angabe der Emailadresse ist zwingend. Einen Namen sollte man zur eindeutigen Unterscheidung jedoch besser angeben.

$ openssl req -nodes -newkey rsa:2048 -keyout nick.key -x509 -days 3650 -out nick.cer

Generating a 2048 bit RSA private key
....................+++
.........................................................................................................+++
writing new private key to 'nick.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:DE
State or Province Name (full name) [Some-State]:Germany
Locality Name (eg, city) []:
Organization Name (eg, company) [Internet Widgits Pty Ltd]:BlueLupo
Organizational Unit Name (eg, section) []:
Common Name (eg, YOUR name) []:Singer Michael
Email Address []:bluelupo@bluelupo.net


Die Rechte des erzeugten Keys anpassen.

$ chmod 400 nick.key


Den Fingerprint des Keys listet man so auf.

$ openssl x509 -noout -fingerprint -text < nick.cer


Wir kombinieren Zertifikat und Schlüssel zur Datei nick.pem und passen deren Rechte an, weil dies unser Privatkey ist.

$ cat nick.cer nick.key > nick.pem
$ chmod 400 nick.pem


Die Zertifikatserstellung ist nun auf der Clientseite abgeschlossen. Nun müssen wir dieses Zertifikat noch dem IRC-Server mitteilen.

Registrierten Nick im IRC-Netzwerk erstellen

Voraussetzung zum Erstellen des Zertifikates ist ein registrierter Benutzername (Nick) beim jeweiligen IRC-Server. Dazu starten wir Quassel und markieren mit der Maus im linken Fenster das IRC-Netzwerk DebianIRC. Im mittleren Chat-Fenster ganz unten in der Eingabezeile geben wir folgenden Befehl zur Erstellen eines persönlichen registrierten Nicknames ein.

Allgemeine Form:

 /msg nickserv register <passwort> <email>

In meinen Beispiel:

/msg nickserv register geheimPasswort bluelupo@bluelupo.net

Ist der angebene Nickname frei erscheint bei erfolgreicher Registrierung eine Meldung wie im nachstehenden Screenshot.

Quassel 07.png

Konfiguration für eine verschlüsselte Verbindung

Dazu in Quassel im Menü Datei/Netzwerk/Netzwerke konfigurieren... die Ports von 6667 auf 6697 ändern und den Haken bei SSL setzen. Dies ist für beide IRC-Server irc.debian.org und irc.oftc.net im DebianIRC abzuändern. Mit dem Button OK abspeichern.

Quassel 10.png


Zertifikat und Schlüssel werden nun Quassel bekanntgemacht über das Menü Einstellungen/Quassel konfigurieren. Im Dialogfenster ist unter Identitäten in der Registerkarte Erweitert die Angabe möglich. Beim Schlüssel wählt man über Laden den erzeugten OpenSSL Key in $HOME/certs/nick.key. Für das Zertifikat ist die $HOME/certs/nick.cer auszuwählen. Danach sollte folgendes in der Dialogbox angezeigt werden. Wichtig sind die Angaben vom Schlüsselformat und Organisation bzw. Name sofern angegeben. Mit OK wird alles abgespeichert.

Quassel 11.png

Verbindung zum Chatkanal mit einer verschlüsselten Verbindung

Nun muss man zum Abschluss nur noch dem IRC-Server sein Zertifikat mitteilen um über eine gesicherte SSL-Verbindung chatten zu können. Dazu Quassel einmal beenden und wieder starten. In der Eingabezeile im mittleren Fenster sich einmalig mit dem registrierten Nick anmelden und das Zertifikat laden.

Passwort natürlich an seine eigenes anpassen.

/msg nickserv identify geheimPasswort
/msg nickserv cert add


Beim erfolgreichen geladenen Zertifikat erscheint diese Meldung im Fenster.

Quassel 12.png


Bei allen zukünftigen Starts von Quassel sollte, solange das Zertifikat gültig ist, der Loginvorgang mit registrierten Nick und das Laden vom OpenSSL-Zertifikat automatisch ablaufen. Viel Spass beim sicheren chatten.


Weiterführende Informationen

Homepage von Quassel

Automatically Identifying Using SSL + CertFP

OpenSSL-Kurzreferenz