Newsgroup: it.comp.sicurezza.varie
Titolo: Posizione IIS su server

Ciao a tutti
Mi hanno consigliato di spostare IIS sul server dal disco C, quello di
sistema ad un altro disco.
Il motivo è che si il sistema viene bucato si può risalire fino ai file di
sistema e fare danno.
la cartella principale di inetpub non è sotto la cartella c:\windows o winnt
ma direttamente in c:\inetpub\wwwroot.
Il sistema operativo è windows 2003 server.
Secondo voi è un rischio reale mantenere iis in c?
GRazie
Blade


Oddio, se il sistema viene bucato di solito si può lanciare comandi con 
privilegi di amministratore, quindi non c'è nessuna difficoltà a trovare 
la dir di sistema
-- 
Roberto Tagliaferri-Linux user #30785 <-> r.tagliaferri@(forse)
tosnet.it
	Prima di parlare collegare la spina del cervello,
	 leggere e in caso di schermata blu riavviare.

 Secondo voi è un rischio reale mantenere iis in c?
si e no, ovvero c'è il rischio e quindi è sempre bene separare sistema
operativo dai dati e pertanto isolare tutti i web site in una partizione o
ancora meglio in un altro disco è sempre conveniente, inoltre una
suddivisione di questo tipo ti permette di isolare più facilmente volume,
folder, ecc. in modo da aver una maggior granularità nelle security
Cito: "IIS stores files for its default Web site in the
<systemroot>\inetpub\wwwroot, where <systemroot> is the drive on which the
Windows Server 2003 operating system is installed.
Place all files and folders that make up Web sites and applications on
dedicated disk volumes on IIS servers in the three environments defined in
this guide. Placing these files and folders on a dedicated disk volume -
that does not contain the operating system - on an IIS server helps prevent
directory traversal attacks. Directory traversal attacks involve an attacker
sending requests for a file located outside the directory structure of an
IIS server.
For example, cmd.exe exists in the <systemroot>\System32 folder. An attacker
could make a request to the following location:
..\..\Windows\system\cmd.exe in an attempt to invoke the command prompt
If the Web site content is on a separate disk volume, a directory traversal
attack of this type would not work for two reasons. First, permissions on
cmd.exe have been reset as part of the base build of Windows Server 2003,
restricting its access to a much more limited group of users. Second, after
making this change, cmd.exe does not exist on the same disk volume as the
Web root, and there are currently no known methods to access commands on a
different drive using such an attack.
In addition to security concerns, placing Web site and application files and
folders on a dedicated disk volume makes administration tasks, such as
backup and restore, easier. Furthermore, placing this type of content on a
separate, dedicated physical drive can help reduce disk contention on the
system volume and improve overall disk - access performance."
Fonte:
http://www.microsoft.com/technet/security/prodtech/win2003/w2003hg/sgch08.mspx
-- 
ITHost (your host company)
Technical Manager
C. Paparelli (MCSE,MCSD,MCDBA)
http://www.ithost.ch

la dir di sistema
si e no, non sempre il sistema viene bucato a livello di administrator o
meglio ben rare sono le volte, la maggior parte delle volte si sfruttano
errori di security del web anonymous account e/o del account ftp.


 ftp.
da cui poi, guadagnare root/admin con un exploit locale....
-- 
*    HappyCactus - Linux User #209744 - BOFH Certified Engineer    *
*                         
http://www.google.com
                    *
*                                                                  *
*                           ET IN ARCADIA EGO                      *


ok ti ringrazio per la risposta molto esausitva
Mi confermi se le info che mi hanno passato sono complete?
GRazie
Blade
Per quanto riguarda IIS, per installarlo nel path che preferisci i passi da
seguire sono:
1- disinstallare la versione corrente
2- preparare il file unattend.txt cosi' composto:
----> BLADE: (domanda: il file è da creare?  )
[Components]
iis_common = on
iis_inetmgr = on
iis_www = on
iis_ftp = on
iis_htmla = off
iis_doc = off
iis_nntp = off
iis_nntp_docs = off
iis_smtp = off
iis_smtp_docs = off
fp_extensions = off
[InternetServer]
PathFTPRoot=D:\Inetpub\Ftproot
PathWWWRoot=D:\Inetpub\Wwwroot
3- configurare il path in modo opportuno, ovvero: i componenti "on" sono
quelli installati, quelli "off" non vengono installati, nella sezione
"InternetServer" viene indicato il path del web e dell'ftp server
4- lanciare la seguente stringa da riga di comando:
sysocmgr /i:%winnt%\inf\sysoc.inf /u:c:\temp\IIS\unattend.txt
(dove "c:\temp\IIS\" va sostituito con il percorso in cui e' stato salvato
il file di configurazione)
A questo punto parte l'installazione che ti chiede solo di locare la
cartella I386 per proseguire.

 da cui poi, guadagnare root/admin con un exploit locale....
mmh dipende se il web site lo imposti come high isolation e all'account
chiamante non imposti SE_TCB_NAME  e quindi fai girare tutti i processi dal
chiamante non sarà possibile sarà più difficile impersonare un altro utente
Certo che se sei già dentro al server come utente autenticato il tutto e
molto più semplice :-)


 utente autenticato il tutto e molto più semplice :-)
Beh, chiaro.
-- 
*    HappyCactus - Linux User #209744 - BOFH Certified Engineer    *
*                       
http://www.google.com
                      *
*                                                                  *
*            Tutto puo' andare storSegmentation fault.             *

 seguire sono:
mah lascia stare non complicarti la vita tutto quello che ti hanno detto non
serve a niente se non a incasinare il metadb di iis
Devi unicamente spegnere iis con c:\>net stop iisadmin /y, rimuovere la
folder inetpub, rimuovere il default web site riattivare il web server ed
impostare web site per web site
Comunque buona lettura
http://www.microsoft.com/WindowsServer2003/iis/default.mspx


 fare una scalata agli utenti con maggiori privilegi. Questo in assoluto.
no per nulla proprio perchè in modalità high isolation per ogni web site
viene creata un istanza completamente isolata con le credenziali del utente
che NON permette direttamente di impersonare nessun altro utente a meno di
............
http://www.microsoft.com/technet/prodtechnol/windowsserver2003/technologies/webapp/iis/appisoa.mspx#XSLTsection124121120120


 ha scritto nel messaggio
news:c823ha$oml$1...@newshispeed.ch...


 utente a meno di............
A meno di?
Un buffer overflow sul servizio IIS ti fornisce per esempio una shell
con i privilegi dell'utente IIS.
Una directory cgi-bin/ scrivibile, per esempio, l'upload di codice e la
sua esecuzione.
Se in uno dei due casi il codice esegue una scalata ad un altro utente
sfruttando una vulnerabilita' locale...


 su un altro disco?
no o meglio si per scrupolo, per sapere se tutti i web site sono ok ti basta
spegnere iis e riavviarlo se trovi gli errori nella iis console vuol dire
che c'è qualcosa che non va :-)


 sfruttando una vulnerabilita' locale...
no non è possibile ovviamente dipende da come sono stati configurati gli
utenti, le acl i componenti, ecc.


 nessuno
Scusa, come "non e' possibile"?
Una privilege escalation non e' una feature del sistema, ma un exploit
di un *bug*.
Ora, vuoi dirmi che non vi sono assolutamente bug nel codice del sistema
operativo o di un qualunque altro softwareillo che per fare una qualche
operazione non abbia bisogno di privilegi superiori a quelli dell'utente
corrente?
HappyCactus che "Non e' possibile" lo dicevano anche per gli attachment
che si autocliccavano (o per le immagini eseguibili, o per i worm che
non arrivano per posta, o per...)



Microsoft 
ASP.NET/.NET
 MVP
http://www.aspitalia.com/
 Enjoy the .NET community!
18 Giugno 2004 - Firenze - Whidbey and Security Day
http://whidbeyday.aspitalia.com/
 - VS e SQL Server 2005!

 dovessero tentare/andare in buffer overflow. 
uh? e come farebbe, di grazia? un sanitizing degli input? Mi giunge
proprio tanto nuova.
Ad ogni modo, questo risolve il problema dei buffer overflow (di solito
risolvibile in modo decisamente piu' semplice, cioe' imparando a
programmare). Se pero, per esempio, la directory cgi-bin fosse
scrivibile, cosa impedisce che un attaccante vi carichi un programma
maligno, lo esegua, e quest'ultimo faccia una scalata ai privilegi di
root?
[nessuna polemica, solo interesse]


 Il sistema operativo è windows 2003 server.
Il discorso è .. "di lana caprina" :-) in pratica il
consiglio tende ad evitare la possibilità di bucare
IIS tramite un'exploit alla "codered" ossia chiamando
il cmd.exe tramite un'URL "mascherato" con escapes
ora .. a parte il fatto che per quanto ne so IIS6 non ha
quel tipo di vulnerabilità dato che il parser è stato
completamente riprogettato, in linea di massima direi
che spostare la root di IIS (non IIS stesso) su di un disco
(o partizione cmq) diverso da quello principale è una
buona idea, sia per evitare in parte quanto sopra, sia
perchè è buona norma usare il disco primario soltanto
per il sistema operativo ed usare altri dischi per (es.)
i vari servizi come IIS, i logfiles ecc... in questo modo
si evita anche che il riempimento del disco su cui gira
IIS porti a problemi di funzionamento dell'intero sistema
Direi che ... spostare la root i logs ed il path "TEMP";
eliminare i vari "IIS samples" e in ogni caso impostare
correttamente le ACL potrebbe essere un'ottima cosa ;-)
Ciao

ok grazie

ok quindi basta che mi creo ad esempio nel disco e:
le cartelle
e:\inetpub\wwwroot
e in iis cambio la path al sito predefinito
per iis dovrei essere apposto cosě...giusto?
Per i temp non problem....
Ciao

Grazie :)

 Per i temp non problem....
Ok, ma anche questi li potresti infilare in "e:\temp"
ad esempio, basta cambiare le variabili TEMP e
TMP globali; assicurati anche che i logs di IIS e
dei vari servizi vadano su (es.) "e:\serv\logs\..."
in modo da non riempire il disco di sistema
Ciao

 [nessuna polemica, solo interesse]
lo so e per questo ti ho postato il link sull'archiettura di iis 6  :-)
http://www.microsoft.com/technet/prodtechnol/windowsserver2003/technologies/webapp/iis/appisoa.mspx#XSLTsection124121120120


 segnalati.
:-)


 Hanno bucato chroot(), hanno bucato jail()...
ripeto a meno di bug e fin'ora non ve ne sono di noti :-)


 [nessuna polemica, solo interesse]
le polemiche non mi attirano :)


ok darò un occhio agli elenchi di controllo di accesso....e mi sa tanto che
devo differenziare anche i pool di applicazione adesso sono tutti sotto il
default......
grazie

 
http://www.microsoft.com/technet/prodtechnol/windowsserver2003/technologies/webapp/iis/appisoa.mspx#XSLTsection124121120120
La precisazione e' dovuta alla mia firma ;)
Guardero' il link, grazie.


 Guardero' il link, grazie.
lo so ed infatti ti ho scritto che win è un po' diverso da linuz :-P


 lo so ed infatti ti ho scritto che win è un po' diverso da linuz :-P
e chi afferma il contrario?
Comunque, per chi fosse interessato, un articolo relativamente recente
su securityfocus riguardo IIS 6.0 e la sicurezza e' il seguente
http://www.securityfocus.com/infocus/1765


 
http://www.securityfocus.com/infocus/1765
carino l'articolo ma un lo trovo un brutto riassunto, per carità alcuni
aspetti vengono trattati in dettaglio ma altri vengono completamente evitati
 personalmente inizerei da qui
http://support.microsoft.com/default.aspx?kbid=814874&product=iis60


  personalmente inizerei da qui
Giusto un assaggino per chi non ha voglia di leggere il malloppone,
credo. I frontpage di sf sono generalmente molto poco approfonditi
(giustamente).
