Newsgroup: it.comp.sicurezza.varie
Titolo: Macchina in DMZ che tramite LDAP deve collegarsi ad AD DC

Ciao a tutti,
 
ho due macchine in DMZ esposte al web, una con Debian Bookworm dove gira 
Zammad.org ed un'altra con CentOS dove gira il centralino su base 
Asterisk, entrambe tramite LDAP si tirano dentro gli utenti di AD DC 
quindi per forza necessitano di una porta aperta verso la LAN dove gira 
appunto il domain controller.
 
Entrambe le macchine hanno un job giornaliero in cui eseguono la query 
verso AD DC quindi potrei schedulare l'apertura verso la LAN solo per 
pochi minuti ad un determinato orario.
 
Altra ipotesi, non so quanto possa avere senso, mettere una macchina 
Debian sempre in DMZ che faccia routing tra Asterisk e Zammad verso la 
LAN così da avere uno "scudo" in più ma lo considero alla stregua di un 
pour parler, tra l'altro tramite Samba potrei far girare una vera e 
propria replica di AD DC...
 
Chi mi gestisce PfSense non ha "battuto ciglio" nell'ipotesi di tenere 
le macchine in DMZ e lasciare aperta la porta verso la LAN per LDAP di 
conseguenza non mi ha fatto altre proposte.
 
Saluti.
^Bart
 

 conseguenza non mi ha fatto altre proposte.
 
Magari visto che devi autorizzare delle applicazioni web utilizzare un 
identity management tipo Keycloak, federato con ActiveDirectory e che 
supporta protocolli standard come SAML, OpenID e OAuth2. 
Devi sempre aprire verso ActiveDirectory ma almeno hai una sola apertura 
puntuale e su una macchina che sarà ragionevolmente sicura. Non solo, ma a 
quel punto niente più ti vieta di prendere quegli applicativi e spostarli 
sul cloud.
 

 sul cloud.
 
Chiarissimo! :)
 
Saluti.
^Bart

 dove gira appunto il domain controller.
 
Hai considerato l'idea di usare un proxy LDAP ? Tanto per farti capire
a cosa mi sto riferendo, vedi questo esempio
 
https://ldaptor.readthedocs.io/en/latest/cookbook/ldap-proxy.html
 
 
in breve, invece di far parlare direttamente le macchine con il DC,
metti in piedi un proxy (in DMZ o in LAN) che sia una "black box",
ossia che esponga SOLO la porta LDAP, e lo configuri in modo da
inoltrare le richieste al DC, uno dei vantaggi di tale soluzione è la
possibilità di filtrare/manipolare le richieste, per cui, ad esempio,
potresti eliminare (o modificare) le richieste e/o le risposte in modo
da non fornire dati che ritieni "sensibili" e/o che non siano "utili"
al corretto funzionamento del tutto
 
Tra l'altro, in tal modo, le macchine in DMZ non avrebbero alcun tipo
di accesso diretto all'infrastuttura AD della LAN
 

 di accesso diretto all'infrastuttura AD della LAN
 
e quest'altro motivo.
 
:)
 
 

 e quest'altro motivo.
 
ne aggiungo un altro; supponiamo di piazzare il proxy in LAN e non in
DMZ, quindi configuriamo una regola che permetta alle macchine in DMZ
di poter contattare solo proxy LDAP e solo sulla porta LDAP, ed in più
metti la connessione tra DMZ e proxy su una VLAN isolata, mentre il
proxy avrà una seconda scheda di rete che gli permette di contattare il
DC per le query LDAP
 
 
 


Mi piace meno. Il proxy ha senso se sta in DMZ, con la regola che la porta 
LDAP verso la LAN è aperta solo per il proxy e non per le altre macchine 
esposte.

 proxy e non per le altre macchine esposte.
 
e solo verso i server LDAP usati, non verso l'intera rete; un vantaggio
di avere il proxy in LAN è appunto quello di poter definire in DMZ una
regola che permetta alle macchine di inoltrare richieste LDAP *solo*
verso il proxy e, se necessario, il proxy potrebbe reperire in LAN
ulteriori informazioni che fossero necessarie per "filtrare" le query
 
 
 

 esposte.
 
La mia curiosità è quella di capire se possa fare un LDAP proxy con una 
macchina Unix like tipo Debian piuttosto che con Windows anche perché 
con SAMBA ad esempio si può replicare un Domain Controller.
 
Saluti.
^Bart



considerando che l'esempio che ho postato è in python, direi che non
dovrebbero esserci problemi, potresti anche usare un RaspberryPI per
implementare il proxy :)
 

 implementare il proxy :)
 
Ho riguardato i tuoi post e quindi anche l'esempio in questione!
 
Saluti.
^Bart


Questa cosa puoi farla comunque, anche se non con il firewall perimetrale 
con il firewall a bordo della stessa macchina proxy.
 
Da mio punto di vista una macchina che fa da proxy per un servizio LAN non 
può stare nella LAN. Banalmente se una delle macchine esposte venisse 
compromessa in quel caso avrebbe un potenziale accesso alla LAN, cosa che 
per come la vedo io è proprio quello che vorrei mitigare.

 mitigare.
 
Se un host in DMZ venisse compromesso, l'unico accesso sarebbe verso il
proxy in LAN, ed il proxy esporrebbe comunque solo la porta LDAP/LDAPS
per cui la vedo dura usare il proxy come "trampolino" per entrare in
LAN d'altro canto, con il proxy in DMZ il firewall dovrebbe essere
configurato per permettere il traffico LDAP/LDAPS dalla DMZ ad uno dei
server LDAP in LAN... e sinceramente la cosa non mi piace molto :)
 
 
 
 
 


No, dovrebbe essere configurato non dalla DMZ ma solo dalla macchina 
proxy, che non è esposta direttamente ma accessibile LDAPS solo alle altre 
macchine in DMZ che ne necessitano. 
In sostanza aggiungi un hop prima di arrivare alla LAN. 

 In sostanza aggiungi un hop prima di arrivare alla LAN. 
 
Si, quello lo sapevo, quello che intendo è che se qualcuno "penetra"
nella DMZ, potrebbe (ad es.) fare ARP spoofing in modo da potersi poi
presentare al firewall con l'IP della macchina "proxy" ed in tal modo
raggiungere il server LDAP in LAN, se invece il "proxy" fosse situato
in LAN, l'eventuale attaccante potrebbe solo raggiungere il "proxy" e
non avrebbe "spazio di manovra", spero di essere stato più chiaro :-)