Rproxy: Skillnad mellan sidversioner

Från stackenwiki
Hoppa till navigering Hoppa till sök
Ingen redigeringssammanfattning
Ingen redigeringssammanfattning
 
(11 mellanliggande sidversioner av en annan användare visas inte)
Rad 1: Rad 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.


== Konfuguration ==
== Konfiguration ==


=== Hårdvara ===
=== Hårdvara ===
Rad 24: Rad 24:
=== Traefik ===
=== Traefik ===


Traefik används för att ta i mot trafik samt terminera TLS.
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


== Flöde ==
Konfiguration hittar du i <code>/etc/traefik</code>


Flera olika paths och domäner går igenom den här maskinen och tar olika vägar för att hitta tjänsten som ligger bakom.
=== Fail2ban ===


=== DNS ===
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:
    www  CNAME rproxy
    wiki CNAME rproxy


=== Traefik ===
    [Definition]
     https://www.stacken.kth.se/               ---> rproxy ---> w3
     failregex = ^<HOST>.+\/~mhe\/ip.shtml.+\"shakespeer\/.+$
     https://www.stacken.kth.se/project/arla  ---> rproxy ---> cookie
    ignoreregex =
     https://wiki.stacken.kth.se              ---> rproxy ---> cookie
 
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 ...
 
 
=== 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]]

Nuvarande version från 9 december 2025 kl. 17.15

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 ...


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.