Request filteringgel a gonosz ellen

Az MSDN Kompetencia Központ honlapján megszaporodtak az olyan rossz indulatú webes kérések, amit szemmel láthatóan robotok küldenek, próbálva felderíteni a webhely által használt technológiákat, hogy kihasználhassák azok sebezhetőségeit. Itt az ideje, hogy megszabaduljunk tőlük.

Az ilyen kérések többnyire olyan URL-re mutatnak, ami nálunk tipikusan nem is létezik. Például teljesen hiába jön kérés errors.php oldalra, olyanunk biztosan nincs. Az ilyen nem létező URL-eket természetesen az IIS elhajtja 404-es hibával, kicsit szemeteli a logot, de komoly gondot nem okoz.

Ami viszont gondot jelent, az a /Articles útvonal, ebben a névtérben ugyanis virtuális URL-eket kezelünk (mint ahogyan azt egyébként több más blog motor is teszi). Magyarul a http://www.msdnkk.hu/Articles/Csharp_programozas_allasinterju_kerdesek oldal úgy készül, hogy a bejövő kérést keresztül zavarjuk az ASP.NET motoron, átadjuk a kérést egy teljesen más címen elérhető oldalnak, amely az URL vége alapján adatbázisból  megjeleníti a cikket. Ennek a folyamatnak sajnos csak a legvégén derül ki, ha az URL-ben megadott cikk nem létezik.

Ráadásul a gonosz kis robotok szemmel láthatóan felismerik az ilyen címeket és éppúgy próbálkoznak, mint amikor Article.aspx?id=<guid> típusú címeink voltak. (Bár nagyságrendekkel visszaesett az ilyen próbálkozások száma.) Az utóbbi időben például rengeteg kérés jön a /Articles/xmlrpc.php címre, amit természetesen naplózunk, hogy tudjuk javítani a hibás linkjeinket. Legegyszerűbben úgy lehet ezektől megszabadulni, hogy az IIS-ben bekonfiguráljuk a request filtering szolgáltatást. A request filteringhez nincs GUI az IIS Managerben, aki ragaszkodik hozzá, töltse le az IIS Admin Packot. A vagányabbak írhatják rögtön a web.configba:

    <?xml version="1.0" encoding="UTF-8"?>
    <configuration>
        <system.webServer>
            <security>
                <requestFiltering>
                    <denyUrlSequences>
                        <add sequence="Articles/xmlrpc.php" />
                    </denyUrlSequences>
                </requestFiltering>
            </security>
        </system.webServer>
    </configuration>

A kérés el sem jut az ASP.NET motorig, a kliens pedig ezt kapja:

HTTP Error 404.5 – URL Sequence Denied

 

Érdekel valakit, hogy mit tud még az IIS 7, írjunk róla?



Balássy György (MS RD, ASP.NET MVP, MCTS)

Balássy György (MS RD, ASP.NET MVP, MCTS) Villamosmérnök, a BME Automatizálási és Alkalmazott Informatikai Tanszékén webportálok fejlesztését oktatja. 2000 óta foglalkozik a Microsoft .NET platformjával, melynek meghonosításában jelentős szerepet vállalt előadóként, konzulensként és A .NET Framework és programozása című könyv társszerzőjeként. Az MSDN Kompetencia Központon belül a Portál Technológiák Csoport vezetője, szakterülete web alapú rendszerek fejlesztése és üzemeltetése. 2004-ben Magyarországon elsőként kapta meg a Most Valuable Professional címet, majd 2005 óta a Microsoft magyarországi regionális igazgatója. Publikációi a Technet Magazinban, az MSDN Kompetencia Központ honlapján és szakmai blogjában olvashatóak.

2008.12.10. 9:12:33 | Permalink | Hozzászólások: 0 | Tárgyszavak: ,


  • Az IIS log kigazolása

    Balássy György (MS RD, ASP.NET MVP, MCTS) Jól működő weboldal esetén az ember ritkán nézi a webszerver naplóját, hiszen a durva hibák úgyis megjelennek a Windows eseménynaplójában, a forgalmi statisztikákat pedig a Google Analytics adja közvetlenül. Ha viszont mégis bele kell kukkantani, jön az elszörnyedés, mi ez a sok szemét és hova bújt a lényeg? Íme néhány tipp a webkiszolgáló naplójának tisztán tartásához. Tovább »
  • Csak összedobom, összehúzom és kész. Kész?

    Balássy György (MS RD, ASP.NET MVP, MCTS) Gyakran lehet olyasmit hallani, hogy a Visual Studioban csak létrehozunk egy új projektet, feldobáljuk az oldalra a vezérlőket és máris kész a webalkalmazásunk és úgy jó, ahogy van, mert a Studio, na az aztán király. Tovább »


Írja meg Ön is véleményét!


Hozzászólásokat csak regisztrált, bejelentkezett felhasználóktól tudunk elfogadni!

Hozzászólások