Rules are read top to bottom. As such some things you have are not required or not working as you would have expected them too.
Because of this rule:
Code:
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
You don't have to add
ESTABLISHED to your other rules.
This rule
Code:
-A INPUT -p icmp -j ACCEPT
Makes this rule useless
Code:
-A INPUT -p icmp --icmp-type echo-request -j ACCEPT
This rule should always be the fist rule in every chain:
Code:
-m state --state RELATED,ESTABLISHED -j ACCEPT
You can try the fllowing rules which should do what you wanted to do and allow your outbound connections:
Code:
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT DROP [124:7812]
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p icmp --icmp-type echo-request -j ACCEPT
-A INPUT -p tcp -m tcp --dport 2927 -m conntrack --ctstate NEW -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -m conntrack --ctstate NEW -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -m conntrack --ctstate NEW -m limit --limit 25/minute --limit-burst 100 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 443 -m conntrack --ctstate NEW -m limit --limit 25/minute --limit-burst 100 -j ACCEPT
# If you are running a DNS server then uncomment the following line
#-A INPUT -p udp -m udp --sport 53 -m conntrack --ctstate NEW -j ACCEPT
# If you are running a mail server then uncommant the following
#-A INPUT -p tcp -m tcp --dport 25 -m conntrack --ctstate NEW -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A OUTPUT -m conntrack --ctstate NEW,RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
You should read this
IPTABLES TUTORIAL to help you out.