Jsem trollován Čínou a nevím, proč nemohu blokovat jejich požadavek na můj server .
//host.deny
ALL: item.taobao.com ALL: 117.25.128.*
Ale když sleduji protokol chyb na svém webovém serveru tail -f /var/log/apache2/error.log
, žádosti jsou stále povoleny.
Otázka: Proč nefunguje můj /etc/hosts.deny config?
Odpovědět
-
Soubor se jmenuje
/etc/hosts.deny
, nikolihost.deny
-
Ne všechny služby používají obálky tcp. Například
sshd
není ve výchozím nastavení. Ani Apache. -
Můžete použít
iptables
blokování všech paketů od 117.25.128 / 24, např .:iptables -I INPUT -s 117.25.128.0/24 -j DROP
-
Ještě lepší je, že pomocí fail2ban můžete monitorovat soubor protokolu (například apache „s access.log a / or error.log) a automaticky blokuje adresy IP, které se pokoušejí zaútočit na váš server.
Z debian fail2ban
popis balíčku:
Fail2ban sleduje soubory protokolu (např. /var/log/auth.log, /var/log/apache/access.log) a dočasně nebo trvale zakazuje adresy náchylné k selhání aktualizací stávajících pravidel brány firewall.
Fail2ban umožňuje snadnou specifikaci různých akcí, například zakázat IP pomocí pravidel iptables nebo hosts.deny nebo jednoduše poslat e-mail s upozorněním.
Ve výchozím nastavení je dodáván s výrazy filtrů pro různé služby (sshd, apache, qmail, proftpd, sasl atd.), ale konfiguraci lze snadno rozšířit pro monitorování jakéhokoli jiného textového souboru. Všechny filtry a akce jsou uvedeny v konfiguračních souborech, takže je možné použít fail2ban pro použití s různými soubory a firewally.
Komentáře
Odpovědět
Pokud jde o vaši původní otázku. Můj Apache v debianu není nakonfigurován s libwrap, takže nebude konzultovat hosts.deny. [Předchozí odpověď to již zmiňuje – realita je taková, že tcpwrappers není ztělesněním bezpečnosti, jako tomu bylo v 90. letech, zvláště když přijde do černé listiny]. Museli byste to spustit ne jako démona, ale z (x) inetd, což by to výrazně zpomalilo.
Můžete zablokovat / povolit přístup na úrovni Apache a dělat nepotřebuji tcp wrappery pro Apache [ani iptables]. Nezmínil jste ssh, nicméně nikdy nechávám ssh servery otevřené zvenčí přímo. Nicméně pokračujte ve čtení.
Máme vhost s 300 + domény a podobné problémy s taobao, baidu a často dokonce s google pavouky. Zejména pavouci baidu mohou být docela agresivní a vytrvalí.
Jak jste již zjistili, mají farmy serverů, a i když zablokujete IP adresu, brzy se znovu objeví z jiných IP adres.
Není vůbec praktické zkoušet a udržovat lis ts IP adres / netblocks ručně.
To, co pro nás docela dobře funguje, je permanentní blokování řetězců uživatelských agentů modsecurity, zatímco mod_evasive dočasně blokuje zneužití IP.
Toto nastavení , kromě zpomalení pavouků z vyhledávačů, má také tu výhodu, že omezuje zombie a snaží se uhodnout hesla v CMS.
Relevantní část našeho 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"
A náš 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
Také jsem zapomněl na velmi reálnou možnost. Pokud nemáte co do činění s Čínou nebo používáte svůj domovský server, stačí zablokovat celou zemi. Úroveň útoků a škodlivého softwaru, která z nich pochází, k tomu oprávnila mnoho profesionálů.
http://www.cyberciti.biz/faq/block-entier-country-using-iptables/
Také jsem zapomněl přidat k této poměrně zdlouhavé odpovědi poznámku pod čarou.Lidé mi v práci často doporučují použít soubor robots.txt pro tyto druhy problémů. Jde o soubor robots.txt, který je pouze návrhem pro vzdálené programy. Nečestní herci je určitě ignorují a není zaručeno, že je dnes ostatní webové prohledávače respektují. Z našich testů se například Baidu zdá , že je nectí. (robots.txt by se rovnalo zeptat se gangstera, místo toho, aby mě praštil, mě prosím pošteklete)
Komentáře
- Díky člověku! ano, ' m def budu používat mod_evasive, ta nastavení konfigurace souborů vám budou dobře fungovat?
- Fungují celkem dobře, většina našich vhostů toho moc nemá návštěvníků. Jinak musíte zvýšit dospagecount (maximální počet návštěv jedné stránky z IP) a odpovídajícím způsobem počet dossitecount (maximální počet návštěv a IP).
- Podívejte se prosím znovu na mé první řádky.
- Má to smysl, přečtu si ' nastavení. Ještě jednou děkuji za veškerou vaši pomoc!
- (neberte to špatně, jen navrhování blokování adres na webovém serveru nebo Apache by mohlo být lepším názvem) … přesto jsem nepřišel k tomuto komentáři zde si znovu přečtěte odpověď prosím. Kromě komentářů na začátku najdete nakonec něco zajímavějšího.
iptables -A INPUT -s 117.25.128.0/24 -j DROP
, ale ani ' to nezablokovalo.-I INPUT
vloží nové pravidlo do horní části řetězce INPUT.-A INPUT
přidá jej do spodní části řetězce. pokud-A INPUT
nefunguje ', muselo existovat nějaké jiné pravidlo dříve v řetězci, které tyto pakety povolilo.