iptables rawテーブルにルールを追加するには?

iptables rawテーブルにルールを追加するには?

私はLinux Mint 18.1とGNU / Linux Debian 9 Stretch(テスト)で作業しています。

IPv4のみ使用できます。ネットワークセキュリティを強化したいのですが、次の内容を読んでいます。よく知られたTCP攻撃のブロック。試してみたいとしましょうこのコメント

iptables問題は「rawテーブル?」にこれらのルールを追加する方法がわからないということです。

ベストアンサー1

ここではIPv6に興味がないとします。したがって、編集したいファイルは次のようになります。

/etc/sysconfig/iptables

iptablesファイルの一番上に置きます。これはRAWテーブルのスケルトン実装であり、ルーティング関連テーブル(FILTERなど)の前に使用されます。各テーブルの定義の下部には独自の COMMIT コマンドがあります。

*raw
:TCPFLAGS - [0:0]

# the two rules below assure that only TCP packets get examined. All others continue into the *filter table.
-A PREROUTING -p tcp -j TCPFLAGS
-A PREROUTING -j ACCEPT

# quickly accept standard handshakes
# ALLOW ACK or ACK/SYN
#-A TCPFLAGS -j ACCEPT
-A TCPFLAGS -p tcp --tcp-flags FIN,ACK,URG,PSH,RST ACK  -j ACCEPT

# allow ACK/FIN with either URG or PSH, or both, or neither
# but SYN and RST can't be set
-A TCPFLAGS -p tcp --tcp-flags FIN,SYN,ACK,RST  ACK,FIN -j ACCEPT

# allow SYN or ACK/SYN
-A TCPFLAGS -p tcp --tcp-flags FIN,SYN,URG,PSH,RST SYN -j ACCEPT

# allow RST or ACK/RST
-A TCPFLAGS -p tcp --tcp-flags FIN,SYN,URG,PSH,RST RST -j ACCEPT

# this rule catches xmas-tree and fin attacks
-A TCPFLAGS -p tcp --tcp-flags FIN     FIN     -j DROP

# this rule catches xmas-tree and syn/rst attacks
-A TCPFLAGS -p tcp --tcp-flags SYN     SYN     -j DROP

# this rule catches null attacks
-A TCPFLAGS -p tcp --tcp-flags ALL     NONE    -j DROP

#-A TCPFLAGS -p tcp -ecn-tcp-cwr -j DROP
# these rules catch bad ack combinations
#-A TCPFLAGS -p tcp --tcp-flags ACK     ACK     -j ACC
-A TCPFLAGS -j ACCEPT

# so, what do we accept for tcp?
# handshakes (ACK/FIN), (ACK/SYN), (SYN), (ACK), (RST), (ACK/RST), and data packets with 
# PSH or URG or FIN or ACK

COMMIT

上記は*フィルタ定義の上にあります。私はルールの正確性を保証しません。私には適していないいくつかのルールをコメントアウトしました。私のルールに問題がある場合は、以下にご指摘ください。

おすすめ記事