etherpad mit Reversproxy Notizen

Grundsystem etherpad einrichten

Ausgangspunkt ist eine virtuelle Maschine mit Debian Stretch und allen wichtigen Updates, sowie der Aktivierung der Backports

/etc/apt/sources.list
## Uncomment the following two lines to add software from the ‚backports‘
## repository.
##
## N.B. software from this repository may not have been tested as
## extensively as that contained in the main release, although it includes
## newer versions of some applications which may provide useful features.
deb http://deb.debian.org/debian stretch-backports main contrib non-free
deb-src http://deb.debian.org/debian stretch-backports main contrib non-free

# apt install gzip git python libssl-dev pkg-config build-essential

# curl -sL https://deb.nodesource.com/setup_9.x | sudo -E bash –
# sudo apt-get install -y nodejs
# git clone https://github.com/ether/etherpad-lite.git && cd etherpad-lite && bin/run.sh

Danach einen Benutzer anlegen (adduser) unter dem der eigentlich Server in Zukunft laufen soll.

# adduser patrick
Danach mittels mv die Dateien ins das Homeverzeichnis verschieben und mit chown die Dateirechte anpassen.
Da es bei mir erst einmal nur um ein Testsystem geht nutze ich später „screen“ um den Dienst zu starten. Daher noch
# apt install screen

Um nun nicht immer die Software direkt anzusprechen schalte ich in meiner Konfiguration einen proxy zwischen, der auch zeitgleich noch die Seiten mittels eines lets encrypt-Zertifikates verschlüsselt.

Reversproxy mit lets-encrypt einrichten

1.Einrichtung eines Webservers
apt install apache2 apache2-utils libapache2-mod-rpaf  apache2-utils

# cp /etc/apache2/sites-avaible/000-default /etc/apache2/sites-avaible/etherpad.bloy.at.conf

Dort ergänzen
Servername etherpad.bloy.at
und die Seite aktivieren
# a2ensite etherpad.bloy.at.conf
und einmal den Apache neustarten
#systemctl restart apache2

Danach ist es möglich unverschüsselt über die neue Adresse die Apache Standardseiten aufzurufen.
2. Certbot einrichten
# apt-get install python-certbot-apache -t stretch-backports
# certbot –apache -d etherpad.bloy.at

Ab hier lassen sich die Seiten verschlüsselt abrufen.
Jetzt noch den eigentlichen Proxy einrichten

3. Proxy einrichten
#a2enmod ssl headers rewrite proxy proxy_http (nach: https://github.com/ether/etherpad-lite/wiki/How-to-put-Etherpad-Lite-behind-a-reverse-Proxy)

ProxyVia On
ProxyRequests Off
ProxyPreserveHost on

<Location />
ProxyPass http://localhost:9001/ retry=0 timeout=30
ProxyPassReverse http://localhost:9001/
</Location>
<Location /socket.io>
# This is needed to handle the websocket transport through the proxy, since
# etherpad does not use a specific sub-folder, such as /ws/ to handle this kind of traffic.
# Taken from https://github.com/ether/etherpad-lite/issues/2318#issuecomment-63548542
# Thanks to beaugunderson for the semantics
RewriteEngine On
RewriteCond %{QUERY_STRING} transport=websocket [NC]
RewriteRule /(.*) ws://localhost:9001/socket.io/$1 [P,L]
ProxyPass http://localhost:9001/socket.io retry=0 timeout=30
ProxyPassReverse http://localhost:9001/socket.io
</Location>

<Proxy *>
Options FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Proxy>

 

4. Absicherung mit ufw und fail2ban

apt install ufw fail2ban

ipv6 aktivieren
(in Datei: /etc/default/ufw)

# Set to yes to apply rules to support IPv6 (no means only IPv6 on loopback
# accepted). You will need to ‚disable‘ and then ‚enable‘ the firewall for
# the changes to take affect.
IPV6=yes

# Set the default input policy to ACCEPT, DROP, or REJECT. Please note that if
# you change this you will most likely want to adjust your rules.
DEFAULT_INPUT_POLICY=“DROP“

# Set the default output policy to ACCEPT, DROP, or REJECT. Please note that if
# you change this you will most likely want to adjust your rules.
DEFAULT_OUTPUT_POLICY=“ACCEPT“

ufw enable ssh
ufw enable „www Full“
ufw enable

Danach sollte das System relativ abgesichert sein und der Zugriff über Port

eigenes etherpad

eigenes etherpad

Quellen

https://www.digitalocean.com/community/tutorials/how-to-secure-apache-with-let-s-encrypt-on-debian-9
https://github.com/ether/etherpad-lite#installationhttps://www.digitalocean.com/community/tutorials/how-to-secure-apache-with-let-s-encrypt-on-debian-9

https://static.etherpad.org/plugins.html

https://github.com/ether/etherpad-lite/wiki/How-to-put-Etherpad-Lite-behind-a-reverse-Proxy

https://www.digitalocean.com/community/tutorials/how-to-setup-a-firewall-with-ufw-on-an-ubuntu-and-debian-cloud-server

Dieser Beitrag wurde unter Allgemein, Computer veröffentlicht. Setze ein Lesezeichen auf den Permalink.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.