度々スイマセン。redhat9でiptablesを使用してます。
「-m multiport」に就いてお伺い致します。
/sbin/iptables -A INPUT -p tcp -m multiport -s xxx.xxx.xxx.xxx --sports
20,21,22,23,25,50,51,80,111,2049,32765,32766,32767,32768,60001
-i ppp0 -j ACCEPT
/sbin/iptables -A OUTPUT -p tcp ! --syn -m state --state ESTABLISHED -m
multiport --dports
20,21,22,23,25,50,51,80,111,2049,32765,32766,32767,32768,60001
-d xxx.xxx.xxx.xxx -o ppp0 -j
ACCEPT
は問題無く実行できますが
/sbin/iptables -A INPUT -p tcp -m multiport -s xxx.xxx.xxx.xxx --sports
20,21,22,23,25,50,51,80,111,512,2049,32765,32766,32767,32768,60001
-i ppp0 -j ACCEPT
/sbin/iptables -A OUTPUT -p tcp ! --syn -m state --state ESTABLISHED -m
multiport --dports
20,21,22,23,25,50,51,80,111,512,2049,32765,32766,32767,32768,60001
-d xxx.xxx.xxx.xxx -o ppp0 -j
ACCEPT
だと「iptables v1.2.7a: too many ports specified」
となってしまいます。
-m multiportオプションは多数のポートを一括管理できて便利だったのですが。。。
多数のポートを記述する方法は無いものでしょうか?
できることなら
/sbin/iptables -A INPUT -p tcp -m multiport -s xxx.xxx.xxx.xxx --sports
20,21,22,23,25,50,51,80,111,512 -i ppp0 -j ACCEPT
/sbin/iptables -A OUTPUT -p tcp ! --syn -m state --state ESTABLISHED -m
multiport --dports
20,21,22,23,25,50,51,80,111,512 -d xxx.xxx.xxx.xxx -o ppp0 -j
ACCEPT
/sbin/iptables -A INPUT -p tcp -m multiport -s xxx.xxx.xxx.xxx --sports 2049,32765,32766,32767,32768,60001-i ppp0 -j ACCEPT
/sbin/iptables -A OUTPUT -p tcp ! --syn -m state --state ESTABLISHED -m
multiport --dports 2049,32765,32766,32767,32768,60001-d xxx.xxx.xxx.xxx -o ppp0 -j
ACCEPT
という風に分けて実行したくないのです。今後とも管理数ポート数が増えそうなので。。。
> できることなら
> /sbin/iptables -A INPUT -p tcp -m multiport -s xxx.xxx.xxx.xxx --sports
>
> 20,21,22,23,25,50,51,80,111,512 -i ppp0 -j ACCEPT
> /sbin/iptables -A OUTPUT -p tcp ! --syn -m state --state ESTABLISHED -m
> multiport --dports
> 20,21,22,23,25,50,51,80,111,512 -d xxx.xxx.xxx.xxx -o ppp0 -j
> ACCEPT
> /sbin/iptables -A INPUT -p tcp -m multiport -s xxx.xxx.xxx.xxx --sports 2049,32765,32766,32767,32768,60001-i ppp0 -j ACCEPT
> /sbin/iptables -A OUTPUT -p tcp ! --syn -m state --state ESTABLISHED -m
> multiport --dports 2049,32765,32766,32767,32768,60001-d xxx.xxx.xxx.xxx -o ppp0 -j
> ACCEPT
>
> という風に分けて実行したくないのです。今後とも管理数ポート数が増えそうなので。。。
あまりにもベーシックな話なので、どうしようもないのではないでしょうか?
以下、あくまでおやじの意見ですが・・・。
1. OUTPUTフィルタでは、ポートは管理しない。セッションが張れていない宛先に!SYNなパケットを投げるはずはないので、盲腸と考える。
2. セキュリティを考えるなら、23や111、512を開けるなんてことは絶対にしない。
3. 管理をしっかりするなら、目的別に管理するほうが誤りが少ないし、誤っても被害が少ない。
4. ミスを低減するため、レンジ指定を使って設定量を減らす。32765,32766,32767,32768 -> 32765:32768
5.外部からの接続だけでなく、内部からの外部への通信についてもサービス制限する。(トロイの木馬対策)
6. フィルタだけでは限界があるので、特定用途のもの(SSH等)は、デーモンなりxinetd等でアドレスやドメインでアクセス制限する。