2026年5月28日
2026年5月28日
nftablesでファイアウォールを設定する方法
はじめに
nftablesは、Linuxで使用される最新のファイアウォールシステムです。従来のiptablesと比べて、より高度なルール設定や管理が可能で、パフォーマンスも向上しています。本記事では、基本的なnftablesを使用してファイアウォールを設定する手順を解説します。
手順・設定方法
ステップ1: ファイアウォールの初期化とルールの追加
# nftablesを開始し、基本的なルールセットを作成
sudo nft add table ip filter
# 入り口方向のパケットを拒否するルールを設定
echo 'nft add rule ip filter input reject' | sudo nft
# 出入口方向のパケットを許可するルールを追加
echo 'nft add rule ip filter output accept' | sudo nft
echo 'nft add rule ip filter forward accept' | sudo nft
ステップ2: 必要なサービスへの例外設定
# SSH接続を許可するルールを追加(ポート22)
echo 'nft add rule ip filter input tcp dport 22 accept' | sudo nft
# HTTPとHTTPS接続を許可するルールを追加(ポート80,443)
echo 'nft add rule ip filter input tcp dport 80 accept' | sudo nft
echo 'nft add rule ip filter input tcp dport 443 accept' | sudo nft
# DNS接続を許可するルールを追加(ポート53)
echo 'nft add rule ip filter input udp dport 53 accept' | sudo nft
ステップ3: アプリケーション固有のセキュリティ設定
# MySQL接続を許可するルールを追加(ポート3306)
echo 'nft add rule ip filter input tcp dport 3306 accept' | sudo nft
# FTP接続を許可するルールを追加(ポート21)
echo 'nft add rule ip filter input tcp dport 21 accept' | sudo nft
ステップ4: 実践/トラブルシュート/監視
# 現在のファイアウォール設定を確認
sudo nft list ruleset
# ファイアウォールの状態をモニタリングする
sudo dmesg | grep -i 'nft'
注意事項
nftablesを使用する前に、バックアップを取ることを強く推奨します。- 複数のルールを追加する際は、順序に注意してください。特定の順序でルールが適用されるため、必要に応じて調整が必要です。
nftablesは強力なツールですが、間違った設定は重要なサービスへのアクセスを遮断する可能性があります。
まとめ
1. 基本的なファイアウォール設定: nftablesを使用して基本的なファイアウォールルールを作成します。
2. 例外設定: 必要なサービス(SSH, HTTP, HTTPS)に例外ルールを設定します。
3. 詳細なセキュリティ設定: アプリケーション固有の接続も許可するルールを追加します。
4. 監視とトラブルシュート: ファイアウォールの動作を確認し、必要に応じて調整を行います。
関連記事: