Newsgroup: it.comp.reti.ip-admin
Titolo: WebServer non vede LAN

Mi scuso per il crossposting (non formale, ma ho reinviato
semplicemente questo stesso messaggio, avendolo postato già su
it.comp.reti-locali), ma credo che qeusto NG sia più adatto.
Se nemmeno qui ricevero' risposta, provero' domani anche su
it.comp.sicurezza.
Spero di non essere OT in questo NG. In ogni caso, di seguito il
messaggio! Spero possiate darmi una mano! La situazione è critica!
Salve a tutti,
sono uno sviluppatore Web che ha dei seri problemi, dovuti alla mia
poca esperienza di networking.
La situazione è la seguente:
1) Macchina Server IBM collegata a Internet con un IP fisso, su cui
gira IIS 4.0 e PHP
2) Rete locale, comprendente anche il server IBM. Il problema è che in
Risorse di Rete del Server IBM non si vede nulla (come se la macchina
fosse collegata soltanto ad Internet e non alla rete), ma se faccio
PING 192.168.0.x il computer interrogato risponde correttamente. La
rete locale non è visibile su Internet (naturalmente:) ).
3) Interbase Server, che gira su una macchina della rete locale
(linux) poniamo sia 192.168.0.20.
4) Forse (non conosco esattamente la topologia della rete) ci sarà un
gateway. I pc della rete locale possono accedere ad internet, usando
come gateway questa macchina.
Il problema è che in uno script PHP, con cui mi collego al database
interbase, la connessione fallisce se il file di database lo si cerca
su una macchina della rete locale (abbiamo provato anche con una
macchina windows, il risultato è lo stesso: l'errore riportato è
Failed Connection : Win32 error 10061).
Se si trasferisce il file sul server IBM, la connessione avviene
perfettamente (mettendo, invece che l'indirizzo IP locale, quello
pubblico visibile su internet).
Abbiamo riprodotto la situazione in un'altra rete locale, mettendo il
database su una macchina ed il server web con gli script su un'altra,
il tutto funziona perfettamente, ma in questo caso il server web non è
visibile su internet.
Forse il problema si trova nel gateway? Quale deve essere il percorso
per vedere il file del database dal server web?
Ripeto che facendo ping ad una macchina, questa macchina viene vista
perfettamente!!!
La stringa di connessione utilizzata è:
//tentativo di connessione al server IB su un pc della rete locale
//Non va a buon fine!
$host='192.168.0.20:e:/file/db.gdb';  
//Tentativo di connessione al database posizionato sulla stessa
//macchina del server web (con IP pubblico)
//Funziona perfettamente
$host='80.x.x.x:z:/file/db.gdb';  
Come risolvere?!?!!!??!?!?!!?!??!?!?!?!?!?!?!!
--
Ambrogio disse, riguardo a certe idee di software pirata ed al mio invito ad usare altri os:
"Quale sarebbe? Il linux? Quel coso dove 3000 programmi non funzionano?"


Ragazzi, scusatemi ma ho letto soltanto adesso il post di Adriano del
3/9. Sembra lo stesso problema, mi confermate!?!?:)
Quindi, a conti fatti, la situazione da me desiderata non è
preferibile per motivi di sicurezza!
Eppure il responsabile del CED mi aveva chiesto questa soluzione
proprio per motivi di sicurezza (e pensare che guadagna 2000 eur/mese,
3 giorni alla settimana soltanto di mattina!!:)) ), poiché era
preferibile mettere  i dati del database soltanto sulla rete locale e
non su internet, dove erano accessibili. Inoltre, lui vorrebbe mettere
il database sul server DB linux, per uniformità organizzativa.
In effetti, collegandomi con un client Interbase all'ip del server web
e conoscendo la locazione del file e user e password, posso
tranquillamente accedere al database (non ci sono restrizioni in
Interbase sull'IP di provenienza, AFAIK).
Cosa posso fare? Dico che è meglio lasciare la situazione così oppure
fare l'IP forwarding (mi sembra sia questa la soluzione e nel caso
come si fa??) alla macchina linux sulla rete locale!?!?
Spiegatemi qualcosa, ho le idee confuse!!


 preferibile per motivi di sicurezza!
Direi proprio di no.
Dovresti separare la tua LAN (che deve essere un 
baluardo inespugnabile :-) )
dalle risorse che vuoi rendere pubbliche su Internet.
La soluzione è creare una DMZ, zona demilitarizzata
dove dai accesso, in ogni caso protetto e con una valida
politica di logging alle risorse che vuoi rendere pubbliche.
Non so se sia possibile nella tua architettura, ma i dati
del db che pubblichi sul web io li metterei in copia
nella DMZ. Dovete valutare voi se è il caso di avere un
db server separato dal webserver : dipende dalla mole dei
dati, dal carico, da cosa fate fare al db, ecc...
Potrebbe avere un senso separarli in ogni caso per le
implicazioni legate alla sicurezza.
Per esempio, separandoli, puoi imporre delle policy di sicurezza
più restrittive sul db server ed accettare connessioni solo
dal webserver.
-- 
SpeedTech
http://www.speedtech.it