Einführung: IRC-Türsteher und warum Sie einen wollen
Internet Relay Chat (IRC) ist ein ehrwürdiges Online-Chat-Protokoll, das bis in die späten 1980er Jahre zurückreicht, aber heute noch weit verbreitet ist, insbesondere in der Computerwelt. Es gibt IRC-Clients für alle gängigen Betriebssysteme und Dutzende von IRC-Netzwerken mit Tausenden von Chat-Kanälen. Es gibt einen starken Schwerpunkt auf Tech, aber fast jedes Thema ist vertreten. Wenn Sie IRC verwenden, erhalten Sie nur Nachrichten, wenn Sie verbunden sind – eine Nachricht wird nach dem Senden verworfen und der Verlauf wird nicht auf dem Server gespeichert.
Betritt den IRC-Bouncer. Da der IRC-Client für die Speicherung und Wiedergabe des Verlaufs verantwortlich ist, ist er in zwei Softwareteile unterteilt: die Display-Anwendung (GUI, TUI) und den Bouncer. Mit einem Bouncer verwenden Sie immer noch Ihren bevorzugten IRC-Client, stellen jedoch eine Verbindung zum Bouncer her (z bouncer.example.com ) statt direkt an das IRC-Netzwerk (wie chat.freenode.net ). Ihr Türsteher kann verbunden bleiben, wenn Sie abgemeldet sind. Wenn Sie sich wieder anmelden, zeigt Ihnen Ihr IRC-Bouncer den protokollierten Chat und die Nachrichten, die Sie sonst verpassen würden. Wie ein IRC-Server läuft ein IRC-Bouncer auf einem immer verbundenen Computer, um eine dauerhafte Verbindung zu einem IRC-Netzwerk aufrechtzuerhalten.
In diesem Artikel zeige ich Ihnen, wie Sie ZNC einrichten, eine weit verbreitete IRC-Bouncer-Anwendung. Wir werden den Prozess der Installation von ZNC, der Einrichtung eines Benutzerkontos, der Konfiguration und der Anmeldung beim IRC über den Bouncer durchlaufen. Wir werden auch einige grundlegende Sicherheitsprobleme ansprechen.
Wir werden den Prozess für Ubuntu verfolgen, aber die Grundlagen sind für die meisten Linux-Distributionen ähnlich.
Install ZNC
Ubuntu hat ein ZNC-Paket in seinem Repository, und Sie können es mit apt-get installieren.
$ sudo apt-get install znc
Als nächstes fügen Sie ein dediziertes Benutzerkonto für ZNC hinzu. Dies ist eine gute Praxis, wenn Sie eine Anwendung verwenden, die für das Internet geöffnet bleibt, da sie ein gewisses Maß an Schutz für andere Konten auf Ihrem Server (insbesondere Ihr Root-Konto) bietet.
Ich mache mehrere Dinge mit dem folgenden Befehl: Ich erstelle einen neuen Benutzer namens „znc-admin“. Ich richte das Konto ohne Kennwort ein (da sich dieses Konto niemals anmeldet) und definiere ein Home-Verzeichnis für das Konto. Wir empfehlen die Verwendung von /var/znc als ZNC-Home-Verzeichnis, aber Sie können jedes beliebige Verzeichnis verwenden (außer Ihrem Stammverzeichnis!). Ebenso können Sie einen anderen Kontonamen wählen, wenn Sie möchten.
$ sudo adduser --disabled-password --home /var/znc znc-admin
Konfigurieren von ZNC
Nachdem Sie Ihr neues Konto eingerichtet haben, können Sie ZNC konfigurieren. Wechseln Sie zum neuen Konto, wechseln Sie in das ZNC-Home-Verzeichnis und führen Sie die Konfigurationsroutine von ZNC aus.
$ sudo su znc-admin$ cd ~$ znc --makeconf
ZNC wird Ihnen verschiedene Optionen präsentieren. Hier sind unsere Empfehlungen für die Einrichtung. Beachten Sie, dass ZNC die Standardoptionen darstellt . Wenn Sie die Standardeinstellung mögen, drücken Sie einfach return
Wir empfehlen dringend, SSL und IPv6 für Ihren Datenverkehr zu verwenden.
ZNC erstellt dann eine PEM-Datei unter /var/znc/.znc/znc.pem. Als nächstes werden Sie aufgefordert, den Benutzernamen und das Passwort zu definieren, mit denen Sie sich bei Ihrem IRC-Bouncer anmelden. Sie definieren auch den Nick und den Benutzernamen, mit dem Sie sich mit Ihrem IRC-Bouncer verbinden möchten. Beachten Sie, dass dies nicht der Spitzname sein muss, den Sie im IRC verwenden, aber es kann und ist einfacher, wenn es so ist.
Wir empfehlen, sich nicht an einen Host zu binden, es sei denn, Sie haben einen guten Grund. Der nächste Satz von Variablen konfiguriert Ihre Verbindung zum IRC-Netzwerk.Hier Freenode.
Wenn Sie bereits einige bevorzugte IRC-Kanäle im Auge haben, geben Sie diese oben ein. Denken Sie daran, dem Kanalnamen ein Hash-Zeichen (#) voranzustellen und sie durch ein Leerzeichen zu trennen.
ZNC schreibt die Konfigurationsdatei (/var/znc/.znc/configs/znc.conf) und Sie sind alle eingerichtet.
Erlaube IRC auf deiner Firewall
Nun, da dein Bouncer läuft, ist es an der Zeit, diesen Port auf deiner Firewall zuzulassen. Sie verwenden ein Dienstprogramm namens firewalld, um sicherzustellen, dass der richtige Port über Ihre Firewall geöffnet ist. Wenn Sie es noch nicht haben, installieren Sie es einfach mit apt-get. Beachten Sie, dass Firewalls standardmäßig SSH zulassen, sodass Sie die Verbindung zu Ihrem Server nicht verlieren sollten. Selbst wenn etwas schief geht, wenn Sie ein Prgmr.com system, können sie die management konsole zu erhalten zurück in und fix dinge.
$ sudo apt-get install firewalld
Verwenden Sie es nun, um den Port zu konfigurieren. Wir empfehlen die Verwendung von Port 6697, dem Standardport für verschlüsselten IRC-Datenverkehr.
$ sudo firewall-cmd --add-port=6697/tcp$ sudo firewall-cmd --runtime-to-permanent
Melden Sie sich bei Ihrem Bouncer an
Sie benötigen einen IRC-Client, falls Sie noch keinen haben. Beliebte Optionen sind mIRC, Hexchat und Weechat. Normalerweise würden Sie Ihren Client so einrichten, dass er sich direkt mit dem IRC verbindet, aber hier stellen Sie eine Verbindung zum Bouncer her, und der Bouncer stellt eine Verbindung zum IRC her, indem er die Host- und Benutzeranmeldeinformationen verwendet, die Sie bei der Konfiguration von ZNC eingerichtet haben.
Starten Sie Ihren Client, um eine Verbindung zu Ihrem Bouncer herzustellen. Geben Sie für die meisten Clients im Nachrichtenfeld den folgenden Befehl ein:
$ /server add -tls <znc_server> +6697 <password> <username>
Oder für weechat, wenn Sie möchten, dass Ihr Server über den Namen znc verfügbar ist, sieht Ihr Befehl folgendermaßen aus:
$ /server add znc <znc_server>/6697 -ssl -username=<username> -password=<password> -nicks=<username>
Für den Einsatz Ihrer Prgmr.com server-Adresse. Wenn Ihr Server also „foo“ heißt, verwenden Sie foo.xen.prgmr.com als ZNC-Serveradresse.
Wenn Sie SSL-Fehler erhalten und ein von znc generiertes Zertifikat verwenden, können Sie dieses Zertifikat grundsätzlich über seinen Fingerabdruck auf die Whitelist setzen. Nehmen Sie die Ausgabe aus dem folgenden Befehl:
$ sudo cat /var/znc/.znc/znc.pem | openssl x509 -sha256 -fingerprint -noout | cut -d '=' -f 2- | sed 's/://ig'
Und fügen Sie es Ihrem IRC-Client hinzu:
$ /server modify <znc_server> -tls_pinned_cert <above_output_line>
Oder für weechat:
$ /set irc.server.znc.ssl_fingerprint <above_output_line>
Wenn Sie diese Einstellungen jemals ändern möchten, können Sie dies tun, indem Sie mit dem Benutzer * status interagieren. Geben Sie help ein, um eine Liste der Optionen anzuzeigen.
Weiterführende Literatur
Weitere Dokumentation zu ZNC finden Sie im ZNC Wiki.