Create a secure process to open a firewall port on a server (on
demand) start a listening server, and ultimately close the firewall
port.
Il tuo obiettivo sembra imperfetto per molte ragioni. Questo non sarebbe scalabile in un ambiente aziendale a causa della mancanza di porte disponibili che potrebbe sbocciare in una giornata pesante di visite / lavoro. Dovresti sempre avere più firewall nel round-robin dietro il bilanciamento del carico. Inoltre, il tuo firewall avrebbe bisogno di tutti i tipi di ASIC per farlo funzionare rendendolo un firewall piuttosto costoso. Sul lato DoS dell'equazione, ti sbagli. L'invio di 10 gbps a qualsiasi socket aperto o no interromperà una connessione da 1 gb indipendentemente dal numero di gocce / scarti (che non sono una buona idea), che si prevede di realizzare. La logica BETTER sarebbe quella di configurare il router in modo che accetti solo le connessioni da fonti attendibili e blocchi tutto il resto.
Non entrerò nemmeno nelle statistiche degli exploit lato client, phishing e altri attacchi il tuo firewall non si fermerà. Ma all'inizio, il tuo obiettivo non fa molto ma aggiungere un sacco di spese generali e complessità che probabilmente ti ostacoleranno in futuro.
La tua implementazione è anch'essa imperfetta e basata sulla sicurezza attraverso l'oscurità (cambiando la porta del firewall). Sarebbe meglio usare la porta standard con le regole in atto su quella porta con autenticazione a due fattori. Stai assumendo che un attaccante non trovi la porta. Mentre è possibile ridurre al minimo il basso appeso, alla fine qualcuno troverà il porto, e anche se potrebbe non essere in grado di fare nulla, può certamente eseguire un esaurimento delle risorse (DoS) contro il firewall. A sua volta, a seconda della posizione, potrebbe bloccare completamente tutto il traffico. L'accesso " Root " è un'idea orribile soprattutto al punto di uscita, e stai presumendo che un firewall di questa natura venga eseguito forse su Linux? Anche se può essere, la maggior parte dei firewall basati su ASIC che devono effettuare trasporti pesanti tendono a consistere in JeOS (Sistema operativo Just Enough. Ma se dovessi insistere per seguire il percorso di Linux, questo è ciò che sudo è per.
Non mi sono preoccupato delle ipotesi , non ce n'è bisogno.