Difference between revisions of "Rproxy"
(14 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
.