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. 監視とトラブルシュート: ファイアウォールの動作を確認し、必要に応じて調整を行います。

関連記事:

お気軽にご相談ください

お見積りへ お問い合わせへ