Wie zu blockieren referral-spam mit Nginx?
Ich bin mit zwei Mischlingen unter einem Nginx server. Ich bekomme immer wieder Anfragen für eine nicht vorhandene Datei. Die IP-Adressen ändern sich Häufig, aber die URL bleibt die gleiche. Ich würde gerne dieses Problem beheben.
Du musst angemeldet sein, um einen Kommentar abzugeben.
https://calomel.org/nginx.html
Blockieren die meisten "referrer-spam" -- "eher ein ärgernis als ein problem"
nginx.conf
Mithilfe von Nginx map Modul ist ein wenig effizienter und einfacher zu verwalten als die Liste wird lang.
Setzen diese im http {} block :
Setzen Sie diese in Ihren server {} block:
Es funktionierte für mich.
Habe diese aus http://fadeit.dk/blog/post/nginx-referer-spam-blacklist
other-social-buttons.com
,google.com/page-about-social-buttons.com
,social-buttons.com.uk
und nicht nursocial-buttons.com
. Auf Nummer sicher können Sie"~*^https?://(www.)?social-buttons\.com(/.*)?$" 1;
(was der test für ein referer beginnend mithttps
oderhttp
und eine optionalewww.
. Es beginnt mit~*
was bedeutet, es ist ein groß / Kleinschreibung bei regex. Sollten Sie entkommen, Punkte\.
Es endet mit(/.*)?$
dem Ausschluss der anderen Domänen. Sobald ich das getestet habehostnames;
hatte keine Wirkung (nginx/1.14.0), aber Sie können verwenden Sie in einem$http_host
Karte.Ich habe in einer ähnlichen situation vor, wo ich brauchte, um Menschen blockieren auf der Grundlage von Verhalten anstelle von beliebigen anderen Regeln, die eine firewall sozusagen in Ihrem eigenen.
Sie Weg, ich arbeitete, um das problem zu machen, war meine Logik (Schienen in Ihrem Fall) tun, die blockieren... Aber ein langer Weg Runde:
Der Grund, warum ich es auf diese Weise um (anstatt nur geben Django-Berechtigungen, um änderungen an den firewall-config) ist einfach: Sicherheit. Wenn meine Bewerbung gehackt wurden, würde ich nicht wollen, es zu verletzen etwas anderes.
Dem bash-Skript ist so etwas wie dieses:
Habe ich erstellt-Modul für die überprüfung von eingehenden IP in die schwarzen Listen https://github.com/oneumyvakin/ngx_http_blacklist_lookup_module
es nutzt blacklists aus projecthoneypot.org, blocklist.de und uceprotect.net