ハマる前に理解する「Firewalld」の設定方法、「iptables」との違い:CentOS 7で始める最新Linux管理入門(4)(1/4 ページ)
システム管理に関する部分が前バージョンから大きく変更された「CentOS 7」は、Linuxに慣れていても「ハマる落とし穴」が幾つかあります。今回は、CentOS 7で採用されたパケットフィルタリングのための新たな仕組みである「Firewalld」の基礎と運用方法を解説します。
2014年7月にリリースされた「CentOS 7」では、以前のバージョンからシステム管理に関する部分が大幅に変更され、使い勝手も変わっています。本連載では、「Linuxコマンドの基礎知識はあるが、CentOS 7で変わった機能をおさらいし、深く理解して自身の業務へ取り入れたい」というインフラエンジニアを対象に、CentOS 7のシステム管理に関する部分を中心に新機能を解説していきます。
第3回「CentOS 7のネットワーク管理“NetworkManager”を極める」では、これまで使われてきた「eth0」「eth1」などから変更された、CentOS 7の新たなNIC(ネットワークインタフェースカード)命名規則とその設定作法を中心に、ネットワークを管理するための「NetworkManager」の基礎を解説しました。
今回は、サーバセキュリティの初歩対策である、「パケットフィルタリング」のためのCentOS 7の新たな仕組み「Firewalld」の基礎と運用方法を解説します。
「Firewalld」とは
Firewalldは、CentOS 7から採用された「パケットフィルタリング」の仕組みです。パケットフィルタリングは、パケットの送受信において、あらかじめ指定したルールに基づいて通信の許可/拒否を制御する、セキュリティ対策の基礎手段です。
前バージョンのCentOS 6までは、これを「iptables」で行っていました。CentOS 7の「Firewalld」では、何が変わったのでしょうか。まずはその比較を交えて解説します。
(関連記事)習うより慣れろ! iptablesテンプレート集
「Netfilter」のための管理インタフェースである
Linuxにおけるパケットフィルタリングは、Linuxカーネル内のNetfilterと呼ぶサブシステムで行われます。Firewalldも、iptablesも、その役割は、
- Netfilterを動作させるための設定を行う
- Netfilterの設定内容を保持する
ための、「Netfilterの管理インタフェース」です。ただし、これまでのiptablesは、運用において幾つかの課題を抱えていました。
例えば、本来のiptablesは設定を保持する機能がないこと。システムを再起動すると設定がクリアされてしまうので、/etc/sysconfig/iptablesというファイルにルールを書き込むことで、設定を保持できるようにしていました。また、コマンドオプションがかなり複雑で、TCP/IPの仕組みを深く理解していないと設定が難しいものでした。
Firewalldは、そんな課題を解決するために設計されたといえます。Firewalldには、以下の特徴があります。
Firewalld | iptables | |
---|---|---|
設定変更 | 通信を停止させることなく、変更した設定を反映できる | 設定を反映させるために、サービスの再起動が必要(ネットワークの瞬断が発生する) |
設定の難易度 | TCP/IPの仕組みを深く理解していなくても比較的簡単に設定できる | TCP/IPの仕組みを深く理解していないと、設定そのものが難しい。コマンドオプションがかなり複雑 |
運用の柔軟性 | 一時的なルールと永続的なルールをそれぞれ管理できる。一定時間のみ有効にするといったルールの設定も可能 | 一時的なルールの設定は困難 |
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- いまさら聞けないLinuxの基礎知識
Linuxを勉強してみたいけど、どこから手を付けてよいか分からない、何だかよく分からないまま使っている……そんな方々のための連載です。まずは、Linuxとはどんなものなのか確認しましょう。 - ステートフルパケットフィルタを使ったサービスの公開
初心者にとって、iptablesは設定が最も困難な機能の1つである。そこで、学習の第1歩としてテンプレートを自分の環境に合わせて修正することから始めよう。(編集部) - CentOS 7のシステム管理「systemd」をイチから理解する
「systemd」は、Linuxの起動処理やシステム管理を行う仕組みです。systemdはinitの限界を克服するために作られた新しいシステム管理アーキテクチャで、CentOS 7でも用います。では、何が違うのでしょう。これまで使われてきた「init」と比較しながら、基礎と課題を解説します。 - NetworkManagerをコマンドラインから操作するには? nmcliコマンド
従来Linuxでは、ネットワークの状態確認やデバイスの設定など機能ごとにコマンドを使い分けていましたが、Red Hat Enterprise LinuxおよびCentOSには、統合ツールとして「NetworkManager」およびCLI版の「nmcli」が用意されています。 - Linux起動の仕組みを理解しよう[init/inittab編]
カーネルが呼び出されてからログインプロンプトが表示されるまでの間に、一体どのような処理が行われているのか。これを理解するには、この部分の全般をつかさどるinitとその設定ファイルであるinittabがカギとなる。 - エンタープライズでもInfrastructure as Code――Chef 12/Chef-Zero/Knife-Zeroの基礎知識とインストール
エンタープライズ向け機能が充実してきたChefを使って高速かつ精度の高いサーバーインフラを構築/管理する方法について解説する連載。初回は、Chef 12、Chef Solo、Chef Server、Chef-Zero、Knife-Solo、Knife-Zeroの概要と、Chef-ZeroをKnife-Zero経由で利用するCookbook開発環境の構築について解説します。 - Linuxで作るファイアウォール[パケットフィルタリング設定編]
いよいよパケットフィルタリングの設定を始める。しっかりと不要なパケットをブロックできれば、ファイアウォールの内側の安全度はより向上する。パケットの性質やiptablesの動作をここでマスターしてほしい。 - アクセス制限の設定とCentOSのアップデート
前回はsshでVPSにログインして、一般ユーザーを作成しました。今回は、アクセス制限、パケットフィルタリングといった不正アクセス対策の設定をしてから、CentOSをアップデートします(編集部) - 環境構築自動化の手順と評価検証、Puppetの基礎知識
サーバー構築の自動化で利用される技術、自動化ツールとして「Kickstart」「Puppet」を紹介し、構築から運用まで、システムライフサイクル全体にわたる運用管理の自動化についても解説する連載。 - 無線LAN接続の設定を操作するには? iwconfigコマンドの使い方
無線LANインターフェースがカーネルまたはモジュールでサポートされていれば、アクセスポイントとIPアドレスを設定する程度で接続できます。「iwconfig」は、アクセスポイントへの接続に必要なESSIDおよび暗号化キーを登録するときに利用するコマンドです。 - NginxをWebサーバー“以外”でも徹底活用する
Nginxは高速化だけではありません。Webサーバー以外への応用事例として、ロードバランサー、HTTPS対応、WAFとしての利用を紹介します。