Amazon Linux 2023 は、デフォルトでiptablesがインストールされていません。 そのため、手動でインストールする必要があります。

インストール

iptables関係のパッケージを確認します。

$ sudo dnf list iptables*
Last metadata expiration check: 2:06:04 ago on Sun Dec  8 12:56:19 2024.
Available Packages
iptables-devel.x86_64               1.8.8-3.amzn2023.0.2        amazonlinux
iptables-legacy.x86_64              1.8.8-3.amzn2023.0.2        amazonlinux
iptables-legacy-devel.x86_64        1.8.8-3.amzn2023.0.2        amazonlinux
iptables-legacy-libs.x86_64         1.8.8-3.amzn2023.0.2        amazonlinux
iptables-libs.x86_64                1.8.8-3.amzn2023.0.2        amazonlinux
iptables-nft.x86_64                 1.8.8-3.amzn2023.0.2        amazonlinux
iptables-services.noarch            1.8.8-3.amzn2023.0.2        amazonlinux
iptables-utils.x86_64               1.8.8-3.amzn2023.0.2        amazonlinux

いくつかありますが、必要なのは "iptables-services" になるので、以下でインストールします。

sudo dnf install iptables-services

$ sudo dnf install iptables-services
Last metadata expiration check: 2:12:10 ago on Sun Dec  8 12:56:19 2024.
Dependencies resolved.
===========================================================================
 Package                 Arch    Version                Repository    Size
===========================================================================
Installing:
 iptables-services       noarch  1.8.8-3.amzn2023.0.2   amazonlinux   18 k
Installing dependencies:
 iptables-libs           x86_64  1.8.8-3.amzn2023.0.2   amazonlinux  401 k
 iptables-nft            x86_64  1.8.8-3.amzn2023.0.2   amazonlinux  183 k
 iptables-utils          x86_64  1.8.8-3.amzn2023.0.2   amazonlinux   43 k
 libnetfilter_conntrack  x86_64  1.0.8-2.amzn2023.0.2   amazonlinux   58 k
 libnfnetlink            x86_64  1.0.1-19.amzn2023.0.2  amazonlinux   30 k
 libnftnl                x86_64  1.2.2-2.amzn2023.0.2   amazonlinux   84 k

Transaction Summary
===========================================================================
Install  7 Packages

... 省略

Installed:
  iptables-libs-1.8.8-3.amzn2023.0.2.x86_64                                
  iptables-nft-1.8.8-3.amzn2023.0.2.x86_64                                 
  iptables-services-1.8.8-3.amzn2023.0.2.noarch                            
  iptables-utils-1.8.8-3.amzn2023.0.2.x86_64                               
  libnetfilter_conntrack-1.0.8-2.amzn2023.0.2.x86_64                       
  libnfnetlink-1.0.1-19.amzn2023.0.2.x86_64                                
  libnftnl-1.2.2-2.amzn2023.0.2.x86_64                                     

Complete!

サービス設定

起動時に有効になるように以下を実行します。

sudo systemctl enable iptables

インストール直後は停止になっているので有効にします。

sudo systemctl start iptables

確認

現在のルールを確認する場合、以下を実行します。

sudo iptables -L

ルール設定

特定ポートのTCPを全て破棄

特定ポートのTCPを全て破棄するルールの追加は以下になります。

sudo iptables -A INPUT -p tcp --dport [ポート番号] -j DROP

例 ポート80番のTCPを全て破棄

sudo iptables -A INPUT -p tcp --dport 80 -j DROP