はじめに
こんにちは。ネットワークエンジニアの「だいまる」です。
今回は、ネットワークではなくファイアウォール(FW)の1つであるNFT Tablesを使ってみたので、その話をしたいと思います。
NFT Tablesを導入した経緯
NFT Tablesを利用した経緯は、先輩に「Iptablesはもう古く、NFTTablesなど新しいものを使った方がいい」と教えてもらったためです。
NFT Tablesは、Iptablesと比較し、パケット処理高速化や複雑なルールの記載も可能となったようです。
また、Iptablesのルール更新や変更は、カーネル空間内のルールセットを全て削除し、新規に読み込む方式のため、処理が遅くなるようです。
一方、NFTTablesは個別に更新や削除を行うことで処理が軽くなっているようです。
参考になるHPは以下になります。
・Linuxにおける新たなパケットフィルタリングツール「nftables」入門
使い方は多くのネット記事で出回っているので今回の記事で説明することは割愛したいと思います。
使ってみた結果・感想(メリット・デメリット)
NFT Tablesを使ってみた個人的な結果・感想は、「処理高速化を除くとどっちでもいい、むしろIptablesの方がいいかもしれない」となります。
私の調査不足や知識不足も否めませんが、メリット・デメリットをまとめたいと思います。
メリット
NFT tablesを使ってみて感じたメリットは、「目的ごとのChain作成」と「ドロップカウンタ」が確認できる点です。
「目的ごとのChain作成」は、HTTP Drop用やSSH制御用など各目的ごとに管理がしやすいのでメリットの1つかと思います。
「ドロップカウンタ」は、DROP登録のアドレスレンジからどの程度攻撃を受けているのか確認できるため、ありがたい機能の1つです。
攻撃が全くなければフィルターから除外することもできるので活用しています。
デメリット
デメリットとして感じたことは、「HTTPヘッダの制御が不可」ということです。
IptablesではHTTPヘッダの中身の文字列を確認できるため、特定の送信元による特定のURLへのアクセスの制御できるのですが、NFT Tablesではその条件指定ができないみたいでした。
そのため、ブログへの特定のプログラムのアクセス制御ができない点がボトルネックかなと思いました。
結局・・・両方を使っている
結果的にNFT TablesとIptablesの両方を使っているような状況となりました。
この辺の知識はあまりないので色々手を動かしながら改善、勉強していきたいと思います。
最後に
今回はNFT Tablesを使ってみた際に感じたメリット・デメリットを短編としてまとめてみました。
今後はこういったやってみたシリーズの記事を作っていきたいと思います。