ファイアーウォールの設定を確認する
今回のコラムは、ファイアーウォールと呼ばれるセキュリティを高める機能について解説します。【連載コラム:Linuxを学ぼう(30)】
外部からのアクセスを遮断し、セキュリティを高めるため、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)」の企画運営も。
バックナンバー
第28回:SELinuxの動作を確認する
第27回:SELinuxについて
第26回:Webサーバーのログ設定の内容を確認する
第25回:Webサーバーのログ設定を確認する