With the WFAF, I was able to lock down a program so that it could only connect over specific ports via specific protocols to specific IP addresses
Essa funcionalidade seria uma combinação do SELinux para controle de acesso ao número de porta netfilter / iptables firewall para HBAC e inspeção de protocolo.
Eu não sou sw00ft suficiente com o SELinux para dar exemplos de política completos, mas essencialmente você rotularia o programa (se já não era) e configuraria processos em execução nesse domínio de forma que eles pudessem se ligar apenas a portas específicas .
Like, let's say I wanted firefox to only be able to use ports 80 and 443, what would I do?
Eu não sou especialista em fazer isso com o firewall do Windows? No Linux, existem soluções para marcar pacotes de acordo com o tipo SELinux o que permitiria que você criasse decisões de filtragem (como DROP
pacotes para portas de destino não aprovadas) com base no tipo SELinux.
Dito isso, você pode fazer isso. Apenas provavelmente não será fácil. Eu também não conheço muitos lugares que precisam desse nível insanamente granular de controle de acesso.