攻撃を防ぐために、Dockerインスタンス内にいくつかのイングレスルールを置くことは依然として理にかなっていますが、Dockerイメージが接続するアップストリームルーターからのアウトバウンド(インターネット)アクセスを制限する必要があります。その理由は、インスタンス内のファイアウォールルールでアウトバウンドアクセスをブロックしようとすると、インスタンスが危険にさらされると、攻撃者によってそれらのルールが削除される可能性があるためです。インスタンスのルーターを介して出力をブロックすることにより、侵害が発生した場合でも送信アクセスをブロックできます。攻撃者もルーターを侵害する必要があります。
わかりましたので、フィルタリングがコンテナのホスト向けであると説明するコメントを受け取った後、何を達成しようとしているかが少し明確になります。その場合、ホストで次のようなルールを追加します。
iptables -A FORWARD -s lo.cal.sub.net -d con.tai.ner.ip -j ACCEPT
iptables -A FORWARD -s con.tai.ner.ip -d lo.cal.sub.net -j ACCEPT
iptables -A FORWARD -s ! lo.cal.sub.net -d con.tai.ner.ip -p tcp --dport sftp -j ACCEPT
iptables -A FORWARD -s con.tai.ner.ip -d ! lo.cal.sub.net -p tcp --sport sftp -j ACCEPT
iptables -A FORWARD -s con.tai.ner.ip -m state --state related,established -j ACCEPT
iptables -A FORWARD -s con.tai.ner.ip -j DROP
最初の2つのルールは、ホストとコンテナー間のアクセス用です。3番目のルールは、(おおよそ)SFTPに向かうホストのサブネットではないものはすべて問題ないということです。4番目は、基本的に3番目から2番目のアウトバウンドルールです。5番目のルールはキャッチオールです(使用されている他の関連ポートがある場合)。それは必要ではありませんが、おそらく削除できます。最後のルールは、ホストサブネット以外へのアクセスを防ぐ魔法です。アクセスは最初のいくつかのルールで与えられるため、前述のルールのいずれも適用されない限りトリガーされません。その場合、「私たちはあなたが望むものを気にしません。ここからは行けません」外部からの着信トラフィックは、3番目と4番目のルールによって満たされます。