Wenn du deinen XMPP Server für andere Nutzer:innen anbieten möchtest, ist es anstrengend jede:n Nutzer:in einzeln über die Shell anzulegen. Deshalb bietet XMPP die Möglichkeit, dass sich Nutzer:innen selbst über Ihren XMPP Client registrieren (Inband Registration). Um Spam Konten zu vermeiden solltest du die Registrierung mit einem Captcha absichern.
Benötigte Pakete installieren:
$ apt install imagemagick ghostscript
Damit die Konfiguration beim Update nicht jedes mal an neue Pfade angepasst werden muss, kopieren wir das Captcha Script in ein eigenes Verzeichnis:
$ su - ejabberd $ mkdir captcha $ cp opt/ejabberd-22.10/lib/captcha-ng.sh captcha/captcha-ng.sh
Die Konfiguration anpassen:
$ jed opt/ejabberd/conf/ejabber.yml
Suche nach:
mod_register: ## Only accept registration requests from the "trusted" ## network (see access_rules section above). ## Think twice before enabling registration from any ## address. See the Jabber SPAM Manifesto for details: ## https://github.com/ge0rg/jabber-spam-fighting-manifesto ip_access: trusted_network
und ändere es ab:
mod_register: captcha_protected: true access: register
Suche nach:
access_rules: local: allow: local c2s: deny: blocked allow: all announce: allow: admin configure: allow: admin muc_create: allow: local pubsub_createnode: allow: local trusted_network: allow: loopback
und ändere es ab:
access_rules: local: allow: local c2s: deny: blocked allow: all announce: allow: admin configure: allow: admin muc_create: allow: local pubsub_createnode: allow: local trusted_network: allow: loopback register: allow: all captcha_cmd: "/home/ejabberd/captcha/captcha-ng.sh" captcha_url: "https://<beispiel.de>:5443" language: "de"
Die Änderungen mit [STRG] + [x] und [STRG] + [s] speichern und den Editor mit [STRG] + [x] und [STRG] + [c] verlassen.
Mache ejabberd die geänderte Konfiguration bekannt:
$ ./opt/ejd/bin/ejabberdctl reload_config