Solution 1 :
Je n'ai trouvé aucune option dans cette belle interface graphique, mais c'est possible via une interface directe
Pour activer uniquement le port sortant 80 :
firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 0 -p tcp -m tcp --dport=80 -j ACCEPT
firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 1 -j DROP
Cela l'ajoutera aux règles permanentes, pas aux règles d'exécution.
Vous devrez recharger les règles permanentes pour qu'elles deviennent des règles d'exécution.
firewall-cmd --reload
pour afficher les règles permanentes
firewall-cmd --permanent --direct --get-all-rules
pour afficher les règles d'exécution
firewall-cmd --direct --get-all-rules
Solution 2 :
Après m'être moi-même posé la même question, et avec quelques retouches, j'ai rassemblé quelques règles intéressantes pour restreindre le trafic sortant aux requêtes HTTP/HTTPS et DNS :
Autoriser les connexions établies :
# firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 0 -m state --state ESTABLISHED,RELATED -j ACCEPT
Autoriser HTTP :
# firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 1 -p tcp -m tcp --dport 80 -j ACCEPT
Autoriser HTTPS :
# firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 1 -p tcp -m tcp --dport 443 -j ACCEPT
Autoriser les requêtes DNS :
# firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 1 -p tcp -m tcp --dport 53 -j ACCEPT
# firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 1 -p udp --dport 53 -j ACCEPT
Refuser tout le reste :
# firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 2 -j DROP
Il peut être judicieux de tester d'abord en omettant l'argument '--permanent'.
Je ne suis en aucun cas un expert, mais cela semble bien fonctionner pour moi :)