A primeira linha de cada uma das suas correntes INPUT
e OUTPUT
aceita tudo. Você pode removê-los com estes dois comandos
iptables -D INPUT 1
iptables -D OUTPUT 1
Mas certifique-se de que você ainda terá acesso (idealmente fisicamente no console) antes de executá-los.
Agora que você forneceu seu script, é possível sugerir alternativas
#!/bin/bash -e
PATH=/usr/sbin:$PATH
# Reset to a sane state, even if just temporarily
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
# Erase all the rules
iptables -F
iptables -t nat -F
# Simple NAT rule for outgoing traffic
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
# Allow loopback
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
# Allow the return half of established connections
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# Allow incoming and outgoing ssh
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 22 -j ACCEPT
# You probably want other stuff permitted here such as DNS on 53/udp and 53/tcp
# and maybe NTP on 123/udp
# iptables -A OUTPUT -p udp --dport 53 -j ACCEPT
# iptables -A OUTPUT -p tcp --dport 53 -j ACCEPT
# iptables -A OUTPUT -p udp --dport 123 -j ACCEPT
# Default policy is to discard all traffic
iptables -P INPUT DROP
iptables -P OUTPUT DROP