Puncte:0

poate fail2ban adăuga reguli de refuz la nginx în loc să folosească iptables

drapel de

Am un server, care se află în spatele unui proxy invers, pe care nu îl controlez. Aș dori să folosesc fail2ban pentru a bloca traficul nginx în anumite condiții.

în mod normal fail2ban folosește iptables pentru a bloca traficul care provine de la IP-ul intrusului

Cu toate acestea, serverul meu se află în spatele unui proxy invers și din punctul de vedere al serverului meu, tot traficul provine din proxy invers:

Am găsit următoarea adresă URL https://forums.freebsd.org/threads/fail2ban-behind-a-proxy.55041/ care sugerează să utilizați iptables cu intropspecția pachetului, cum ar fi, de exemplu:

actionban = iptables -I fail2ban-<nume> 1 -p tcp --dport 80 -m string --algo bm --string 'X-Forwarded-For: <ip>' -j DROP

Cu toate acestea, proxy-ul invers pe care nu îl pot controla redirecționează traficul ca trafic https, adică nu pot introspecta traficul pentru X-Redirecţionat-Pentru antete așa cum ar fi criptate.

Asa intrebarea mea.

Alții au un scenariu similar și există un scenariu actionban = care adaugă Negați regulile la nginx?

Sau trebuie să fac manual un script care încearcă să facă acest lucru (editați configurația nginx și reîncărcați nginx)

Ce altă soluție mi-ar permite să spun dinamic lui nginx care solicitări (conținând specific X-redirecționat-pentru: anteturi) a bloca

Puncte:2
drapel il

Puteți folosi acțiunea fail2ban nginx-bloc-hartă, vedea nginx-block-map.conf pentru detalii.

Doar rețineți că prin filtrarea X-Redirecţionat-Pentru antet, este destul de simplu pentru intruși să manipuleze cererea pentru a evita o interdicție (cu setarea diferitelor valori pentru fiecare cerere nouă din acest antet). Întrebarea dacă un intrus se află în spatele proxy-ului sau doar simulează proxy-ul și doar setează antetul X-Redirecţionat-Pentru în sine nu poate fi răspuns simplu.

drapel cn
`X-Forwarded-For` ar trebui să fie setat de Nginx pentru a fi proxy către un sistem backend (adică un sistem pe care un client direct nu îl poate accesa). Deci, dacă configurația dvs. nu este validă, ar trebui să funcționeze bine.
sebres avatar
drapel il
Nu, nu este acest antet...antetul `X-Forwarded-For`, semnificația de pornire a subiectului, va fi primit de la client, așa că din partea lui nginx nu este deloc clar ce anume l-a setat pe partea clientului, prin urmare nginx care primește această solicitare nu poate pentru a distinge clientul (un proxy real sau doar un intrus care se dă drept proxy). Spre deosebire de antetul la care vrei să spui, care este comparabil cu protecția nginx-ului tău împotriva backend-ului tău, ceea ce pur și simplu nu are sens (de ce ai avea nevoie de fail2ban pentru asta).
drapel cn
Oh, cu siguranță, dacă Nginx primește un antet „X-Forwarded-For”, acesta trebuie ignorat. Deoarece Nginx este proxy-ul, este de așteptat să-l **seteze** și apoi să trimită cererea către computerul backend. Apoi, computerul backend poate trimite un mesaj „blochează _that_ IP” și acesta ar fi IP-ul clientului (cum se găsește în socket). Și văd că OP spune că există încă un alt server proxy în rutare. Deci, cred că nu poate ști ce IP să blocheze.
Puncte:2
drapel cn

fail2ban poate fi folosit pentru a rula un script. Acest scenariu poate face orice doriți.


Editarea regulilor de respingere

Nu sunt prea sigur cum poate funcționa totul cu viteză maximă, dar puteți adăuga cu ușurință reguli de respingere într-un fișier.

Fișierele de configurare Nginx pot include:

includ /etc/nginx/deny-rules.conf

Și scenariul tău generează asta deny-rules.conf, cumva... Doriți să adăugați IP-uri la un fișier și apoi să utilizați acel fișier pentru a genera fișierul deny-rules.conf fișier folosind o buclă sau ceva de genul.

Apoi trebuie să reporniți Nginx, astfel încât noile reguli să fie luate în considerare. Asta e partea proastă a acestei scheme. Va fi lent să reporniți în acest fel.


Refuzarea pe listă

O altă soluție ar fi să folosiți următorul filtru:

Interdicția dinamică a adreselor IP

Nu am folosit niciodată asta, așa că mă tem că va trebui să citiți documentele și să vă uitați la cum să configurați lucrurile și să le faceți totul să se întâmple... Cu toate acestea, ar trebui să funcționeze la viteză maximă. Scriptul din sistemul dumneavoastră fail2ban se poate ocupa de actualizarea acelei liste dinamice.

gelonida avatar
drapel de
multumesc pentru raspunsul tau. Va aștepta să vedem dacă unii utilizatori știu despre un script actionbab existent. Daca nu, voi accepta ca raspuns

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.