Sunt „controlat de China și nu știu de ce nu pot” bloca cererea lor către serverul meu .
//host.deny
ALL: item.taobao.com ALL: 117.25.128.*
Dar când urmăresc jurnalul de erori de pe serverul meu web tail -f /var/log/apache2/error.log
solicitările sunt în continuare permise.
Întrebare: De ce nu funcționează configurația mea /etc/hosts.deny?
Răspuns
-
Fișierul se numește
/etc/hosts.deny
, nuhost.deny
-
Nu toate serviciile folosesc tcp-wrappers.
sshd
, de exemplu, nu este implicit. Nici Apache nu. -
Puteți utiliza
iptables
pentru a bloca toate pachetele de la 117.25.128 / 24, de exemplu:iptables -I INPUT -s 117.25.128.0/24 -j DROP
-
Chiar mai bine, puteți utiliza fail2ban pentru a monitoriza un fișier jurnal (cum ar fi access.log și / sau apache) sau error.log) și blochează automat adresele IP încercând să vă atace serverul.
Din debian fail2ban
descrierea pachetului:
Fail2ban monitorizează fișierele jurnal (de exemplu /var/log/auth.log, /var/log/apache/access.log) și interzice temporar sau persistent adresele predispuse la eșec prin actualizarea regulilor firewall existente.
Fail2ban permite specificarea ușoară a diferitelor acțiuni care trebuie întreprinse, cum ar fi interzicerea unui IP folosind reguli iptables sau hosts.deny, sau pur și simplu pentru a trimite un e-mail de notificare.
În mod implicit, vine cu expresii de filtrare pentru diverse servicii (sshd, apache, qmail, proftpd, sasl etc.), dar configurația poate fi ușor extinsă pentru monitorizarea oricărui alt fișier text. Toate filtrele și acțiunile sunt date în fișierele de configurare, prin urmare fail2ban poate fi adoptat pentru a fi utilizat cu o varietate de fișiere și firewall-uri.
Comentarii
Răspuns
În ceea ce privește întrebarea dvs. originală. Apache-ul meu din debian nu este configurat cu libwrap, așa că nu va consulta hosts.deny. [Răspunsul anterior îl menționează deja – realitatea este că tcpwrappers nu este simbolul securității așa cum era în anii 90, mai ales când vine vorba la lista neagră]. Ar trebui să-l rulați nu ca un daemon, ci din (x) inetd, ceea ce ar încetini (considerabil).
Puteți bloca / permite accesul la nivelul Apache și faceți nu am nevoie de împachetări tcp pentru Apache [nici iptables de altfel]. Nu ați menționat ssh, totuși nu las niciodată serverele ssh deschise direct către exterior. Totuși continuați să citiți.
Avem un vhost cu 300 + domenii și, de asemenea, probleme similare, cu taobao, baidu și adesea chiar și cu paianjenii google. În special paianjenii baidu pot fi destul de agresivi și persistenți.
După cum ați dat deja seama, au ferme de servere, și chiar dacă blocați un IP, acestea vor apărea din nou la scurt timp de la alte adrese IP.
Nu este deloc practic să încercați să mențineți lis ts de adrese IP / netblocks manual.
Ceea ce funcționează destul de bine pentru noi este modsecurity care blochează permanent șirurile de agent de utilizator în timp ce mod_evasive blochează temporar IP-urile care sunt abuzive.
Această configurare Pe lângă încetinirea păianjenilor de la motoarele de căutare, are și avantajul de a reduce zombii care încearcă să ghicească parolele de pe CMS-uri.
Partea relevantă a modsecurity.conf
SecRule REQUEST_HEADERS:User-Agent "Yandex" phase:1,deny,nolog,id:"6972" SecRule REQUEST_HEADERS:User-Agent "ichiro" phase:1,deny,nolog,id:"6973" SecRule REQUEST_HEADERS:User-Agent "Baiduspider" phase:1,deny,nolog,id:"6974" SecRule REQUEST_HEADERS:User-Agent "Baiduspider/.*" phase:1,deny,nolog,id:"6975" SecRule REQUEST_HEADERS:User-Agent "Baiduspider-video" phase:1,deny,nolog,id:"6976" SecRule REQUEST_HEADERS:User-Agent "Baiduspider-image" phase:1,deny,nolog,id:"6977" SecRule REQUEST_HEADERS:User-Agent "sogou spider" phase:1,deny,nolog,id:"6978" SecRule REQUEST_HEADERS:User-Agent "YoudaoBot" phase:1,deny,nolog,id:"6979" SecRule REQUEST_HEADERS:User-Agent "bingbot(at)microsoft.com" phase:1,deny,nolog,id:"6980" SecRule REQUEST_HEADERS:User-Agent "msnbot(at)microsoft.com" phase:1,deny,nolog,id:"6981" SecRule REQUEST_HEADERS:User-Agent "BLEXBot/1.0" phase:1,deny,nolog,id:"6982" SecRule REQUEST_HEADERS:User-Agent "Bot.*" phase:1,deny,nolog,id:"6984" SecRule REQUEST_HEADERS:User-Agent "AhrefsBot.*" phase:1,deny,nolog,id:"6985"
Și mod-evasive.conf
DOSHashTableSize 2048 DOSPageCount 10 DOSSiteCount 300 DOSPageInterval 2.0 DOSSiteInterval 1.0 DOSBlockingPeriod 600.0 DOSLogDir /var/log/apache2/evasive DOSWhitelist 127.0.0.1 DOSWhitelist 1xx.xxx.xxx.xx
De asemenea, am uitat o posibilitate foarte reală. Dacă nu aveți de-a face cu China sau vă rulați serverul de acasă, blocați doar întreaga țară. Nivelul de atacuri și malware care provine de la acestea a justificat mulți profesioniști să facă acest lucru.
http://www.cyberciti.biz/faq/block-entier-country-using-iptables/
De asemenea, am uitat să adaug la acest răspuns destul de lung o notă de subsol.Deseori oamenii mă sugerează la locul de muncă să folosesc robots.txt pentru acest tip de probleme. Ideea este că robots.txt este doar o sugestie pentru programele de la distanță. Actorii necinstiți îi ignoră cu siguranță și nu este garantat că alte crawler-uri web îi vor onora în zilele noastre. Din testele noastre, de exemplu, Baidu pare să nu le onoreze. (robots.txt este echivalent să întrebi un gangster, te rog să mă gâdilă în loc să mă dai cu pumnul)
Comentarii
- Mulțumesc omule! da ‘ Voi folosi mod_evasive, setările de configurare a fișierelor funcționează bine pentru dvs.?
- Funcționează destul de bine, majoritatea gazdelor noastre nu au prea multe vizitatori. În caz contrar, trebuie să măriți numărul de dospagec (numărul maxim de vizite pe o singură pagină dintr-un IP) și numărul de dosare (numărul maxim de vizite de și IP) în consecință.
- Consultați din nou primele mele rânduri, vă rog.
- Am înțeles, am ‘ voi citi despre setări. Vă mulțumim din nou pentru tot ajutorul dvs.!
- (nu o luați greșit, doar sugerarea blocării adreselor pe serverul web sau Apache ar putea fi un titlu mai bun) … totuși, nu pentru acest comentariu am venit din nou aici, citiți din nou răspunsul, vă rog. În afară de comentariile de la început, veți găsi ceva mai interesant în cele din urmă.
iptables -A INPUT -s 117.25.128.0/24 -j DROP
dar nici ‘ nu l-a blocat.-I INPUT
introduce noua regulă în partea de sus a lanțului INPUT.-A INPUT
îl adaugă în partea de jos a lanțului. dacă-A INPUT
nu a funcționat ‘ nu a funcționat, trebuie să fi existat o altă regulă mai devreme în lanț care să permită acele pachete.