Esiste il rischio che molte porte "non utilizzate" si aprano attraverso firewall e router [duplicati]

2

Ho un server che sto usando per ospitare servizi Internet pubblici dove voglio avviare e fermare molte istanze, diciamo fino a 50 per server fisico. L'architettura del software significa che ogni istanza ha bisogno di una propria porta (diversamente da HTTP dove potrei avere un singolo Apache / NGINX / etc, quindi richieste proxy al posto giusto in base al nome del dominio ecc.).

Esiste un rischio per la sicurezza di dire 50 porte non privilegiate (supponendo che io estenda la porta predefinita del software, si direbbero porte UDP e TCP da 35000 a 35050) permanentemente aperte nei sistemi e nei firewall di rete, anche quando non esiste attualmente istanza in esecuzione su quella porta? O dovrei fare uno sforzo extra per aprire / chiudere dinamicamente le porte?

È importante che il software appaia come predefinito nell'intervallo di porte dinamico o in una porta non privilegiata (almeno per i server Linux in cui i numeri di porte basse richiedono root) in generale?

    
posta Fire Lancer 04.08.2017 - 00:42
fonte

3 risposte

2

Questo non dovrebbe essere un problema a meno che non si trovi un buffer overflow nello stack di rete. In quel caso, sei fregato se hai porte aperte. Tuttavia, lo scopo principale di un firewall è impedire agli estranei di connettersi a servizi che dovrebbero essere accessibili solo all'host locale (nel caso di un firewall host) o ad una rete interna (nel caso di un firewall di rete). Il tuo caso particolare è quello di un firewall host e quindi non dovrebbe esserci alcun effetto sulla macchina di lasciare le porte aperte a parte il fatto che qualcuno crederà che un programma venga eseguito occasionalmente su quelle porte se eseguono una scansione (che è vero, ma informazioni banali nel tuo caso).

Pertanto, no, non è necessario chiudere le porte a meno che non si sia preoccupati di qualcuno che indovina che occasionalmente c'è un servizio in esecuzione su quelle porte e si tenta di capire qualcuno quando il servizio è in esecuzione e per di più sviluppare un exploit per un pezzo di software di cui non hanno conoscenza.

    
risposta data 04.08.2017 - 02:47
fonte
1

DeepS1X ha ragione che richiederebbe uno sforzo mirato affinché qualcuno abusi di quelle porte aperte, ma penso che HRL abbia la risposta giusta. Non è scalabile semplicemente aprire le porte per un servizio e lasciarle in giro sul server, soprattutto con la quantità di altri servizi che lavano costantemente la rete per aprire i port / servizi.

Da aggiungere ai punti 1 e amp; 2 dal post di HRL - Non hai menzionato il sapore di Linux che stai usando, ma potresti prendere in considerazione l'utilizzo di qualcosa come le indennità per app UFW di Debian per gestire l'accesso allo stato selvaggio per ciascuna delle tue app. Ciò significherebbe che potresti avviare e arrestare le tue app in base alle esigenze e che avrebbero accesso alla porta semplicemente in virtù del fatto di essere attivo.

Puoi vedere come impostare UFW nel sito ubuntu help , e c'è una spiegazione dettagliata sull'impostazione di questo per le tue applicazioni in questo post .

    
risposta data 04.08.2017 - 06:58
fonte
1

dal punto di vista dell'architettura. è necessario visualizzare questo tipo di sicurezza per udp o tcp in due categorie

  1. End point (il tuo istanza di servizio) listener dove se l'istanza di il tuo servizio non è in esecuzione, non è possibile connettersi a in pratica il tuo punto finale non esiste.  -
  2. in-transit (il tuo routing, firewall, ecc.) dove viene tentata una connessione da un lato (lato pubblico in questo caso) e il servizio non è attivo al punto finale, i pacchetti sono giusti eliminato perché non esiste un servizio per rispondere.

  3. Il prossimo è quello di proteggere il tuo endpoint (1) (ci sono molti modi) come l'autenticazione reciproca, SSL / TLS, autenticazione ecc.).

  4. Poi proteggi il tuo punto di transito, ad esempio per DOS (denial of service) di solito viene fermato al gate e non all'istanza del servizio. gran parte della prevenzione delle intrusioni e il rilevamento sono fatti in questo livello.

Se il tuo servizio diventa molto popolare, sarai preparato.

Per rispondere alla tua domanda con una soluzione specifica:

  1. Determina il numero massimo di istanze richieste dal servizio (apparentemente 50 dalla tua domanda).
  2. Configura le tue porte effimere (pool di porte), questo è possibile sia su * NIX che su Windows.
  3. Sul firewall di rete (se presente) crea una regola firewall che consente (qualsiasi origine --- > al tuo host (s) IPs / porte effimere.
  4. Sul tuo firewall locale (FW runnin sull'host), configura anche una regola del firewall che consente i pacchetti da IP firewall esterno --- > il tuo host Intervallo IP / porta.

per convenzione, le porte effimere sono comprese tra 49151 e il limite superiore per IPV4-IPV6.

    
risposta data 04.08.2017 - 04:24
fonte

Leggi altre domande sui tag