This seems like a stupid question, but how do I set up a firewall rule
to allow HTTPS on a basic packet filter firewall?
Generalmente non ci sono domande stupide e questa è una domanda abbastanza legittima da porre, quindi non c'è bisogno di scusarsi. Lascia che provi a spiegarlo nel modo più semplice possibile, senza necessariamente sacrificare la chiarezza e la correttezza.
Nota: mentre chiedi una soluzione ti fornirò alcune informazioni sul motivo per cui potresti non voler fare ciò che stai tentando. Se comprendi pienamente le conseguenze della tua domanda e tutto ciò che comporta sospetto che la mia risposta potrebbe non essere quella che cerchi. Dovresti comunque capire perché la configurazione non è poi così bella, continua a leggere.
È già stato spiegato che ciò che vedi sono le cosiddette porte effimere. Questi vengono allocati dinamicamente dallo stack di rete nel sistema operativo. Perché il mio sistema operativo utilizza queste porte ad alto numero invece di 443, puoi chiedere?
Ci sono diversi motivi, permettimi di evidenziarne alcuni che potrebbero aiutarti a capire perché questo non è necessariamente un problema.
- Efficienza di navigazione (rete)
- Sicurezza (permessi)
Se dovessi far rispettare il tuo sistema operativo (e il software client) per usare solo la porta 443, ridurrai significativamente l'opportunità per il SO e il browser di utilizzare il parallelismo di rete, qualcosa che viene utilizzato per aumentare la velocità di caricamento della pagina . Vedete, ci sono una serie di limitazioni nel modo in cui HTTP funziona come un protocollo come una singola richiesta alla volta. L'utilizzo di più connessioni per scaricare contenuti è un modo per aiutare a superare questa limitazione; così come il pipeline HTTP.
La seconda ragione sopra menzionata riguarda la sicurezza. La maggior parte dei sistemi operativi considera privilegiate le porte inferiori a 1024 (0-1023). Per consentire a un'applicazione utente di collegare (utilizzare) una di queste porte, sono necessari ulteriori privilegi dall'applicazione (ad esempio l'esecuzione con privilegi amministrativi o l'utilizzo di una particolare funzionalità in Linux, vedere questo .).
Quello che hai identificato di solito non è considerato un problema (per HTTP) con i moderni sistemi operativi in quanto i rispettivi stack di rete sapranno quali pacchetti sono collegati a quali pacchetti.
Se sei ancora preoccupato e semplicemente non sei convinto da nessuna delle risposte fornite per la tua domanda, potresti provare a fare quanto segue. Indagare se il browser può essere limitato a un certo intervallo di porte effimere come 51000-51100. Quindi creare una regola per consentire l'utilizzo di queste porte come porta src in combinazione con dst-port 443.
Tuttavia, tieni presente che la limitazione del tuo sistema operativo e del software client a queste porte potrebbe avere conseguenze impreviste in quanto potrebbero esserci altre applicazioni che utilizzano queste porte effimere che hai appena assegnato.
TL; DR - Non preoccuparti delle porte effimere utilizzate durante la navigazione, fidati del fatto che il sistema operativo gestisca correttamente i pacchetti associati e correlati. Imponi dst-port e sii felice con quello. :-)