Hier gibt's meer!

Reader

Lies die neuesten Posts auf wf.meerjungfrauengrotte.de.

from Adminas Blog

Joomla ist ein weit verbreitetes CMS, ein Content Management System, mit dessen Hilfe Webseiten veröffentlicht werden können.

Fail2Ban ist ein Linux-Werkzeug, um mithilfe der System-Firewall IP-Adressen zu sperren, von denen wiederholt erfolglos Anmeldeversuche unternommen wurden.

Wir können Fail2Ban verwenden, um unerwünschte Versuche, sich bei Joomla mit ausgedachten Login-Daten anzumelden, mit einer Sperrung der betreffenden IP-Adresse abzuwehren.

Auf die Installation und Konfiguration von Fail2Ban gehe ich hier ebenso wenig ein wie auf die Installation von Joomla. Ich setze hier voraus, dass beides bereits funktioniert.

Um Joomla 5 mit Fail2Ban (hier Version v0.11.2) abzusichern, muss zuerst im Joomla-Administrationsbereich in der System-Konfiguration im Reiter Protokollierung diese aktiviert werden.

Das Protokollverzeichnis ist je nach Installationsort von Joomla beispielsweise (und hier im Folgenden verwendet) /var/www/joomla/administrator/logs. In diesem Verzeichnis legt Joomla bei fehlerhaften Logins eine Datei error.php an.

Nun geht es an die Konfiguration von Fail2Ban.

Die Datei /etc/fail2ban/filter.d/joomla-login.errors.conf mit folgendem Inhalt anlegen:

[Definition]
failregex = ^.*INFO <HOST>.*joomlafailure.*(Benutzername|Username).*
^.*INFO <HOST>.*tokenfailure.*(Authentication failed).*

Nun die Datei /etc/fail2ban/jail.d/joomla-login-errors.confmit folgendem Inhalt anlegen:

[joomla-login-errors]
enabled = true
datepattern = ^%%Y-%%m-%%dT%%H:%%M:%%S%%z
filter = joomla-login-errors
port   = http,https
maxretry = 6
findtime = 18000
bantime  = 18000
logpath = /var/www/joomla/administrator/logs/error.php

Mit dem Befehl sudo fail2ban-regex /var/www/joomla/administrator/logs/error.php /etc/fail2ban/filter.d/joomla-login-errors.conf kann (und sollte) überprüft werden, ob die Konfiguration stimmt.

Zum Schluss muss Fail2Ban neu gestartet werden, bei Ubuntu beispielsweise mit dem Befehl sudo systemctl restart fail2ban.service.

Ob der Neustart erfolgreich war (eine direkte Rückmeldung gibt es leider nicht), kann mit sudo systemctl status fail2ban.service überprüft werden.

Nun kann mit sudo fail2ban-client status überprüft werden, ob der Filter angelegt worden ist und schließlich kann mit sudo fail2ban-client status joomla-login-errors der aktuelle Status des Filters abgefragt.

#Joomla #Fail2Ban

 
Weiterlesen...

from Michaelas Blog

Was heute oft als „die evangelikale Bewegung“ betrachtet wird, ist tatsächlich eine sehr heterogene Mischung verschiedener Bewegungen im Protestantismus.

Im Folgenden versuche ich einen kurzen Überblick über diese verschiedenen Bewegungen zu geben.

Freikirchen

Eines vorweg: Die oft vorgenommene Gleichsetzung von Freikirchen und Evangelikalen ist falsch. Weder sind alle Freikirchen evangelikal – noch alle Evangelikalen freikirchlich. In Deutschland gehören schätzungsweise 50 % der Evangelikalen zu einer der Gliedkirchen der Evangelischen Kirchen in Deutschland und 50 % zu einer der sehr vielen sehr verschiedenen Freikirchen. Ein Teil pflegt auch eine Doppelmitgliedschaft. Bei der pietistischen Herrnhuter Brüdergemeine aus dem 18. Jahrhundert ist dies ohnehin gegeben, da sie heute gleichzeitig zur EKD als auch zur Vereinigung Evangelischer Freikirchen (VEF) gehört.

Pietisten

Beginnen wir mit der ältesten Bewegung, die oft den Evangelikalen zugeschlagen wird, obwohl sie sich mit dieser Zuordnung oft schwertut: der Pietismus. Er entstand bereits in der zweiten Hälfte des 17. Jahrhunderts. Pietisten gehören fast immer zu einer der Gliedkirchen der EKD, häufig außerdem zu einer der Gemeinschaften in der Landeskirche.

Der Pietismus gehört zu den Gründungsbewegungen der Evangelischen Allianz in Deutschland und stellt wohl deren stärksten landeskirchlichen Flügel dar.

Alt-gläubige Kirchen

Die alt-gläubigen Kirchen oder old-fashioned Churches, Letzteres oft irrtümlich als „altmodische Kirchen“ übersetzt, sind Anhänger von z.B. Luthertum, reformierter Kirche, Baptismus usw., die an alten Glaubenssätzen festhalten, die in ihren Kirchen sonst inzwischen keine Bedeutung mehr haben. Sie werden auch als Vertreter der protestantischen Orthodoxie betrachtet.

Manche sind so alt-gläubig, dass sie sogar bei der Bibel keine Ausnahme machen – es muss etwa die erste Übersetzung Luthers sein oder die erste Ausgabe der King James Bibel. Andere nutzen aber durchaus modernere Übersetzungen, halten jedoch dabei oft an Bibelausgaben fest, die aus älteren Ausgaben des Grundtextes übersetzt worden sind und sich somit von wissenschaftlichen Bibelübersetzungen unterscheiden, insbesondere im Neuen Testament (Verwendung des sog. Textus receptus als angeblich „getreue Grundtextwiedergabe“).

Die alt-gläubigen Kirchen übernehmen die Glaubenssätze von früher, auch in moralischen Fragen, lehnen also z. B. Scheidung, Homosexualität usw. ab.

Viele dieser alt-gläubigen Kirchen sind, obwohl lutherisch oder reformiert, wie Freikirchen organisiert, obwohl sie sich oft nicht als solche betrachten (etwa die Selbständige Evangelisch-Lutherische Kirche (SELK).

Sie erscheinen mit ihren streng biblischen Lehren oft evangelikal, sind es aber eigentlich nicht, sondern: den alten Lehren und Überlieferungen verhaftet. Sie sind in jeder Hinsicht konservativ.

Fundamentalisten

Der protestantische Fundamentalismus ist in der zweiten Hälfte des 19. Jahrhunderts in den USA entstanden. Fundamentalisten glauben insbesondere an die Verbalinspiration und völlige Irrtumslosigkeit der Bibel in allen Fragen.

Der Fundamentalismus findet sich heute in vielen Kirchen, oft in Freikirchen. In aller Regel sind Fundamentalisten rechts und konservativ. Andere Religionen lehnen sie ab, oft auch den interreligiösen Dialog, zum Teil auch mit nicht fundamentalistischen Christen.

Fundamentalisten sind streng dualistisch – bei ihnen ist alles schwarzweiß, alles auf Gegnerschaft ausgelegt.

Evangelikale Bewegung

Da ich selbst evangelikal bin, mag dieser Abschnitt nicht unvoreingenommen sein...

Die eigentliche evangelikale Bewegung ist im frühen 20. Jahrhundert in den USA in Reaktion auf und in Abgrenzung zum Fundamentalismus entstanden. Er nahm vornehmlich Einflüsse des Pietismus, der Erweckungsbewegung, der Heiligungsbewegung und des frühen Baptismus auf. Zum Fundamentalismus steht er sowohl in Kontinuität als auch Diskontinuität, einzelne Elemente wurden übernommen, andere verworfen.

Anders als der Fundamentalismus hat der Evangelikalismus eine große Breite an theologischen Richtungen entwickelt, sodass von einer sehr heterogenen Bewegung zu sprechen ist. Alle Versuche, den Evangelikalismus auf bestimmte Eigenschaften festzulegen, sind zum Scheitern verurteilt.

Wenn man von Fundamentalisten sagt, dass sie die Bibel wörtlich nehmen, kann man von Evangelikalen eher sagen, dass sie die Bibel ernst nehmen. Sie sind offen für zumindest bestimmte Ansätze der historisch-kritischen Theologie.

Politisch reicht das Spektrum von sehr weit links bis ziemlich weit rechts. Ein Großteil wählt Grüne oder SPD, andere wählen die Union, wenige die sog. AfD. Auch Wähler*innen der Linken kommen durchaus im Spektrum der evangelikalen Bewegung vor.

Evangelikale sind oft im sozialen Bereich engagiert – anders als Fundamentalisten aber weniger mit evangelistischer Absicht, sondern um Not zu mindern und Ungerechtigkeiten zu beseitigen.

Viele Evangelikale meiden heute die Bezeichnung „evangelikal“, weil dieser Begriff in ihren Augen insbesondere durch protestantische Fundamentalisten verbrannt ist. Andere nennen sich bewusst „links-evangelikal“ oder „neo-evangelikal“, hier wird oft auch von der „post-evangelikalen Bewegung“ gesprochen. Als Beispiel sind hier die aus den USA stammenden Red Letter Christians zu nennen („Red Letter“ nach den in englischen Bibel oft in roten Lettern gedruckten Worten Jesu, die sie als Zentrum der christlichen Botschaft sehen).

Pfingstbewegung

Die Pfingstbewegung ist im frühen 20. Jahrhundert in den USA entstanden, in Los Angeles. Von dort hat sie sich schnell weltweit ausgebreitet, bereits 1909 kam sie über Skandinavien nach Deutschland. Die erste Pfingstkirche, die in Deutschland entstand, ging aus dem innerkirchlichen Pietismus hervor: der Christliche Gemeinschaftsverband Mülheim a.d. Ruhr (CGV). Bereits 1909 kam es zu einer Spaltung zwischen dem landeskirchlichen Pietismus und den Mülheimern und damit der Pfingstbewegung, die über Jahrzehnte andauerte.

Die Pfingstbewegung ist heute weltweit die größte von all den hier genannten Bewegungen – und auch die am schnellsten wachsende. Die Pfingstbewegung steht oft dem Fundamentalismus näher als dem Evangelikalismus, gerade auch in Fragen der „christlichen Lebensführung“ (Moral, speziell Sexualmoral und Abtreibungen).

In den vergangenen Jahrzehnten sind sogenannte neo-pentecostale Kirchen entstanden, die sich teilweise erheblich von den traditionellen Pfingstkirchen unterscheiden, allerdings oft noch konservativer sind, obwohl sie hauptsächlich jüngere Menschen ansprechen wollen mit einem modernen Bühnenprogramm.

Die Mitglieder der Pfingstbewegung zählen sich meist selbst zu den Evangelikalen, obwohl sie nicht deren Geschichte teilen. Persönlich sehe ich sie oftmals eher in der Nähe des protestantischen Fundamentalismus, wobei es durchaus auch Gemäßigte unter ihnen gibt.

Charismatische Bewegung

In den 1960er Jahren entstand durch Einflüsse aus der Pfingstbewegung die charismatische Bewegung, die heute in vielen Landes- und Freikirchen Gemeinden vertreten ist, sich aber auch in der Römisch-katholischen Kirche manifestiert hat.

Parallel zur neo-pentecostalen Bewegung ist hier in den vergangenen Jahren auch eine neo-charismatische Bewegung entstanden, die sich teilweise von den traditionellen charismatischen Gemeinden unterscheidet.

 
Weiterlesen...

from Adminas Blog

Sharkey kann mithilfe der Suchmaschine Meilisearch in Notizen suchen.

Wer es sich einfach machen will, betreibt Meilisearch im sog. Development-Modus, bei dem keine Schlüssel für die Kommunikation zwischen Server und Client benötigt werden.

Ich empfehle aber, den Production-Modus zu verwenden. Dabei werden Schlüssel für die Kommunikation verwendet. Im Idealfall ein Schlüssel für genau eine Instanz.

Im Folgenden beschreibe ich, wie ich unter Ubuntu 22.04 vorgegangen bin.

Vorbemerkungen

Ich habe Meilisearch auf einem anderen Server als Sharkey installiert.

Meilisearch benötigt hauptsächlich viel RAM – und da gab der Server, den ich für Sharkey verwende, nicht genügend her.

Auf die Verwendung von Docker, um Meilisearch zu installieren, habe ich verzichtet.

Meilisearch installieren

sudo apt update
sudo apt install curl -y
sudo curl -L https://install.meilisearch.com | sh
sudo mv ./meilisearch /usr/local/bin
sudo chmod +x /usr/local/bin/meilisearch
sudo useradd -d /var/lib/meilisearch -b /bin/false -m -r meilisearch
sudo mkdir /var/lib/meilisearch/data /var/lib/meilisearch/dumps /var/lib/meilisearch/snapshots
sudo chown -R meilisearch:meilisearch /var/lib/meilisearch
sudo chmod 750 /var/lib/meilisearch

MASTER_KEY

Für den Betrieb von Meilisearch im sog. Production-Modus wird ein MASTER_KEY benötigt. Dieser sollte tunlichst geheim gehalten werden, da er Zugriff auf alle Funktionen von Meilisearch erlaubt.

Dieser MASTER_KEY muss ein mindestens 16 Byte langer alphanumerischer String sein.

Er kann z. B. mithilfe von uuidgen erzeugt werden. Ein mit uuidgen -r erzeugter MASTER_KEY lautet dann z.B. 0e5cff1c-50a3-4d15-885d-70847e167e55.

Konfiguration einrichten

Zuerst wird eine Konfigurationsdatei als Vorlage heruntergeladen:

sudo curl https://raw.githubusercontent.com/meilisearch/meilisearch/latest/config.toml > /etc/meilisearch.toml

Die Datei muss nun mit einem Editor angepasst werden: sudo nano /etc/meilisearch.toml Es sind folgende Einträge zu ändern:

env = "production"
master_key = "MASTER_KEY"
db_path = "/var/lib/meilisearch/data"
dump_dir = "/var/lib/meilisearch/dumps"
snapshot_dir = "/var/lib/meilisearch/snapshots"

env = "production" schaltet Meilisearch in den Production-Modus, in dem der Schlüssel benötigt werden, um auf Meilisearch zuzugreifen. Die Alternative wäre der Development-Modus, was ich jedoch nicht empfehle.

Systemd einrichten

Systemd sorgt dafür, dass Meilisearch automatisch gestartet werden kann. sudo nano /etc/systemd/system/meilisearch.service Mit folgendem Inhalt:

[Unit]
Description=Meilisearch
After=systemd-user-sessions.service

[Service]
Type=simple
WorkingDirectory=/var/lib/meilisearch
ExecStart=/usr/local/bin/meilisearch --config-file-path /etc/meilisearch.toml
User=meilisearch
Group=meilisearch

[Install]
WantedBy=multi-user.target

Meilisearch starten

Nun aktivieren und starten wir Meilisearch. sudo systemctl enable --now meilisearch.service

Zur Sicherheit überprüfen wir, ob Meilisearch einwandfrei funktioniert: sudo systemctl status meilisearch.service

Mit dem Befehl

curl \
  -X GET 'http://localhost:7700/keys' \
  -H 'Authorization: Bearer MASTER_KEY'

können wir sehen, welche Schlüssel Meilisearch automatisch generiert hat: einen Default Search Key und einen Default Admin API Key.

Wir wollen aber für Sharkey einen weiteren Schlüssel erzeugen:

API_KEY generieren

Es gibt nun eine Besonderheit: Wenn wir Sharkey so konfigurieren, dass er einen Index namens INDEX benutzen soll, will er unter der Haube einen Index namens INDEX---notes erstellen und verwenden. Wir müssen also den API_Key entsprechend anpassen.

curl \
  -X POST 'http://localhost:7700/keys' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer MASTER_KEY' \
  --data-binary '{
    "name": "NAME",
    "description": "BESCHREIBUNG",
    "actions": ["*"],
    "indexes": ["INDEX---notes"],
    "expiresAt": "2025-01-01T00:00:00Z"
  }' 

Ohne das ---notes wird Meilisearch den API_KEY nicht akzeptieren, es gibt dann eine Fehlermeldung ìnvalid API key`.

Meilisearch erlaubt die Verwendung von Wildcards. Alternativ zu INDEX---notes kann darum auch INDEX---* oder INDEX* verwendet werden.

Ersetzt INDEX durch eine geeignete Bezeichnung, z.B. “sharkey”, also “sharkey—-notes” oder “sharkey—-*”.

Für "expiresAt"habe ich ein Datum ein Jahr in der Zukunft angegeben.

Obiger Befehl erzeugt einen API_KEY, der auf dem Bildschirm angezeigt wird. Diesen bitte notieren, er wird im nächsten Schritt benötigt. Er lautet z.B. f52b90e969e68f23481c540e79b02f693d2f783968022379f52a2b859c41ce0c.

Sharkey für Meilisearch konfigurieren

Nun konfigurieren wir Sharkey für die Verwendung von Meilisearch.

su - sharkey
nano Sharkey/.config/default.yml

Den Abschnitt für Meilisearch suchen und dort eintragen:

meilisearch:
  host: localhost
  port: 7700
  apiKey: 'API_KEY'
  ssl: false
  index: 'INDEX'
  scope: global

Hier darf kein “—-notes” an den Namen des Index angehängt werden. Das erledigt Sharkey im Hintergrund.

Nun starten wir Sharkey neu: sudo systemctl restart sharkey.service

Zum Schluss als Sharkey-Admin in der Systemsteuerung die Rolle „Nutzung der Notizsuchfunktion“ aktivieren

SSL Reverse Proxy mit nginx einrichten

Da ich Meilisearch auf einem anderen Server installiert habe, nutze ich einen SSL Reverse Proxy auf dem Server, auf dem Meilisearch installiert ist.

Dafür verwende ich folgende Konfiguration für nginx:

server {
    listen 80;
    listen [::]:80;
    server_name SERVER_NAME;
    return 301 https://$server_name$request_uri;
}
server {
    listen 443 ssl;
    listen [::]:443 ssl;
    server_name SERVER_NAME;
    access_log /var/log/nginx/access_meilisearch.log;
    error_log /var/log/nginx/error_meilisearch.log;
    ssl_certificate       /PATH/TO/SSL/CERTIFICATE;
    ssl_certificate_key   /PATH/TO/SSL/CERTIFICATE/KEY;
    location / {
        proxy_pass  http://localhost:7700;
    }
}

Sharkey muss nun wie folgt konfiguriert werden, um den SSL Reverse Proxy zu verwenden:

meilisearch:
  host: SERVER_NAME
  port: 443
  apiKey: 'API_KEY'
  ssl: true
  index: 'INDEX_NAME'
  scope: global

API_KEY anzeigen

Um den API _KEY anzuzeigen, bitte folgenden Befehl eingeben:

curl \
  -X GET 'http://localhost:7700/keys' \
  -H 'Authorization: Bearer MASTER_KEY'

Dieser Befehl zeigt alle API_KEYs an. Der API_KEY ist unter dem Tag "key" : zu finden. Jeder API_KEY hat auch eine uuid-Kennung, die notwendig ist, um einen API_Key zu aktualisieren oder zu löschen.

API_KEY löschen

Falls erforderlich, kann der API_KEY gelöscht und dann durch einen neuen ersetzt werden.

curl \
  -X DELETE 'http://localhost:7700/keys/UUID' \
  -H 'Authorization: Bearer MASTER_KEY'

#Meilisearch #Sharkey #Suchmaschine #Volltextsuche

 
Weiterlesen...

from Adminas Blog

Nachdem ich kürzlich meine Calckey-Instanz gelöscht hatte, blieb das gut gefüllte Bucket mit dem Calckey-Cache im S3 Storage zurück. Contabo erlaubt leider lediglich, leere Buckets zu löschen, also musste ich erst einmal alle Dateien im Bucket löschen.

Ich habe verschiedene Methoden ausprobiert, um auf das Bucket zugreifen zu können. Mein erster Versuch mit FileZilla Pro scheiterte bedauerlicherweise, da dieses Programm nicht mit dem S3 Storage von Contabo kompatibel ist.

Schließlich habe ich mich für Goofys entschieden, ein Programm, um unter Linux ein Bucket zu mounten. Nachdem ich das Bucket gemountet hatte, konnte ich die Dateien löschen – wofür ich bei 310 GB, die sich angesammelt hatten, tatsächlich viele, viele Stunden benötigte. Insgesamt lief die Aktion über dreieinhalb Tage...

Contabo beschreibt die Einrichtung und Verwendung von Goofys hervorragend:

https://docs.contabo.com/docs/products/Object-Storage/Tools/goofys/

Unter Ubuntu 22.04 funktionierte Goofys sofort und problemlos. Nach dem Mounten des Buckets konnte ich mit dem Datei-Manager meines Vertrauens (Midnight Commander) die Dateien löschen.

Dabei habe ich festgestellt, dass die Leistungsfähigkeit des PCs eine große Rolle spielt. Ich habe zwei PCs, einen Mini-PC mit recht geringer Leistung und einen leistungsfähigen Desktop-PC, den ich schließlich wegen der Geschwindigkeit dafür verwendet habe.

Inzwischen nutze ich Goofys auch, um sowohl auf meinem Server als auch auf meinem PC zu Hause ein S3-Bucket als externen Speicher für per BitTorrent heruntergeladene Dateien (etwa die Installationsdateien für LibreOffice) zu mounten. Dank Eintrag in /etc/fstab wird das Bucket schon beim Booten gemountet.

#S3Storage #Contabo

 
Weiterlesen...

from Adminas Blog

Ich habe eine Calckey-Instanz betrieben – und wollte dafür den schon vorhandenen und bisher für Mastodon, Nextcloud und Pixelfed verwendeten S3 Storage bei Contabo nun auch dafür verwenden.

Das Herausfinden der nötigen Einstellungen hat sich als etwas komplizierter herausgestellt, sodass ich sie an dieser Stelle teilen möchte. Vielleicht ist es für manche Calckey- oder Firefish-Admin*a hilfreich.

Zu Beginn müsst Ihr folgende Daten parat haben:

  • ACCESS_KEY: Der Access-Key Eurer S3 Object Storage Anmeldeinformationen
  • SECRET_KEY: Der Secret-Key Eurer S3 Object Storage Anmeldeinformationen
  • REGION: Die Region (aus der Bucket-URL entnehmen, z. B. eu2)
  • BUCKET-NAME: Der Name Eures Buckets im S3 Storage
  • TENANT-ID: Die Tenant-ID Eures S3 Storage (für alle Buckets identisch)

Die Tenant-ID herauszufinden ist etwas kompliziert. Klickt dazu im Object Storage Panel auf „öffentliches Teilen“ (zweites Icon von rechts neben dem Bucket) und dann auf „Veröffentlichen“.

Ihr erhaltet nun eine URL, z.B. https://eu2.contabostorage.com/447c...:bucket (hier stark gekürzt).

Die sehr lange hexadezimale Ziffernfolge 447c... (der Doppelpunkt gehört nicht mehr dazu) ist Eure Tenant-ID, die Ihr Euch notiert. Klickt jetzt auf Abbrechen; denn für den Betrieb darf das Bucket nicht öffentlich geteilt sein.

Öffnet nun die Systemsteuerung Eurer Calckey-Instanz und wählt dort den Eintrag Object Storage.

Dort tragt Ihr folgende Werte ein:

Basis-URL: https://REGION.contabostorage.com/TENANT-ID:BUCKET-NAME Bucket: BUCKET-NAME Prefix: Ein beliebiges Prefix, z.B. calckey Endpoint: https://REGION.contabostorage.com Region: “REGION” (z.B. “EU2”) Access Key: ACCESS_KEY Secret Key: SECRET_KEY

Und aktiviert die Optionen:

  • SSL verwenden
  • Bei Upload auf “public read” stellen
  • s3ForcePathStyle

Falls Ihr einen Proxy für den Objektspeicher verwendet, aktiviert auch die entsprechende Option.

Zum Schluß speichert Ihr die Einstellungen ab.

Von nun an sollte Calckey den S3 Storage von Contabo verwenden.

Update

Ich habe meine Calckey-Instanz mittlerweile wieder gelöscht.

Dabei habe ich festgestellt: Calckey weist offenbar kein Cache-Management auf, mit dessen Hilfe ältere Dateien aus dem Cache (im S3 Storage) gelöscht werden, wie es etwa bei Mastodon der Fall ist. So langen Tausende Dateien, vorwiegend Bilder, im Cache – rund 310 GB an Daten, die ich löschen musste.

#S3Storage #Contabo #Calckey

 
Weiterlesen...