iptablesの設定

デフォルトのiptablesはこんな風になっていたりします。IIJのクラウドサーバーの場合ですが、SSHの22ポート以外は受け付けないようになっております。内部的なローカルIPとデフォルトゲートウェイの通信もできるようになっているのかなといった感じ。
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:FIREWALL - [0:0]

-A INPUT -i lo -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type any -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

-A INPUT -p tcp -m state --state NEW -m tcp --dport 113 -j REJECT --reject-with tcp-reset

# Global

-A INPUT -i eth0 -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -i eth0 -m state --state NEW -j DROP

# Private
-A INPUT -i eth1 -s 10.197.3.128/27 -j ACCEPT
# iijgio management network; do not delete
-A INPUT -i eth1 -s 10.197.0.0/255.255.255.0 -j ACCEPT
-A INPUT -i eth1 -m state --state NEW -j DROP

COMMIT
通常コマンドラインで設定してゆくものなので、ファイルを開いて見るよりもコマンドで設定一覧を見てみた方が正当なのかなとおも思います。
iptables -L -n
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0 icmp type 255
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
REJECT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:113 reject-with tcp-reset
ACCEPT tcp -- 12.34.56.78 0.0.0.0/0 tcp dpt:22
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:80
DROP all -- 0.0.0.0/0 0.0.0.0/0 state NEW
ACCEPT all -- 192.168.2.3/24 0.0.0.0/0
ACCEPT all -- 192.168.2.0/24 0.0.0.0/0
DROP all -- 0.0.0.0/0 0.0.0.0/0 state NEW

Chain FORWARD (policy ACCEPT)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination

Chain FIREWALL (0 references)
target prot opt source destination

80/443を通す

SSHの22ポートの下に続けてポート番号指定するだけです。httpとhttpsでの接続ができるようになります。これは外部に公開されるポートなので全世界に開かれる設定になります。
-A INPUT -i eth0 -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -i eth0 -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT ← 追加
-A INPUT -i eth0 -p tcp -m state --state NEW -m tcp --dport 443 -j ACCEPT ← 追加
-A INPUT -i eth0 -m state --state NEW -j DROP

設定したらiptablesの再起動
"iptables -L -n"で確認すると80と443が追加されている筈です。
通常のグローバルからのアクセス設定は、ここら辺りに書きます。最後の行に、
-A INPUT -i eth0 -m state --state NEW -j DROP
というのがありますが、これはそれ以外はアクセスできない(DROP)という命令なので、これより上に書かないと設定がエラーになるか効かないのでご注意。

SSHの接続にIP制限を加える

普通に書いてしまうと「0.0.0.0/0」ということですべてのIPを通してしまうので、接続元が固定IPアドレスならIP制限かけておいた方がいいです。(私は個人的にICP/Wrapperで制限した方がよいと思っているので、hosts.allowとhosts.denyでやります。)
-A INPUT -i eth0 -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT

-A INPUT -i eth0 -p tcp -s 61.126.188.59 --dport 22 -j ACCEPT

こんな風に書き換えます。
SSHの設定で22ポートを設定変更した場合は、iptablesでも変更しないとSSHで接続できなくなるのでご注意。

rsyncとか

同期の設定とかしたら873ポート使うとか言われたので、
-A INPUT -i eth0 -p tcp -m state --state NEW -m tcp --dport 873 -j ACCEPT
を追加。

http://www.mtsv.jp/support/manual/75/
http://d.hatena.ne.jp/hidde/20080716/1216193290