А исходящие порты выше 1024 открывать все равно придётся.
Зачем?
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
И будут открыты только порты для соединений, открытых сервером.
Так-же лучше резать файрволлом все ненужное и критичные сервисы, в которых могут быть ошибки заставлять не слушать публичные интерфейсы.