Autor | Zpráva | ||
---|---|---|---|
Kajman_ Profil * |
#1 · Zasláno: 4. 1. 2010, 13:49:40
Chamurappi:
Počkal bych na ty logy, pak se uvidí. Už by měly být na cestě. (Respektive cesta k nim je na cestě.) Dorazila už cesta k logům? A je z nich něco patrné? |
||
Chamurappi Profil |
#2 · Zasláno: 4. 1. 2010, 20:26:49 · Upravil/a: Chamurappi
Reaguji na Kajmana:
Právě dorazila. Během výpadku mezi 18:10 a 18:20 prý přišlo na server dvanáct tisíc požadavků místo obvyklých dvou tisíc. User-Agent, který se z mnoha různých IP adres pokoušel POSTovat, se jmenuje „Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.8) Gecko/20071008 Firefox/2.0.0.8 RPT-HTTPClient/0.3-3“. Jak se ho můžeme co nejradikálněji zbavit? |
||
Aesir Profil |
#3 · Zasláno: 4. 1. 2010, 22:20:04
[#2] Chamurappi:
„RPT-HTTPClient/0.3-3“ To vypadá na podpis jedné Javovské knihovny, takže než nějaký robot to bude dost možná něčí scrapper a ten na robots.txt koukat nebude. „Jak se ho můžeme co nejradikálněji zbavit?“ Pro začátek by mohlo pomoct posílat hlavičku 403, pokud user-agent obsahuje řetězec "RPT-HTTPClient". Nevím, jaké jsou možnosti, ale ideálně už na firewallu :) |
||
Chamurappi Profil |
#4 · Zasláno: 4. 1. 2010, 23:05:50
Reaguji na Aesira:
„ten na robots.txt koukat nebude“ Ano, celou dobu předpokládám, že za výpadky nemohou hodní a poslušní roboti. Proto se teď ptám na radikální řešení. „Nevím, jaké jsou možnosti, ale ideálně už na firewallu :)“ To je zase moc radikální, tak dlouhé prsty zřejmě nemáme. „Pro začátek by mohlo pomoct posílat hlavičku 403“ Předpokládám, že to půjde udělat pomocí .htaccessu a že mi někdo řekne, co tam mám napsat :-) |
||
Kajman_ Profil * |
RewriteCond %{HTTP_USER_AGENT} RPT-HTTPClient [NC] RewriteRule .* - [F,L] upraveno - výjimka pro robots.txt RewriteCond %{HTTP_USER_AGENT} RPT-HTTPClient [NC] RewriteRule !^robots\.txt$ - [F,L] |
||
Aesir Profil |
#6 · Zasláno: 4. 1. 2010, 23:19:13
Ještě bych přidal do .htaccess (před Kajmanovu definici):
RewriteCond %{REQUEST_URI} !^/robots\.txt$ A do robots.txt: User-agent: RPT-HTTPClient Disallow: / U hodných robotů/scrapperů, kteří na robots.txt koukají se stává, že pokud nenajdou robots.txt (jedno jestli je prázdný, nebo dostanou 40x hlavičku), tak to berou jako povolení pro procházení celého webu. I to může pár requestů případně zachránit. |
||
DoubleThink Profil * |
#7 · Zasláno: 4. 1. 2010, 23:25:21 · Upravil/a: DoubleThink
Možná místo rewritů:
BrowserMatchNoCase "RPT-HTTPClient" block # tady možná bude potřeba mínus vyescapovat, nejsem si teď jistý Deny from env=block |
||
Chamurappi Profil |
#8 · Zasláno: 5. 1. 2010, 00:11:57 · Upravil/a: Chamurappi
Tak jak?
Za pár minut budeme mít přetížení, mohli bychom to rovnou zkusit. |
||
Yuhů Profil |
#9 · Zasláno: 5. 1. 2010, 01:59:17
Normálně bych to řešil nasazením mod_evasive na proxynu, ale to tady asi nepůjde (žádná proxy tam není).
Kouknul jsem taky do toho logu a vyšlo mi, že včerejší útok po 18. hodině přišel z IP adresy 64.191.47.213. Zkusmo jsem ji teď bloknul v administraci (třeba to povede k tomu, že neuvidí formuláře a nebude útočit). // nejčastější ípéčka po 18. hodině, počet záznamů v logu $ cat diskuse-2010-01-04.log | grep "04/Jan/2010:18:" | cut -d " " -f 1 | sort | uniq -c | sort -n -r | head -6 6478 64.191.47.213 813 81.92.250.198 601 194.79.55.130 404 84.42.163.172 387 120.28.64.78 368 86.49.127.182 // RPT agenti po 18. hodině $ cat diskuse-2010-01-04.log | grep "04/Jan/2010:18:" | grep RPT | cut -d " " - f 1 | sort | uniq -c | sort -n -r | head -9 6478 64.191.47.213 387 120.28.64.78 321 66.29.195.20 293 120.28.64.85 163 124.158.18.144 145 62.190.148.25 139 208.91.245.90 116 93.62.4.207 116 59.41.141.171 // nejčastěji POSTující IPčka po 18. hodině $ cat diskuse-2010-01-04.log | grep "04/Jan/2010:18:" | grep POST | cut -d " " -f 1 | sort | uniq -c | sort -n -r | head -30 65 120.28.64.78 61 66.29.195.20 47 194.79.55.130 47 120.28.64.85 32 208.91.245.90 31 62.190.148.25 26 124.158.18.144 |
||
Yuhů Profil |
#10 · Zasláno: 5. 1. 2010, 02:16:02
Tady máme kamarády z nejhoršího loňského dne, šestého prosince. Počet řádků v logu podle IP:
$ cat diskuse-2009-12-06_01.log | cut -d " " -f 1 | sort | uniq -c | sort -r -n | head 36508 81.92.250.198 21655 64.191.47.213 7587 66.249.65.76 4196 213.192.56.133 2713 79.98.72.34 2630 88.100.64.20 2333 93.89.144.5 1680 77.75.76.115 a když se podívám, co je za user agenta ten první 81.92.250.198, tak mají všechny stejného User Agenta: $ cat diskuse-2009-12-06_01.log | grep 81.92.250.198 | cut -d " " -f 12- | sort | uniq -c | sort -r -n | head 36508 "Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/532.6 (KHTML, like Gecko) Chrome/4.0.261.0 Safari/532.6" takže tím RPT si asi taky nepomůžeme. Ale tohle IPčko pro jistotu bloknu v adminu taky. Možná by to chtělo bloknout 81.92.250.198 i v htaccessu, ideálně nějak chytřeji než přes mod_rewrite. No a dnešní podezřelá adresa 64.191.47.213 je zřejmě pořád tentýž útočník: $ cat diskuse-2009-12-06_01.log | grep 64.191.47.213 | cut -d " " -f 12- | sort | uniq -c | sort -r -n | head 21655 "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.8) Gecko/20071 008 Firefox/2.0.0.8 RPT-HTTPClient/0.3-3" |
||
Jan Tvrdík Profil |
#11 · Zasláno: 5. 1. 2010, 10:20:32
Yuhů:
„Možná by to chtělo bloknout 81.92.250.198 i v htaccessu, ideálně nějak chytřeji než přes mod_rewrite.“ IP adresy se v .htaccess blokují snáz. Ten mod_rewrite tam byl kvůli blokování user agenta, i když i tam by mělo být lepší řešení od DoubleThinka. Takhle by to mohlo vypadat celé: BrowserMatchNoCase "RPT-HTTPClient" block # tady možná bude potřeba mínus vyescapovat, nejsem si teď jistý Order allow,deny Deny from env=block Deny from 81.92.250.198 Deny from 64.191.47.213 Allow from all |
||
Chamurappi Profil |
#12 · Zasláno: 5. 1. 2010, 10:43:43 · Upravil/a: Chamurappi
Nešlo by blokování podobných náletů nějak zautomatizovat? Na to už existují nějaké nástroje, ne?
Reaguji na Yuhůa: Díky za rozbor. Z logu, který jsem viděl (jen výjezd POSTů), to vypadalo, že těch IP adres je spousta a že jediné vodítko je ten User-Agent. Reaguji na Jana Tvrdíka: Doposud vypadal .htaccess takto: ErrorDocument 503 ht>tp://ww>w.jakpsatweb.cz/pretizena-diskuse.html # nastaveni vychozi stranky adresare DirectoryIndex index.php # zakaze zobrazeni obsahu adresare, pokud chybi vychozi soubor Options -Indexes # Cacheovani ExpiresActive On # vychozi expirace 3 minuty, kvuli vykonu ExpiresDefault A180 # expiruje pocet sekund pote, kdy byl accessnut (A) ExpiresByType application/x-javascript A2600000 ExpiresByType text/css A12000000 ExpiresByType image/gif A30000000 ExpiresByType image/jpeg A30000000 ExpiresByType image/png A30000000 RewriteEngine on RewriteRule ^(sitemap.*\.xml(\.gz)?) cache/$1 [L] Stačí to, co píšeš, plácnout na konec? A to mínus je třeba escapovat, nebo ne? Nebo to tam mám dát i s komentářem, že nevíme? :-) |
||
Kajman_ Profil * |
plácnout na konec?
Může být na konci. A myslím, že - se escapovat nemusí, když je to v uvozovkách jako text. Yuhů A můžeš ještě grepnout, zda se tito user agenti koukali na robots.txt? |
||
Kajman_ Profil * |
#14 · Zasláno: 5. 1. 2010, 11:10:09
Tak po změně agenta na RPT se sem už nedostanu, tak se to asi povedlo :-)
|
||
Chamurappi Profil |
#15 · Zasláno: 5. 1. 2010, 11:23:07
Reaguji na Kajmana:
Těší mě, že jsem to nerozbil. Myslím, že brzy uvidíme, jaký to mělo efekt. |
||
Kajman_ Profil * |
Jestli roboti koukaji na robots.txt, tak by bylo lepší tam zkusit nastavit i něco jako
SetEnvIf Request_URI robots\.txt !block A co tam rovnou přidat i to balení javascriptu? To se může klidně i otestovat nejdřív v sandboxu. A vypadá to, že mod_deflate je zapnutý. <IfModule mod_deflate.c> AddOutputFilterByType DEFLATE text/css text/javascript application/x-javascript BrowserMatch ^Mozilla/4 gzip-only-text/html BrowserMatch ^Mozilla/4\.0[678] no-gzip BrowserMatch \bMSIE !no-gzip !gzip-only-text/html </IfModule> |
||
Yuhů Profil |
#17 · Zasláno: 5. 1. 2010, 22:56:28
Pro robotx.txt si nikdo z IP adres 81.92.250.198 a 64.191.47.213 nesáhnul. Takže blokáda je jistě správná.
Pár minut jsem teď ještě zkoumal třetí podezřele aktivní IPčko, ale nakonec se ukázalo, že to je Chamurappi. Když tak koukám na ten .htacess, možná by stálo za to zrušit řádek ExpiresDefault A180 čímž by ve většině klientů odpadla nutnost dávat refresh po přidání příspěvku. Dřív to byla ochrana výkonu proti častému znovunačítání (hlavně hlavní stránky), teď už je to možné zbytečné. Když jsem asi před dvěma lety testoval na tomto serveru mod_deflate, přišel mi nefunkční. Ale třeba se to změnilo. Zapněme ho, jestli ještě není, prosím. |
||
Kajman_ Profil * |
#18 · Zasláno: 6. 1. 2010, 09:44:20
U Google se v posledních dnech polámal index diskuse. Je tam jen pár tisíc stránek, většinou jen uživatelé a na vlákna to odkazuje jako na
diskuse.jakpsatweb.cz/?action=vthreadforum=31topic=104690 kde je vždy duplicitní obsah, protože tam chybí ampersandy. Nevím, kde bere takhle čerstvá vlákna s polámanou adresou. Tipoval bych sitemapy, ale tam žádnou chybu nevidím. Nebo tam někdo chybu vidíte? RSS vypadají taky v pořádku. Přitom je zvláštní, že ve webmaster tools ty ampersandy v sitemapách jsou uvedeny občas v chybovém logu. Ony robotovi asi dávají ty výpadky zabrat, když je robots.txt při nich nedostupný s 503, tak pak tvrdí, že zakazuje i adresy, co nepolámaný nezakazuje. |
||
Jan Tvrdík Profil |
#19 · Zasláno: 6. 1. 2010, 11:38:31
Špatně zapsané ampersandy jsou např. v číslování stránek (via validátor).
|
||
Kajman_ Profil * |
#20 · Zasláno: 6. 1. 2010, 13:24:02
Tam jsou jen adresy s parametrem page, to nebude ten pravý zdroj chybných adres.
Jestli do robots.txt nepřidat Disallow: /?action=vthreadforum |
||
Chamurappi Profil |
#21 · Zasláno: 6. 1. 2010, 13:59:24
Reaguji na Yuhůa:
„Pár minut jsem teď ještě zkoumal třetí podezřele aktivní IPčko, ale nakonec se ukázalo, že to je Chamurappi.“ Kdybych moc zatěžoval, můžeme mě zakázat :-) „Dřív to byla ochrana výkonu proti častému znovunačítání (hlavně hlavní stránky), teď už je to možná zbytečné.“ Začínám se ztrácet v tom, co může a co nemůže za problémy s výkonem. Dost lidí si na to kešování stěžovalo a všem jsme doposud odpovídali, že je nutné. Asi tedy není, ale stejně bych teď raději počkal, až se stav ustabilizuje, než povolíme uzdu další potenciální zátěži. Reaguji na Kajmana: „A co tam rovnou přidat i to balení javascriptu?“ Co přesně dělají ty BrowserMatch? „Jestli do robots.txt nepřidat“ Máme-li tuto evidentní chybu Googlu nějak ošetřovat, udělejme to automatickým přesměrováním těch mršin na správné adresy. Reaguji na Jana Tvrdíka: Nemůže mít vliv. V HTML (na rozdíl od XML) neexistuje syntakticky špatný zápis entity a postup při zpracování neexistující entity je definovaný. |
||
Kajman_ Profil * |
#22 · Zasláno: 6. 1. 2010, 14:17:02
Chamurappi:
Co přesně dělají ty BrowserMatch? To jsou tuším nějaké doporučené ošetření na staré netscapy, které tvrdily v hlavičkách, že deflate umí, ale neuměly. |
||
Kajman_ Profil * |
Chamurappi:
Máme-li tuto evidentní chybu Googlu nějak ošetřovat, udělejme to automatickým přesměrováním těch mršin na správné adresy. Netuším, kde ty adresy bere, přes rewrite by to mohlo být takto... RewriteEngine on RewriteBase / RewriteCond %{QUERY_STRING} ^action=vthreadforum=([0-9]*)topic=([0-9]*)(page=..?)?$ RewriteRule ^(index\.php)?$ ?action=vthread&forum=%1&topic=%2&%3 [R=301,L] Ale to zakázání přes robots.txt bude pro server určitě méně náročné. Google takových rozbitých adres ukazuje jen asi 80 (těžko říct, jestli nejsou další schované jen z důvodu duplicity), a třeba tam bývaly už dřív, jen je divné, že tam jsou i úplně čerstvé. A index.php by mohl u nesmyslných action vracet 404. A do robots.txt bych dal i Disallow: /rss2.php? každý uživatel i vlákno mají své rss, což roboti nemusí prolézat, stačí stačí jim verze bez parametru. Ať prolézají raději skutečná vlákna. |
||
Časová prodleva: 28 dní
|
|||
Chamurappi Profil |
#24 · Zasláno: 4. 2. 2010, 19:19:09
Řekl bych, že se situace už stabilizovala, i když pár přetížení denně se pořád ukazuje.
Reaguji na Yuhůa: > Když tak koukám na ten .htacess, možná by stálo za to zrušit řádek > ExpiresDefault A180 Když ho zruším, tak se místo 180 sekund používá 300 sekund. Poradí někdo, co tam mám přesně napsat, aby se stránky nekešovaly? (A abych to nerozbil?) Reaguji na Kajmana: „Netuším, kde ty adresy bere“ Index Googlu už se pravděpodobně uzdravil. Už toho 8. ledna přišlo na vadnou adresu všehovšudy jen pět požadavků. „do robots.txt bych dal i Disallow: /rss2.php?“ Proč? Google RSS sleduje. „Ať prolézají raději skutečná vlákna.“ Není předpoklad, že jakýmkoliv zákazem vstupu posílíme důležitost toho, co zůstalo povolené, trochu naivní? |
||
Časová prodleva: 4 dny
|
|||
Chamurappi Profil |
#25 · Zasláno: 8. 2. 2010, 15:13:37
Teď jsem si všiml, že Google indexuje i stránky pod doménou w>ww.diskuse.jakpsatweb.cz. Bylo by asi dobré odtamtud přesměrovávat.
|
||
Kajman_ Profil * |
#26 · Zasláno: 8. 2. 2010, 16:20:06
Chamurappi:
www.diskuse.jakpsatweb.cz. Bylo by asi dobré odtamtud přesměrovávat. Přes mod rewrite by to mohlo být takto nějak (raději vyzkoušej v sandboxu)... RewriteCond %{HTTP_HOST} !^diskuse\.jakpsatweb\.cz$ [NC] RewriteRule ^(.*)$ http://diskuse.jakpsatweb.cz/$1 [R=301,L,NE] „do robots.txt bych dal i Disallow: /rss2.php?“ Proč? Google RSS sleduje. Stačí, když bude sledovat hlavní rss celé diskuse, nemusí sledovat přes stotisíc variant s různými parametry za otazníkem. |
||
Chamurappi Profil |
#27 · Zasláno: 8. 2. 2010, 22:36:05
Reaguji na Kajmana:
„Přes mod rewrite by to mohlo být takto nějak“ Děkuji, zdá se, že to funguje. Nevěděl bys ještě, jak zrušit to tříminutové kešování? „Stačí, když bude sledovat hlavní rss celé diskuse“ Pokud na něj nekouká každých deset minut, tak mu může ledacos utéct. „nemusí sledovat přes stotisíc variant“ To asi nemusí, ale nechal bych to na jeho inteligenci. Současný stav je přijatelný. |
||
Davex Profil |
#28 · Zasláno: 8. 2. 2010, 23:22:38 · Upravil/a: Davex
Dají se nastavovat hlavičky Cache-Control: max-age=0 a Expires na čas přístupu pomocí:
ExpiresDefault A0 |
||
Chamurappi Profil |
#29 · Zasláno: 9. 2. 2010, 09:11:45 · Upravil/a: Chamurappi
Reaguji na Davexe:
Děkuji. Čekal jsem větší vědu :-) Nastavil jsem tedy nulu. |
||
Časová prodleva: 7 měsíců
|
|||
Kajman_ Profil * |
#30 · Zasláno: 31. 8. 2010, 19:38:08
„Mrkněte na sitemap.xml ... U ledu má prioritu sníženou, vlákna, označená jako důležitá, zvýšenou.“
Co trošku snížit prioritu u Názoru na stránku? |
||
Téma pokračuje na další straně.
|
0