**This is an old revision of the document!**
NetCup-Server
Dieser Server ist der Ersatz für den Strato-Server
- IP:
89.58.50.141- IPv6:
2a03:4000:68:f00::/64 - MAC:
c6:6c:c0:74:06:4d
Vorarbeiten
Dienstprogramme hinzufügen
apt install \ vim \ apache2-utils \ mc \ rcs \ rsync \ swaks \ ufw
Benutzer springm hinzufügen
adduser springm
ssh absichern für root und springm
ssh-copy-id -i .ssh/id_rsa_20180121.pub r-netcup
Open the SSH configuration file /etc/ssh/sshdconfig, search for the following directives and modify as it follows:
/etc/ssh/sshdconfig
PasswordAuthentication no ChallengeResponseAuthentication no UsePAM no
Once you are done save the file and restart the SSH service.
sudo systemctl restart ssh
ufw
ufw allow proto tcp from any to any port 25,80,443,110,143,465,587,993,995 ufw enable
Prüfen mit sudo nmap markus-spring.de
PORT STATE SERVICE 22/tcp open ssh 25/tcp open smtp 80/tcp open http 110/tcp closed pop3 143/tcp open imap 443/tcp open https 465/tcp open smtps 587/tcp open submission 993/tcp open imaps 995/tcp closed pop3s 8081/tcp open blackice-icecap
docker installieren
Neues Repository einrichten, utilities und docker installieren
sudo apt-get install \ ca-certificates \ curl \ gnupg \ lsb-release sudo mkdir -p /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
Services
traefik
Basierend auf https://goneuland.de/traefik-v2-reverse-proxy-mit-crowdsec-einrichten/
Es wird ein .env-File benutzt.
Entrypoints umbenannt in web und websecure analog zur Traefik-Dokumentation, der Default-Certificate-Resolver heißt jetzt standard
crowdsec
Mit Docker-Bouncer installiert
nextcloud
dokuwiki
Von https://loganmarchione.com/2022/03/the-best-way-to-run-dokuwiki-in-docker/
Die alte Installation mit dem image von linuxserver.io ist beim Watchtower-Update kaputtgegangen.
dokuwiki-Updates über das Updater-Plugin in dokuwiki selbst - https://wiki.markus-spring.de/doku.php/computer:netcupserver?do=admin&page=upgrade
Maximale Breite für Text in der Bildschirmdarstellung
- conf/userstyle.css
.dokuwiki { max-width:1280px; margin:auto }
watchtower
email notification funktioniert noch nicht
mailserver
Installation folgt https://docker-mailserver.github.io/docker-mailserver/latest/examples/tutorials/basic-installation/
dkim
dkim keys liegen in ~/docker/mailserver/docker-data/dms/config/opendkim/keys/<domain>/mail.txt.
Mit folgendem Perl-Einzeiler in die richtige Form für z.B. cloudflare überführen:
cat mail.txt | perl -ne '$_=~s/"\s+$|^\s+"|^.*?\( |" \).*?$//g; print $_'
sieve
Port 4190 ist auf dem Server nicht erreichbar (traefik?), deshalb müssen die Sieve-Filter mit dem Emacs direkt bearbeitet werden: /ssh:r-netcup:/home/springm/docker/mailserver/docker-data/dms/mail-data/markus-spring.de/me/sieve/default.sieve (me may vary…)
Sieve-Befehl ausführen
docker exec -it mailserver /usr/bin/sieve-filter -u 'logs@markus-spring.de' -e -W -vv \
-C /var/mail/markus-spring.de/logs/home/.dovecot.sieve Inbox
Gesendete Mails entsprechend Filterregeln in Ordner transportieren
Python-Skript zum Umschreiben der Filterregeln und zur Ausführung in das Verzeichnis ~/docker/mailserver/docker-data/dms/python legen und per cron des mailservers ausführen. Hierzu crontab-file in ~/docker/mailserver/docker-data/dms/cron ablegen.
*/10 * * * * docker /usr/local/python/distribute_sent_mails.py>/dev/null
Sicherheitsprüfung webserver
perl ~/perl/nikto/program/nikto.pl -h https://markus-spring.info