sdfsdfs
sdfsdf
Jos sinulla on käytössä Varnish, niin Fail2banin takia saatetaan tarvita pari pientä säätöä. Fail2ban lukee logeista IP-osoitteet, mutta backendille – esimerkiksi Apache2 – kaikki yhteydet tulevat IP:stä 127.0.0.1:8080
eli localhostin portista 8080 (tai minkä portin sitten olet asentanutkaan. Kävijän IP-osoite liikkuu Apachelle, jos olet sen erikseen sallinut, koska se siivotaan. Muutoinhan Varnish rakentaisi cachea myös per IP-osoite. Jos IP-osoite otetaan talteen, niin se näkyy ”väärässä” paikassa logeja, koska Varnish ei esitä sitä ensimmäisenä, vaan tietueen viimeisenä.
Joten varmista, että sinulla on lohkossa vcl_recv
tämä:
sub vcl_recv { set req.http.X-Forwarded-For = client.ip;
Tuon lisäksi täytyy muokata hieman Apachen logeja, jotta tieto saataisiin sellaiseen muotoon, että Fail2ban kykenee sen lukemaan. Muuta virtual hostin log-kohta tällaiseksi:
LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b \"%{User-agent}i\"" varnishcombined CustomLog ${APACHE_LOG_DIR}/access.log varnishcombined
Käynnistä Apache2 uudestaan (ja Varnish vivulla reload
, jos teit muutoksia default.vcl
tiedostoon):
systemctl restart apache2
Tarkista vielä, että kävijöiden IP-osoitteet saadaan kerättyä. Komennon suorittaminen vie aikansa, riippuen login koosta.
cd /tmp
fail2ban-regex /var/log/varnish/access.log /etc/fail2ban/filter.d/wordpress.conf > wordpress.log
Avaa tiedosto wordpress.log ja varmista, että listauksesta löytyy järkevässä kontekstissä vaihtuvia IP-osoitteita.
vsthrottle
Vsthrottle on Varnishin VMOD eli eräällä tavalla laajennus, joka mahdollistaa rajoituksia määrän mukaan. Normaalistihan Varnishissa rajoitetaan esimerkiksi urlin mukaan, mutta vsthrottle mahdollistaa virheilmoituksen, kun yhtä äkkiä vaikka /wp-login.php alkaa saamaan osumia liian useasti. Fail2ban sulkisi IP-osoitteen määrätyksi ajaksi, mutta vsthrottle sulkee urlin hetkeksi. Seuraus määrätään siis sen mukaan, kuinka usein joku avaintieto tekee saman pyynnön.
Se asentuu ilman lähdekoodivääntöjä, joita KVG tarjoaa, suoraan:
apt install varnish-modules
Vsthrottle on periaatteessa helppo käyttää. Asetetaan