Windows - IIS tippek

23. rész

Hogy lehet az IIS (Internet Information Services) naplóállományiba a kliens gépek IP címei helyett gépneveket íratni? Milyen elvet követ a szolgáltatás a naplók fájlneveinek képzésekor? Hogy lehet időben korlátozni a webszerver elérhetőségét? Hogy lehet további fájltípusokat hozzárendelni a HTTP tömörítéshez? Cikkünkben megtalálhatók a válaszok a feltett kérdésekre.
Kliens IP címek gépnevekké alakítása a naplóállományokban
Ha megnézünk egy IIS naplóállományt a %systemroot%\system32\logfiles\w3svcX könyvtárban (az X helyén az egyik webhely száma található, pl: 1), akkor azt látjuk, hogy a távoli kéréseknél nem gépnevek, hanem IP címek szerepelnek. Ezen címek a "c-ip" oszlopban találhatók. A rövidítés a client ip (ügyfél ip) szóból ered. Hibakereséseknél, nyomkövetéseknél, betörések visszakeresésénél sokszor hasznos lenne, ha nem IP címmel, hanem gépnevekkel dolgozna az IIS. Bár egy ügyes támadó képes elrejteni magát és hamis címet megadni, azért lehet, hogy eredményesen kutathatunk utána.
Hogy lehetne elérni, hogy az IIS gépneveket naplózzon? Az úgynevezett felügyeleti szkripteket tartalmazó mappában (\inetpub\adminscripts) találunk egy ADSUTIL.VBS állományt. Használatával közvetlenül lehet írni az IIS metaadatbázisát. Nyissunk meg egy parancssori ablakot, tallózzunk el a \inetpub\adminscripts könyvtárba és írjuk be a következő utasítást:
adsutil set w3svc/EnableReverseDNS true
Ahol a "set" jelzi, hogy valamely tulajdonság írásáról van szó. A "w3svc" a webszolgáltatás és az "EnableReverseDNS" az a tulajdonság, melynek értéke alapértelmezésben: false. Ezért kerülnek ip címek a naplófájlokba. A fenti parancs megváltoztatja az alapértelmezett beállítást és minden kérésnél a szerver feloldja a távoli gép IP címét a DNS szolgáltatáson keresztül. Persze ez nem kevés plusz munkával jár, így mind a processzor, mind a sávszélesség terhelése megnövekszik. Nagy forgalmú webhelyeken, ahol kiélezett verseny folyik az ügyfelek kiszolgálásáért és a sávszélesség, illetve a kiszolgáló nagy terheltséggel üzemel, nem javasoljuk a használatát.
Az eredeti állapot a tulajdonság értékének hamisra kapcsolásával visszaállítható:
adsutil set w3svc/EnableReverseDNS false
Ezt követően ismét IP címeket naplóz a webszolgáltatás.
Naplófájl nevek képzése
És ha már a naplófájloknál tartunk: Nem mindig egyértelmű, hogy miként képzi az IIS a fájlok nevét. Az alábbiak figyelembevételével rögtön világos lesz.
A fájlnevet két dolog határozza meg:
  • napló típusa
  • naplózási gyakoriság
A napló típusa szerint lehet:
  • "Microsoft IIS naplófájl-formátum" ("Microsoft IIS Log Format")
  • "NCSA közös naplófájl formátum" ("NCSA Common Log File Format")
  • "W3C bővített naplófájl formátum" ("W3C Extended Log File Format")
Naplózni lehet: óránként (hh), naponta (dd), hetente (ww), havonta (mm), korlátlan fájlméretig és amíg a fájlméret el nem éri a beállított korlátot (nn). A zárójelben lévő jelölések jelennek meg a fájlnevekben. Magyarázatra talán csak az utolsó (nn) szorul: ez egyesével növekvő szám, mely akkor keletkezik, ha létrejön egy új állomány az előző betelte után. Így a következőképpen alakulnak a fájlnevek:
  • "Microsoft IIS naplófájl-formátum" ("Microsoft IIS Log Format"):
méretkorlátnál: inetsvNN.log
óránkénti naplózásánál: inYYMMDDHH.log
naponkénti naplózásnál: inYYMMDD.log
hetenkénti naplózásnál: inYYMMWW.log
havi naplózásnál: inYYMM.log
  • "NCSA közös naplófájl formátum" ("NCSA Common Log File Format")
méretkorlátnál: ncsaNN.log
óránkénti naplózásánál: ncYYMMDDHH.log
naponkénti naplózásnál: ncYYMMDD.log
hetenkénti naplózásnál: ncYYMMWW.log
havi naplózásnál: ncYYMM.log
  • "W3C bővített naplófájl formátum" ("W3C Extended Log File Format")
méretkorlátnál: extendNN.log
óránkénti naplózásánál: exYYMMDDHH.log
naponkénti naplózásnál: exYYMMDD.log
hetenkénti naplózásnál: exYYMMWW.log
havi naplózásnál: exYYMM.log
Ahol az YY az évet jelenti.
Hogy lehet időben korlátozni a webszerver elérhetőségét?
Vállalatok kívülről is elérhető webszervereinél nem biztos, hogy kívánatos a napi 24 órás elérés. Biztonsági okokból nem szeretnénk, ha például éjszaka elérhető lenne a webszolgáltatás. Tegyük fel, hogy a gép kikapcsolása nem a járható út mert vannak túlórázó vagy reggel korábban bejövő dolgozók, akiknek viszont szükségük van a szerver egy másik szolgáltatására. Ördögi kör. Vajon, hogy lehet csak az IIS-t le- és visszakapcsolni egy adott időpontban? Megoldást jelenthet a feladatütemező: futtatunk egy szkriptet, amely a megfelelő időpontban le- és bekapcsolja a szolgáltatásokat, de van ennél sokkal egyszerűbb megoldás:
Az IIS az IUSR_gépnév felhasználói fiókon keresztül érhető el névtelenül. Pontosabban minden névtelen elérés ehhez a fiókhoz rendelődik hozzá. Nem kell mást tennünk, mint a fiók nyitvatartási idejét korlátozni és máris korlátoztuk az egész IIS elérését. Nyissuk meg a Felügyeleti eszközök > Active Directory - felhasználók és számítógépek (Administrative Tools > Active Directory Users and Computers) MMC konzolt. A "Users" tárolóban keressük meg az IUSR_gépnév felhasználót (gépnév helyén a kiszolgáló gépneve található). Kattintsunk rá a jobboldali egérgombbal és válasszuk a "Tulajdonságok" ("Properties") menüt. Lépjünk a "Fiók" ("Account") oldalra és kattintsunk a "Nyitvatartási idő" ("Logon Hours") gombra. Állítsuk be a megfelelő időpontokat, akár a hét minden napján különbözőt és az "OK" gombokra kattintva zárjuk be az ablakokat. Ezt követően a tiltott időpontokban nem lehet névtelenül elérni a kiszolgálót. Ilyen vagy hasonló hibaüzenetre számíthatunk (IIS verziótól függ):
HTTP/1.0 500 Server Error (Logon failure: account logon time
restriction violation.)
További fájltípusok hozzáadása a HTTP tömörítéshez
Az IIS alapértelmezésben támogatja a HTTP forgalom tömörítését az RFC szabványban foglaltak szerint. Ez annyit jelent, hogy a HTM, HTML és TXT fájlok átvitelekor a kiszolgáló és a kliens között tömörítve zajlik a forgalom. Természetesen ehhez a böngészők részéről is szükséges támogatás, de ez a gyakorlatban nem jelent problémát, mert minden ismertebb verzió fel van készítve rá. Hogy lehetne elérni, hogy más fájlok esetében is tömörítsen az IIS?
Szükségünk lesz az ADSUTIL.VBS nevű felügyeleti szkriptre, amely az \Inetpub\AdminScripts mappában található meg alapértelmezésben. Ha nincs ott, akkor a vezérlőpult, programok hozzáadása menüjével telepítsük.
Indítsunk el egy parancssori ablakot és adjuk ki a következő utasítást:
CSCRIPT.EXE ADSUTIL.VBS SET W3Svc/Filters/Compression/GZIP/HcFileExtensions "htm" "html" "txt" "doc"
Ezzel hozzáadtuk a "DOC" kiterjesztésű fájlokat is a tömörítéshez.

Tippek, trükkök cikksorozat

Tippek és trükkök - RAS - Modem csengetési szám állítása
Tippek és trükkök - Program futtatása más felhasználóként - 5. rész
A Windows ikonméretének megváltoztatása és Windows 2000 Asztaltémák - 6. rész
Tippek és trükkök - Internet Explorer - 7. rész
Tippek és trükkök - 8. rész
Alapértelmezések állítása, telepítési fájlok helye, intéző nézetek - 9. rész
Biztonsági trükkök - 10. rész
Windows XP trükkök - 11. rész
Windows 2000 és XP tippek, trükkök - 12. rész
Registry trükkök - 13. rész
Tippek, trükkök - 14. rész
Tippek, trükkök - 15. rész
Windows XP tippek - 16. rész
Tippek Windows XP-hez - 17. rész
Windows tippek - 18. rész
Windows tippek - 19. rész
Windows tippek - 20. rész
Windows Tippek - 21. rész
Windows tippek - 22. rész
Tippek-trükkök - 22. rész

IIS tippek - 23. rész

Windows XP tippek-trükkök - 24. rész
Windows 2000/XP tippek, trükkök - 25. rész
Windows XP tippcsokor - 26. rész
Windows XP tippek, trükkök - 27. rész
XP és IIS tippek - trükkök - 28. rész
Windows XP tippek, trükkök - 29. rész
Tippek, trükkök - 30. rész
Registry trükkök - 31. rész
Tippek, trükkök - 32. rész
Windows XP tippek, trükkök - 33. rész
Tippek, trükkök - 34. rész
Tippek, trükkök - 35. rész
Tippek, trükkök - 36. rész
Tippek, trükkök - 37. rész
Tippek, trükkök - 38. rész
Tippek, trükkök - 39. rész
Tippek, trükkök - 40. rész
Tippek, trükkök - 41. rész
Tippek, trükkök - 42. rész
Hardverrel kapcsolatos tippek, trükkök - 43. rész
Registry trükkök - 44. rész
Tippek, trükkök - 45. rész
Tippek, trükkök - 46. rész
Tippek, trükkök - 47. rész
Tippek, trükkök - 48. rész
Tippek, trükkök - 49. rész
Tippek, trükkök - 50. rész
Tippek, trükkök - 51. rész
Tippek, trükkök - 52. rész
Tippek, trükkök - 53. rész
Tippek, trükkök - 54. rész
Tippek, trükkök - 55. rész
Tippek, trükkök - 56. rész
Tippek, trükkök - 57. rész