Solución 1:
No encontré ninguna opción en esa agradable GUI, pero es posible a través de la interfaz directa
Para habilitar solo el puerto de salida 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
Esto lo agregará a las reglas permanentes, no a las reglas de tiempo de ejecución.
Deberá volver a cargar las reglas permanentes para que se conviertan en reglas de tiempo de ejecución.
firewall-cmd --reload
para mostrar reglas permanentes
firewall-cmd --permanent --direct --get-all-rules
para mostrar las reglas de tiempo de ejecución
firewall-cmd --direct --get-all-rules
Solución 2:
Después de hacerme la misma pregunta, y con algunos retoques, he recopilado algunas buenas reglas para restringir el tráfico saliente a consultas HTTP/HTTPS y DNS:
Permitir conexiones establecidas:
# firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 0 -m state --state ESTABLISHED,RELATED -j ACCEPT
Permitir HTTP:
# firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 1 -p tcp -m tcp --dport 80 -j ACCEPT
Permitir HTTPS:
# firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 1 -p tcp -m tcp --dport 443 -j ACCEPT
Permitir consultas de 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
Negar todo lo demás:
# firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 2 -j DROP
Podría ser una buena idea probar primero omitiendo el argumento '--permanente'.
De ninguna manera soy un experto, pero parece que esto funciona bien para mí :)