Rproxy

rproxy är en maskin som agerar reverse proxy för ett flertalet tjänster på Stacken. De klassiska IP-numren 130.237.234.40 samt 2001:6b0:1:ea::40 pekar på den. Många av stackens webbsidor, t.ex. den här wikin körs genom rproxy.

Konfiguration

Hårdvara

Maskinen är ett VM

OS m.m.

  • Ubuntu 18.04 LTS
    • Automatiska säkerhetsuppdateringar

Docker

  • docker-bench-security körd och Docker är lite mer nerlåst
   # daemon.json 
   {
     "userns-remap": "dockremap",
     "live-restore": true,
     "userland-proxy": false,
     "no-new-privileges": true
   }

Traefik

Traefik används för att ta i mot trafik samt terminera TLS. Det finns en systemd unit med samma namn som ser ut så här:

   # /etc/systemd/system/traefik.service
   [Unit]
   Description=Traefik Reverse Proxy
   After=network.target
   
   [Service]
   Type=notify
   ExecStart=/usr/local/bin/traefik --configFile=/etc/traefik/traefik.toml
   Restart=always
   WatchdogSec=60s
   NoNewPrivileges=yes
   ProtectSystem=strict
   ReadWritePaths=/etc/traefik/state/
   ProtectHome=yes
   
   [Install]
   WantedBy=multi-user.target

Konfiguration hittar du i /etc/traefik

Fail2ban

Förutom sshd som är på som standard på Debian så har jag skapat ett filter som heter filter.d/shakespeer-ip.conf som ser ut så här:

   [Definition]
   failregex = ^<HOST>.+\/~mhe\/ip.shtml.+\"shakespeer\/.+$
   ignoreregex = 

Set är sedan laddat från jail.d/customisation.local så här:

   [traefik-shakespeer]
   enabled = true
   filter = shakespeer-ip
   logpath = /var/log/traefik/access.log
   maxretry = 3
   findtime = 60
   bantime = 6h
   port = http,https

Det lägger iptables-regler som blockar alla som kör programmet Shakespeer som spammar sönder oss med att försöka använda ip.shtml som inte har funkat på många, många år ...

Mediawiki

Mediawiki körs i en Docker container och startas med Docker Compose. Du hittar konfigurationen för det i /etc/mediawiki. Bilderna ligger i /var/mediawiki/images.

Bucky

Bucky används som en statsd till carbon relay som Traefik använder för att att skicka in data till Graphite. Den kör i Docker och startas med Docker Compose och ligger i /etc/bucky.