
RELATED - 新しい接続を要求しますが、既存の接続の一部であるパケットです。たとえば、FTPはポート21を使用して接続を確立しますが、データは他のポート(通常はポート20)から送信されます。
netfilter
接続追跡メカニズムが帯域外ftp
データ接続トラフィックを制御接続状態にあるとマークできることRELATED
を示しますftp
。次の質問があります。
1)デフォルトポート以外のポートを使用してデータ接続が確立されている場合は、同様の追跡操作を実行できますか?
2)もしそうなら、データ接続タプル(dst_ip、dst_prt、src_ip、src_prt)を見つけるためにFTPメッセージを通過しますか?私はこれが実装するにはあまりにも非現実的であることを知っています。それでは実際にこれをどうしますかnetfliter
?
答え1
データ接続タプル(dst_ip、dst_prt、src_ip、src_prt)を見つけるためにFTPメッセージを通過しますか?私はこれが実装するにはあまりにも非現実的であることを知っています。
はい、それはまさにそのことです。なぜこれがそんなに非現実的だと思いますか?
ここでコードを直接見ることができます。 https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/net/netfilter/nf_conntrack_ftp.c
編集:さて、後であなたの意見を聞いてみると、今あなたが何を意味するのか理解しているようです。
カーネルは、各TCP接続の最初の数パケットの先頭のみを分析してFTP制御接続のように見えることを確認し、さらに分析するために実際のFTP制御接続にのみフラグを立てます。 FTPのように見える接続のみがデータ接続タプルに対して監視されます。
しかし、数年前、この種の完全自動化された追跡が悪意のある目的で悪用される可能性があることが判明しました。したがって、最新のカーネルでは、それを必要とするプロトコルに対してiptables接続トレースヘルパールールを明示的に設定する必要があります。つまり、FTP接続にデフォルト以外の宛先ポートを使用する場合は、そのルールをカスタマイズする必要があります。ただし、Tracking Assistantを受信するインターフェイス、ポート、接続先/方向を完全に制御できるようになりました。
一般的なFTPの接続追跡ヘルパールールは次のとおりです。
iptables -t raw -A PREROUTING -p tcp --dport 21 -j CT --helper ftp
ファイアウォールが特定のインバウンドポートへの接続のみを許可する場合は、INPUTおよび/またはFORWARDチェーンで次の規則を使用してインバウンドアクティブFTP接続を許可する必要があります。
iptables -A FORWARD -m conntrack --ctstate RELATED -m helper --helper ftp -p tcp --dport 1024: -j ACCEPT
デフォルト以外のポートで制御接続を使用するデータ接続の場合は、ポート2121の制御接続に属するデータ接続を許可するなど、規則を少し変更する必要があります。
iptables -A FORWARD -m conntrack --ctstate RELATED -m helper --helper ftp-2121 -p tcp --dport 1024: -j ACCEPT
ところで、利用可能ないくつかの接続追跡ヘルパーモジュールがあります。
ftp
明らかにFTPプロトコルの場合です。irc
インターネットリレーチャットプロトコルに使用されます。ポート番号はさまざまです。netbios-ns
WannaCryワームがSMB 1.0プロトコル(以前のNetBIOSスタイルのWindowsファイル共有に使用されていた)に致命的な欠陥があることを証明したので、もはや必要ありません。標準ポートは137/UDPです。snmp
単純なネットワーク管理プロトコルの場合、標準ポート161 / UDP。RAS
およびQ.931
h.323ビデオ会議サブプロトコル(以前のMicrosoft NetMeetingなど)。ポートはそれぞれ1719/UDPおよび1720/TCPです。sip
SIPインターネットテレフォニープロトコルに使用されます。標準ポート5060はTCPとUDPをサポートします。sane
SANEスキャナソフトウェア用のネットワークプロトコル、標準ポート6566 / TCP。pptp
RFC2637 VPNの一形態であるポイントツーポイントトンネリングプロトコル。tftp
NATを介してTFTP接続を転送する必要がある場合。amanda
Amandaバックアップソフトウェアで使用されるネットワークプロトコル。