PDA

View Full Version : Guida alla installazione/configurazione IIS + MSSQL sicuro


MoM
14-08-2012, 22:18
Ciao, devo creare una macchina con Windows Web Server 2008 R2 su cui far girare IIS 7.5 e MsSQL 2008 express.
Installare IIS e MsSQL è facilissimo ma mi sono incartato di brutto sulla configurazione.
Finora mi bastava installare wamp o simili e configurare un paio di file di configurazione per essere abbastanza sicuro ed avere un ambiente stabile ma in IIS non so dove mettere le mani.
In giro ho visto solo libri in inglese incomprensibili (sembrano tradotti con google translate) e dal costo esagerato per quello che offrono.

Mi potete consigliare una guida o qualcosa da leggere di aggiornato e comprensibile che tratti sopratutto la sicurezza?
Chi ha imparato a configurare in modo serio un webserver in ambiente Microsoft che corsi ha fatto?
Cercando su internet compaiono corsi da quasi 1000,00€ tra l'altro su IIS 6.0 o al massimo 7.0 :doh:

dr.gazza
19-08-2012, 21:08
scusa che ci devi far girare ?
pagine asp, aspx, php, html o cosa?
questo credo sia fondamentale per capire cosa installare e poi configurare.

Relativamente a MsSQL se non lo ha già installato installa una express with advanced services ha funzioni in più come ad esempio la ricerca fulltext e poi il limite per db passa da 4 a 10GB e come si sa lo spazio non basta mai!

Pianificare ragazzi, pianificare sempre, (carta, penna e scarabocchi )
avere le idee chiare prima di partire aiuta sempre e riduce i tempi.

In ogni caso se la macchina non è legata ad un AD
le configurazioni sono molto semplici e legate al server locale

MoM
20-08-2012, 18:03
pagine in asp

è un progetto di digital signage interattivo, i pc presso i clienti si collegano al server e scaricano palinsesti, immagini, testi e simili

attualmente usiamo un hosting windows su aruba che fa pena, stiamo ordinando un server dedicato su ovh

la versione di mssql che hai consigliato è la stessa che ho installato, molto comodo anche per il backup, import/export di dati

grazie dell'interessamento

dr.gazza
21-08-2012, 07:29
Direi che se le cose stanno così non serve molto:
devi installare
- il ruolo ASP Classic e relative dipendenze che l'installer ti propone, il tutto dal pannello iniziale dove sulla sinistra puoi vedere i ruoli clicchi su aggiungi e vai avanti;
- Per le asp devi, qualora servisse, abilitare i parenth path (o percorsi principali ) che ti consentono di fare gli include tipo ../ che di default è disabilitata, vanno poi verificati timeout di esecuzione script, opzioni di debug, le proprietà dell'application pool, a seconda delle tue esigenze e se non ti vanno bene i valori di default.
Relativamente all'AppPool se il default non ti va bene lascialo e creane uno ad hoc per la tua applicazione;
Se hai delle CGI da far girare vanno prima trustate nella sezione ISAPI CGI restriction e poi
abilitate solo nell'ambito (cartella) dove devono girare.
- imposta sempre i default document e non abilitare l'esplorazione directory
- i livelli di autenticazione vanno decisi ad hoc, se anonimi, o formbased etc..
- Per l'accesso al filesystem da remoto (carico scarico file asp) io installerei anche l'ftp (7.5) che puoi trovare su iis.net come package a parte o se installi il web platform puoi procedere dalla sua interfaccia.

Relativamente a MsSQL
visto che le asp e il dbms saranno sulla stessa macchina, e se non vi devi accedere dall'esterno
puoi disabilitare SQLBrowser in modo che accetti solo connessioni locali, verifica prima di iniziare a crearvi oggetti che l'autenticazione sia di tipo misto (mixed mode)
cosi puoi creare un utente locale a MsSQL con il quale consentire alle pagine di accedere ai dati.

In linea generale gli utenti creali sempre con un profilo molto basso, solitamente non serve che siano owner del db o sysadmin o altro; parti sempre con datareader datawriter, i grant Delete ed Execute solo se necessari, anche se il Delete io non lo concederei a nessuno!

Visto che hai una versione express non avrai a disposizione il mantenace plan e l'agent quindi devi schedulare con dei batch le manutenzioni tipo rebuild indici e update statistiche, nonchè un backup

Io appartengo alla vecchia scuola quindi in fase di progettazione del db non usare un solo filegroup (che solitamente è il PRIMARY ) creane uno o più ad o hoc magari basati su due o più datafile;

1 FileGroup -- per i dati
1 FileGroup -- per gli indici
1 FileGroup -- per il Fulltext

i data file settali con una soglia di incremento alta e automatica ( a meno dei log )
cosi il server non deve allargare continuamente il filegroup

Queste le linee generali del lavoro da fare (secondo me!)
sembrano tante ma non lo sono, direi che in un paio di giorni forse anche uno,
un ambiente di test si tira su e si comincia a capire cosa va e cosa no.

Buon divertimento!

MoM
21-08-2012, 14:12
ottimo grazie... comincierò a cercare info su quello che mi hai scritto, molti passaggi non li ho capiti non sapendo cosa significano (prima volta che lavoro su iis)

MoM
23-08-2012, 23:23
ti faccio una domanda che all'apparenza può sembrare stupida: di MsSql ci sono diverse versioni (2005, 2008, 2012)
mi conviene restare sul collaudato Microsoft® SQL Server® 2008 R2 SP2 - Express Edition o installo direttamente il 2012?



edit:
nel frattempo segnalo questo link (http://www.microsoft.com/italy/beit/Generic.aspx?search=iis&type=-1&audience=-1&userlevel=-1&product=-1&authorName=-1) dove si possono trovare interessanti video sulla configurazione e gestione dei prodotti microsoft (in questo caso IIS) in lingua italiana

dr.gazza
24-08-2012, 07:19
la versione di 2008 indicata è quasi una 2012 come features se non per il fatto che "ciuccia" meno risorse rispetto ad una 2012 quindi a te la scelta!

MoM
26-08-2012, 07:04
Visto che hai una versione express non avrai a disposizione il mantenace plan e l'agent quindi devi schedulare con dei batch le manutenzioni tipo rebuild indici e update statistiche, nonchè un backup

Quando hai tempo riusciresti a spiegarmi questa parte?
Ho già trovato gli script per il backup da far partire con l'utilità di pianificazione, non mi è chiaro la parte di rebuild indici ed update statistiche.
Vorrei sapere non tanto il come (si trovano le guide) ma sopratutto perchè vanno fatti ed i base che criteri vanno decisi

Grazie.

dr.gazza
27-08-2012, 06:56
Il rebuild indici e l'update statistiche sono operazioni che mantengono efficiente il database (qualuque esso sia MySQL MsSQL Oracle..);
Spesso si commette l'errore di lasciare il db a "vegetare" ma inserendo, cancellando e modificando dei dati in esso contenuti la consistenza degli indici si deteriora con conseguente deterioramento delle performance del db
Queste operazioni servono ad evitare proprio questo,
Naturalmente il tutto va commisurato alla quantità di dati che vengono movimentati sul db;
In ogni caso io schedulerei un update delle statistiche ogni gg
e una ricostruzione indici una volta a settimana;