ファイアーウォールの設定を確認する

今回のコラムは、ファイアーウォールと呼ばれるセキュリティを高める機能について解説します。【連載コラム:Linuxを学ぼう(30)】

最終更新日:2024年02月28日

外部からのアクセスを遮断し、セキュリティを高めるため、Linuxではパケットフィルタリングが設定できます。一般的にはファイアーウォールと呼ばれる機能です。ファイアーウォールの設定を確認し、必要に応じてアクセスを遮断、ないし許可する設定が必要となります。今回はファイアーウォールの設定を確認します。


Linuxのパケットフィルタリング機能

Linuxに実装されているパケットフィルタリング機能はnetfilterです。netfilterは、パケットフィルタリングの機能の他、NATやNAPTの機能も備えています。NAPTはIPマスカレードとも呼ばれることがあります。netfilterはLinuxカーネルのモジュールとして動作しているので、設定などはいくつかのツールを使って行うことになります。

カーネルモジュールを確認してみる

netfilterはカーネルモジュールとして提供されているので、lsmodコマンドで確認できます。

$ lsmod | grep nf_tables
nf_tables             225280  204 nft_ct,nft_reject_inet,nft_fib_ipv6,nft_fib_ipv4,nft_chain_nat,nft_reject,nft_fib,nft_fib_inet
(略)

モジュール構造としては、nf_tablesが本体で、様々な機能がさらに別モジュールとして提供されている形になっています。

netfilterのフロントエンド

netfilterはカーネルモジュールのため、直接操作が行えません。操作するには、様々なフロントエンドを使うことになります。

iptables/nftables

iptablesはnetfilterを使ってパケットフィルタリングを行う仕組みです。現在ではnftablesという名前に変わっています。

iptablesコマンドとnftコマンド

iptablesコマンドはiptablesの設定を操作するためのコマンドです。バージョンが進み、iptablesがnftablesに変わるのに伴って、現在ではnftコマンドという名前になっています。新しいLinuxディストリビューションでは互換性のためにiptablesコマンドも用意されていますが、互換性を維持する目的以外には使用しないのが望ましいでしょう。
nftコマンドでnftablesを操作するのは複雑なため、firewalldやUFWなどのフロントエンドが用意されています。具体的なパケットフィルタリング機能の操作はこれらのフロントエンドを使って行うことになります。

firewalld

firewalldはnftablesを簡単に操作するためのフロントエンドです。主にRed Hat系のディストリビューションで採用されています。

UFW

UFW(Uncomplicated FireWall)はUbuntuなどで使用されているnftablesを操作するためのフロントエンドです。

次回はfirewalldを例にして、ファイアーウォールの設定を行ってみます。


筆者紹介
宮原 徹 氏

宮原 徹 氏

株式会社びぎねっと

Linux標準教科書、Linuxサーバー構築標準教科書などの監修者。LinuCレベル1/レベル2 Version10.0の改訂作業にも協力。また、幅広いOSSに関する情報提供の場として「オープンソースカンファレンス(OSC)」の企画運営も。

バックナンバー

第29回:Booleanを使ったSELinuxの制御

第28回:SELinuxの動作を確認する

第27回:SELinuxについて

第26回:Webサーバーのログ設定の内容を確認する

第25回:Webサーバーのログ設定を確認する

ページトップへ