0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

iptablesを使った簡単なファイアウォール設定方法

Posted at

こんにちは。
株式会社クラスアクト インフラストラクチャ事業部の大塚です。

この記事では、Linuxのファイアウォールツールであるiptablesを使って、簡単なファイアウォール設定を行う方法を解説します。特に、HTTP通信を拒否する設定を例に取り上げ、設定の保存や永続化の方法についても触れます。
OSはubuntuの22.04を使っています。
iptablesは色々コマンドが複雑かなぁと思うので、簡単な例でもいいので、設定をしてみるとイメージしやすくなるような気がします。

1. iptablesの基本操作

まず、現在のiptablesの設定状況を確認します。以下のコマンドを実行すると、現在のルールセットが表示されます。

iptables -L -v

出力例:

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination

この例では、特にルールが設定されていないことが分かります。

2. HTTP通信を拒否するルールを追加

次に、HTTP通信(ポート80)を拒否するルールを追加します。以下のコマンドを実行してください。

iptables -A INPUT -p tcp --dport 80 -j REJECT

再度ルールを確認すると、追加されたことが分かります。

iptables -L INPUT

出力例:

Chain INPUT (policy ACCEPT)
target     prot opt source               destination
REJECT     tcp  --  anywhere             anywhere             tcp dpt:http reject-with icmp-port-unreachable

この状態でWebブラウジングを試みると、HTTP通信が拒否されていることを確認できます。

3. 設定の永続化

iptablesの設定は、デフォルトでは再起動後に消えてしまいます。そのため、設定を保存して永続化する必要があります。

3.1 iptables-saveを使用

以下のコマンドで現在の設定を保存します。

iptables-save -c > /etc/iptables.rules

保存した設定を復元するには、以下のコマンドを使用します。

iptables-restore < /etc/iptables.rules

3.2 iptables-persistentを使用

iptables-persistentをインストールすることで、再起動後も設定を自動的に復元できます。

apt install -y iptables-persistent
netfilter-persistent save

再起動後に設定が残っているか確認します。

iptables -L INPUT

4. ルールの削除

ルールを削除する場合、以下の手順を実行します。

4.1 全ルールを削除

すべてのルールを削除するには、以下のコマンドを使用します。

iptables -F INPUT

4.2 特定のルールを削除

特定のルールだけを削除する場合、まずルール番号を確認します。

iptables -L INPUT -n --line-numbers

出力例:

Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination
1    REJECT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:80 reject-with icmp-port-unreachable

ルール番号を指定して削除します。

iptables -D INPUT 1

まとめ

iptablesを使えば、簡単にファイアウォールの設定が可能です。本記事では、HTTP通信を拒否する設定を例に、基本的な操作から設定の永続化、ルールの削除方法までを解説しました。セキュリティを強化するために、iptablesを活用してみてください!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?