初心者でもわかる!iptablesでLinuxファイアウォールを構築する手順
iptablesでファイアウォールを構築する方法
Linuxサーバを運用するうえで、ファイアウォール設定は非常に重要です。
この記事では、iptablesコマンドを使ってファイアウォールを構築する基本的な手順を初心者向けに紹介します。
iptablesとは?
iptablesは、Linuxに標準搭載されているパケットフィルタ型のファイアウォールツールです。
サーバへの通信を「許可する」「拒否する」といったルールを設定することで、不正アクセスから守ることができます。
主なチェインの種類
- INPUT:外部からサーバへの通信
- OUTPUT:サーバから外部への通信
- FORWARD:サーバを経由する通信
基本的なiptablesコマンド例
# 現在のルールを確認
sudo iptables -L -n
# ポート22(SSH)を許可
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
# その他の通信は拒否
sudo iptables -A INPUT -j DROP
※注意:これらの設定は再起動すると消えるため、後述する方法で保存処理が必要です。
参考:iptablesの簡単な設定例
ここでは、いくつかの実用的な設定例を紹介します:
- SSH(22番)、HTTP(80番)、HTTPS(443番)を許可
- それ以外のポートはすべて拒否
- LAN内からの通信は許可
- ping(ICMP)を無効化
iptablesの設定をスクリプト化して一括処理する方法
iptablesのルールは毎回手で入力するのは面倒です。
そのため、Bashスクリプトにまとめておくと、再設定や複数サーバへの展開が効率的になります。
スクリプト実行の例:
chmod +x firewall.sh
sudo ./firewall.sh
また、iptablesの設定を再起動後も保持するには以下のパッケージが便利です:
- iptables-persistent
- netfilter-persistent
まとめ
- iptablesはLinuxに標準搭載された強力なファイアウォール機能
- INPUTチェインを中心にセキュリティルールを設計するのが基本
- スクリプト化と設定の永続化で効率的に運用
VPSや自宅サーバを運用する場合は、まずiptablesで最低限の防御を固めるのが大切です。
この機会に、自分の用途に合ったファイアウォール設定をぜひ見直してみてください。