iptablesとは
iptablesとはIPパケットフィルタのことで、これを設定することによって
想定していないポートからのアクセスやパケットを排除することができます。

■ iptablesのルール
-L              ルールの一覧表示
-F              ルールをすべて削除
-A              ルールを追加することを示す
-P              ポリシーを設定
-p [tcp][udp]         プロトコルを指定する
--dport ポート番号      受信ポートを指定する
--sport ポート番号      宛先ポートを指定する
-j [ACCEPT][DROP]       ルールのターゲットを指定する
-a ipアドレス         接続元のIPアドレスを指定する
-m state --state       接続状態を知ることができる。この行以降の要素を指定する
NEW              新規接続のパケット
ESTABLISHED          既存パケットと関連するパケット
RELATED            FTPなどのデータ接続のパケット

現在の設定の確認
まず現在の設定を確認します。
# sudo iptables -L
これで現在の設定の一覧が表示されます。初期段階では何も設定されていないはずなので
Chain INPUT (policy ACCEPT)
targe   prot opt source   destination

Chain FORWARD (policy ACCEPT)
target   prot opt source   destination

Chain OUTPUT (policy ACCEPT)
target   prot opt source   destination
このように表示されるはずです。各々の意味は

■ INPUT
受信したパケットに関するルール

■ FORWARD
転送するパケットに関するルール

■ OUTPUT
送信するパケットに関するルール

起動スクリプトの作成
ネットワークが立ち上がったときに、自動的に「iptables」の設定を行うには
/etc/network/if-pre-up.d/
のフォルダの中に実行権限をつけたスクリプトをおいておけば自動実行されます。
それでは設定ファイルを作成します。ファイル名は「if-up」とします。

# sudo vim /etc/network/if-pre-up.d/if-up
ファイルの中身は以下のようにします。
これはあくまで一例ですので各自の設定にあわせて設定の変更を行ってください。
#!/bin/sh
#############################
#初期化
#############################
iptables -F

#############################
#ポリシーの設定
#############################
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT

#############################
#ルールの設定
#############################
#ループバックを許可
iptables -A INPUT -i lo -j ACCEPT

#SSHを許可
iptables -A INPUT -p tcp -m state --state NEW --dport 22 -j ACCEPT

#FTPを許可
iptables -A INPUT -p tcp -m state --state NEW --dport 21 -j ACCEPT
iptables -A INPUT -p tcp -m state --state NEW --dport 4000:4029 -j ACCEPT

#Webを許可
iptables -A INPUT -p tcp -m state --state NEW --dport 80 -j ACCEPT
iptables -A INPUT -p tcp -m state --state NEW --dport 443 -j ACCEPT

#SMTPを許可
iptables -A INPUT -p tcp -m state --state NEW --dport 25 -j ACCEPT
iptables -A INPUT -p tcp -m state --state NEW --dport 465 -j ACCEPT

#IMAPを許可
iptables -A INPUT -p tcp -m state --state NEW --dport 993 -j ACCEPT

#proxyを許可
iptables -A INPUT -p tcp -m state --state NEW --dport 8080 -j ACCEPT

#LAN上のPCのみDNSを許可
iptables -A INPUT -p udp --dport 53 -s 192.168.0.0/24 -j ACCEPT

#接続状態にあるものを許可
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
次に実行権限を与えます。
# sudo chmod 700 /etc/network/if-pre-up.d/if-up

以上で設定は完了です。
サーバを再起動し、設定が反映されているか確認します。
# sudo shutdown -r now

再起動後
# iptables -L
で、設定した通りのルールが適応されていればOKです。
参考
@IT