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

  1. Soubor se jmenuje /etc/hosts.deny, nikoli host.deny

  2. Ne všechny služby používají obálky tcp. Například sshd není ve výchozím nastavení. Ani Apache.

  3. 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  
  4. 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

  • Dobře, ano ' upravím dlaždici. Dobře, dobře, zkusil jsem 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.
  • ahhh v pořádku, ' m za předpokladu, že přednost je tedy shora dolů?
  • jo. první odpovídající pravidlo vyhrává.
  • Perfektní, vypadá to, že funguje! Děkuji. Rychlá otázka, přestože mnoho požadavků pochází ze stejného odkazu, tj. (item.taobao.com) s různými IP adresami klienta ' s, takže ' předpokládám, že ' znovu používá nějaký typ přesměrování. Existuje způsob, jak blokovat podle doporučení nebo jako blok 117. * pomocí selektoru zástupných znaků?

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.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *