Perché è pericoloso consentire a un server interno di parlare a Internet (a un indirizzo IP specifico)?

4

Una sorta di domanda di base, ma se abbiamo un server interno e vogliamo che parli esternamente, ad esempio per ottenere nuovi pacchetti. Questo ambiente normalmente non ha accesso a Internet. Ho sentito che è "pericoloso" aprire l'accesso da quel server anche a un IP specifico su Internet (diciamo dove mai è necessario ricevere gli aggiornamenti). Il punto è: sappiamo qual è l'IP dall'altra parte e suppongo che ci fidiamo di esso.

Realisticamente, qual è il rischio quando può parlare solo con quell'IP che otterrà nuovi pacchetti da?

Non è una persona di sicurezza qui- solo cercando di capire!

    
posta Myelin 09.03.2016 - 21:09
fonte

3 risposte

3

Non è più pericoloso che consentire a un desktop di accedere a un IP mentre navigano in Internet. Sarebbe pericoloso assegnare un IP statico, avere esposti servizi non sicuri. Due problemi separati. Quando ti connetti a Internet da un'azienda o da una rete domestica, o da qualsiasi rete per la maggior parte, è probabile che avrai un firewall da qualche parte nel circuito. Che si tratti di un firewall dedicato o di regole di fw minimalista applicate su un router. Quel router è il tuo punto di uscita per il mondo. Quindi questo è ciò che accade quando ti connetti e come il mondo ti vede:

Router - 10.10.10.1 (internal address) / 33.33.33.33 (external address)
Laptop1 - 10.10.10.2
Workstation1 - 10.10.10.4
DBServer2 - 10.10.10.10

Diciamo che un utente su Laptop1 va a prendere un aggiornamento per dire: mysoftware.com, questo è ciò che accade in termini molto semplici:

Laptop1 --> need to go to mysoftware.com (DNS lookup) --> router

Il tuo router crea una tupla (NAT / PAT) per passarla al mondo che potrebbe essere simile a questa:

10.10.10.2:65432 --> mysoftware.com --> router (I need to remember this)
router --> 10.10.10.1:44555 / 33.33.33.33:554433 --> mysoftware.com "Hey I need this"

Immagina se due persone allo stesso tempo sono andate su mysoftware.com in che modo i dati dovrebbero sapere quale macchina è? Questo è fatto dalla tupla così sulla via del ritorno questo accade:

mysoftware.com --> here is your update --> 33.33.33.33:554433

Il tuo router / firewall ora restituisce quella tupla:

554433 = 44555 which I have mapped to 10.10.10.2:65432

Ecco come funzionano le connessioni in poche parole. Ora, sotto la stessa spiegazione ASCII ... Il mondo esterno può MAI vedere casualmente cosa c'è dietro un firewall (a meno che il fw non sia configurato correttamente, e qualcuno faccia davvero una buona firewalking). Quindi ciò che viene percepito accadrà consentendo a questo sistema di accedere a Internet? Ricorda, c'è una differenza tra l'assegnazione a quella macchina di un IP STATIC in cui il mondo può vederlo, solo dandogli accesso.

Quindi supponiamo che questo sia un server MySQL:

Workstation1 - 10.10.10.4 3306 is opened for LOCAL connections (within the LAN)

Un aggressore? Non sapranno che l'indirizzo 10.10.10.4 esiste. Nel mondo, tutto ciò che sanno / vedono è 33.33.33.33 che possono inviare dati alla 33.33.33.33 porta 3306 ma non finirà da nessuna parte.

    
risposta data 09.03.2016 - 21:34
fonte
0

Diamo un'occhiata agli aggiornamenti. Scarichiamo un aggiornamento da ciò che riteniamo essere una fonte attendibile e poi viaggia attraverso Internet sul tuo server. In che modo il pacco viaggia verso la tua posizione?

Se diamo un'occhiata a come il traffico viaggia attraverso Internet, possiamo vedere che ha più "hop" (viaggiando da un dispositivo di rete all'altro).

Se tu fossi a ping 8.8.8.8 vedresti che TTL sarebbe qualcosa che non è uguale al tuo default di sistema. Nel mio caso, il mio sistema ha un TTL predefinito (time-to-live) di 64. Il risultato del ping mi dà 54 il che significa che qualsiasi informazione che ho inviato è andata oltre 10 diversi dispositivi di rete, solo 2 dei quali sono di proprietà della mia organizzazione, 8 dispositivi di cui non so nulla.

Che cosa potrebbero fare questi 8 dispositivi? Non ne so nulla su di loro. Potrebbero manipolare il carico utile dei miei pacchetti o potrebbero intercettare la mia richiesta e fornirmi un file diverso da quello scaricato. Avere il server su internet non è necessariamente negativo (dipende dal server). Un server Web è generalmente aperto a Internet, un controller di dominio è generalmente isolato su una rete privata.

Per quanto riguarda la parte della domanda su un IP specifico, gli indirizzi IP possono essere falsificati. Se il tuo server si aspetta un carico utile solo da un singolo server e non esegue alcuna verifica (qualcosa come UDP), il traffico proveniente dall'indirizzo spoofed potrà entrare liberamente.

Questa è una domanda abbastanza ampia e ci sono molte risposte. Speriamo che questo aiuti a chiarire alcune delle cose basilari.

    
risposta data 09.03.2016 - 21:21
fonte
0

Basato su questa affermazione:

The point is- we know what the IP on the other side is and I would assume we trust it.

Puoi dormire facilmente di notte se:

  1. Blocca il firewall per consentire solo il traffico in arrivo da tale IP.
  2. Utilizza SSL per comunicare con quell'IP.
  3. Archivia il certificato attendibile sul quale il sito ti emette e interrompe la comunicazione quando il certificato cambia.

Ogni volta che il certificato cambia, supponendo che tu abbia ancora fiducia nel sito, puoi memorizzare manualmente il nuovo certificato.

    
risposta data 10.03.2016 - 16:25
fonte

Leggi altre domande sui tag