Difference between revisions of "Rproxy"
(Created page with "rproxy är en maskin som agerar reverse proxy för ett flertalet tjänster på Stacken. Det är bland annat den som syr ihop www.stacken.kth.se till en site. == Design == Mas...") |
|||
(15 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | rproxy är en maskin som agerar reverse proxy för ett flertalet tjänster på Stacken. | + | rproxy är en maskin som agerar reverse proxy för ett flertalet tjänster på Stacken. De klassiska IP-numren <code>130.237.234.40</code> samt <code>2001:6b0:1:ea::40</code> 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 | * Ubuntu 18.04 LTS | ||
− | * Automatiska säkerhetsuppdateringar | + | ** Automatiska säkerhetsuppdateringar |
+ | |||
+ | === Docker === | ||
+ | |||
* docker-bench-security körd och Docker är lite mer nerlåst | * 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 <code>/etc/traefik</code> | ||
+ | |||
+ | === Fail2ban === | ||
+ | |||
+ | Förutom sshd som är på som standard på Debian så har jag skapat ett filter som heter <code>filter.d/shakespeer-ip.conf</code> som ser ut så här: | ||
+ | |||
+ | [Definition] | ||
+ | failregex = ^<HOST>.+\/~mhe\/ip.shtml.+\"shakespeer\/.+$ | ||
+ | ignoreregex = | ||
+ | |||
+ | Set är sedan laddat från <code>jail.d/customisation.local</code> 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 <code>/etc/mediawiki</code>. Bilderna ligger i <code>/var/mediawiki/images</code>. | ||
+ | |||
+ | === 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 <code>/etc/bucky</code>. | ||
[[Category: Maskiner]] | [[Category: Maskiner]] |
Latest revision as of 14:15, 29 December 2018
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.
Contents
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
.