Gyors kaland a “Network Service” beépített rendszerfiókkal

A SUS (még az 1.0 SP1-es verzióról lesz itt szó) egy érdekes problémával szembesít minket. Az a dolga, hogy a 80-as porton keresztül letöltögesse a Windows Update webhelyről az aktuális frissítéseket. A beállításai között az első helyen szerepel, hogy a letöltéshez használjon-e proxy kiszolgálót, vagy sem; ha használnia kell, akkor authentikáljon-e vagy sem; végül ha hitelesítenie kell magát, akkor milyen felhasználói nevet és jelszót haaználjon. A probléma igazából itt kezdődik. Vállalati rendszereknél eléggé gyakori (és nálunk is ez a helyzet), hogy a tűzfalon kifelé igyekvő forgalmat is (hacsak lehet) hitelesíttetjük a integrált authentikációs rendszeren keresztül.

A SUS a következő dillemma el állít minket:

1. Megadhatunk egy felhasználó nevet és jelszót, de gondoskodnunk kell, hogy a letöltés HTTPS csatornán történjen, különben a név és jelszó pár titkosítatlanul halad át a hálózaton. Mivel PKI rendszer (szerintem még) eléggé ritka a hazai mezei IT környezetben, nyugodtan kijelenthetjük, hogy aki megad egy fiókot, az engedi a cleartext jelszót a hálózatán, továbbá engedi a Basic hitelesítést a tűzfalon. Ezen túl is  további két biztonsági probléma kerül elő: létrehozunk egy olyan fiókot, amelynek nem jár le a jelszava, továbbá ehhez a fiókhoz nem tartozik felhasználó, vagyis egy lényegében ellenőrizetlen objektum keletkezik az AD-ban.

2. Nem használunk authentikációt, de akkor: vagy nem használnuk SUS-t, vagy pedig az IP címe alapján SecureNAT klienssé "degradáljuk" az egész gépet IP címe alapján kiengedjük. (Így nem kell ellenőrizetlen AD objektumokkal bajlódnunk)

Persze lehet tűzfal szabállyal korlátozni, hogy ez a SecureNAT kliens csak ide-meg ide és csak ilyen-meg ilyen portokollokat használhat, de ez a hitelesítés nélküli tűzfalon való áttörés NEM SZÉP, mérnöki értelemben nem korrekt.

Nos, Fülöp Mikitől jött az ötlet, hogy használjam a "Network Service" Windows Server 2003-as beépített rendszerfiókot. Ez a "Local System"-nél jóval kevesebb joggal bír, ugyanakkor képes a hálózaton kereszül hitelesítenie magát méghozzá úgy, hogy az adott gép "Computer Account"-ját használja fel. Szuper, pont ez kellene. Terv a következő:

Megadom a SUS szolgáltatásnak a Services MMC-n keresztül, hogy a "Network Service" nevében fusson, továbbá mind az inetpub megfelelő állományain és mappáin, mind pedig a SUS könyvtáron adok Change jogot ennek a fióknak. Ezután a SUS lapon azt állítom be, hogy ne használjon proxy-t, végül telepítem a Firewall klienst (már rég fent van), ezáltal előállt az ISA 2000 tűzfalunk számára egy firewall kliens. A tűzfalon létrehozok egy protokoll szabályt és egy "Site and content" szabályt, mindkettőnél a kiszolgálónk fiókját adom meg, mint a kiértékelésnél figyelembe veendő felhasználót. Ezzel elérem, hogy az ISA 2000 hitelesítse a SUS kérelmét, szabályos kerberos hitelesítés történjen, ne kelljen külön felhasználót felvenni, akinek aztán a jelszavát sem kell így kezelni, továbbá maradhat a szigorúbb tűzfal-hitelesítés is. Minden szuper. Lenne…

Ha az ISA 2000 ismerné a "Network Service" fogalmát! De nem ismeri. Egészen pontosan nem is a "Network Service"-t nem ismeri, hanem a szabályoknál nem tudok felsorolni "fehasználóként" számítógép objektumot. Csak tényleges felhasználót és csoportot. Amikor át akartam ejteni, és a gép fiókját egy csoportba rejtettem, majd azt a csoportnevet adtam meg, akkor hibaüzenettel nem engedett tovább. A hibaüzenet arról szólt, hogy nem tudja kibontani a csoporttagságot. Kész. A kör bezárult. A "Network Service" account valószínűleg hibátlanul hitelesíti a SUS kiszolgálómat, ha majd ISA 2004-es tűzfalat használunk egyszer…

One Response to Gyors kaland a “Network Service” beépített rendszerfiókkal

  1. Tamas says:

    igen, az isa2k4-ben lehet, sot elogyartottan van olyan is, h "network and localsystem service", de mehet kulon-kulon is.egyebkent naon orulok, h a Petrenyi Jozsin keresztul "felfedeztelek". remek hely ez, irjal sokat :) (de azon gondolkodtal mar h fekete hatterel olvasni kicsit faraszto a szemnek?)

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: