loadbalancer, 2 server web, 1 server web violato, come scavare nel tunnel?

3

Diciamo che ho un bilanciamento del carico (HAProxy) e due server web uno viene violato L'attaccante è in grado di effettuare connessioni in uscita quando i server Web non hanno accesso diretto a Internet (solo server di aggiornamento di Ubuntu) e connessioni al servizio di bilanciamento del carico?

Che ne dici di un proxy inverso (nginx)? questo impedirebbe le connessioni dirette in uscita? Come potrebbero generare una conchiglia? (Disattiverei ICMP e DNS, e controllerei l'integrità dei file webapp)

    
posta baj 30.04.2011 - 18:15
fonte

2 risposte

3

In entrata e in uscita riguarda solo la direzione in cui viene creata la connessione. Una volta stabilita la connessione, i dati possono scorrere in entrambe le direzioni . Quindi una connessione in ingresso può essere utilizzata per trasmettere informazioni all'esterno.

Lasciatemi fare alcuni esempi:

  • Un bug correlato alla sicurezza comune è quello di archiviare file caricati in una cartella direttamente dal server web e per la quale l'esecuzione dello script non è stata disabilitata. Quindi un utente malintenzionato può caricare phpshell (o programmi simili scritti in perl, python, jsp, asp, ...) e semplicemente connettersi al shell usando una normale richiesta http. Sì, hai detto di monitorare i file delle applicazioni Web, ma le cartelle di caricamento sarebbero escluse dal monitoraggio in base alla progettazione.

  • L'attacco potrebbe essere interamente in memoria senza che nessun file sia stato scritto sul disco; pensa a un attacco StackOverflow. Se vede alcune richieste http fatte al server web, l'utente malintenzionato può usarle per le comunicazioni in entrambe le direzioni.

  • A seconda delle autorizzazioni, gli attacchi simliar sono possibili utilizzando Iniezione SQL : l'autore dell'attacco può essere in grado di creare una stored procedure con il codice del programma che "carica" all'interno dell'attacco SQL injection. La vulnerabilità di SQL injection viene quindi utilizzata dall'esterno per trasmettere i dati in qualsiasi direzione.

Il classico protocollo per tunnel dopo http (s) è DNS . È molto facile firewallare le connessioni HTTP in uscita e fare eccezioni per le connessioni ai server di aggiornamento. Ma per dunare alla natura distribuita del DNS, è necessaria l'ispezione del protocollo per filtrarlo, consentendo comunque la ricerca dei server di aggiornamento.

    
risposta data 30.04.2011 - 18:53
fonte
4

La risposta breve è un utente malintenzionato può ancora aprire una shell nonostante queste condizioni.

Usando iptables puoi negare tutto in arrivo ma tcp 80 e 443 rispettivamente per http e https. Inoltre è possibile negare tutto il traffico in uscita (ma si desidera comunque consentire aggiornamenti). Ma questo può solo fare molto. Vuoi proteggere la tua applicazione web e sarebbe più vantaggioso utilizzare un Web Application Firewall (WAF) come mod_security .

In una piattaforma di applicazioni web dovresti essere più preoccupato di owasp top 10 e exploit di applicazioni web . Una delle maggiori preoccupazioni è che un utente malintenzionato sfrutti il sistema e quindi installi una backdoor come il C99 shell . In questo caso iptables non significa nulla, devi consentire http / https e questo è tutto ciò di cui l'hacker ha bisogno.

Il blocco dell'accesso con iptables rende il sistema più difficile da compromettere con un buffer overflow. Ad esempio download + exec shellocde è molto comune perché è un attacco semplice in cui la vittima scarica ed esegue una backdoor. Tuttavia, l'autore dell'attacco non ha bisogno di una connessione per caricare ed eseguire un file. Usando un cacciatore di uova come allestimento un exploit di overflow del buffer, l'aggressore può includere una discreta quantità di complessità nel carico utile. Ad esempio ciò consentirebbe all'utente malintenzionato di caricare il suo eseguibile in memoria e quindi di scriverlo su un file.

La linea di fondo è Defense in Depth e sicurezza nei livelli. Usa le regole del firewall più restrittive che puoi.

    
risposta data 30.04.2011 - 20:56
fonte

Leggi altre domande sui tag