Linux
 Computer >> コンピューター >  >> システム >> Linux

UFWを使ってUbuntuのファイアウォールを構成・設定する完全ガイド

Linuxは、入手できるオペレーティングシステムの中でも最も堅牢で安全性の高いOSのひとつです。しかし、それだからといって、セキュリティ侵害のリスクがまったくないわけではありません。

情報セキュリティにおいて重要なのは、データ漏洩を未然に防ぐための先回りの対策です。このガイドでは、Ubuntu Linuxシステムでファイアウォールを有効化し、適切に構成することで、セキュリティを一段階強化する方法を解説します。

なぜファイアウォールが必要なのか?

デバイスが相互接続された現代において、データセキュリティは極めて重要であり、その第一歩は自分自身と自分のデバイスを守ることから始まります。強力なパスワードの使用やその他のセキュリティ対策に加えて、ファイアウォールはシステムを安全に保つ大きな助けとなります。

ファイアウォールとは、ネットワーク上の送受信トラフィックを管理・制御するためのネットワークプログラムです。

Ubuntu Linuxには、UFW(Uncomplicated Firewall:シンプルファイアウォール)というファイアウォールアプリケーションが標準搭載されています。UFWは、ファイアウォールを簡単かつ効率的に管理できるツールです。UFWを使えば、ファイアウォールを構成し、制限的なポリシーを設定することで、ネットワーク上のコンピュータを保護できます。

なお、UFWはiptablesをベースとしています。iptablesは、ネットワーク接続の管理やフィルタリングを行うカーネルネイティブの管理ツールです。

ファイアウォールの状態を確認する

Ubuntu Linuxでは、ファイアウォールはデフォルトで無効になっています。ファイアウォールの設定を始める前に、まず現在の状態がアクティブ(有効)か無効かを確認する必要があります。以下のコマンドを実行してください。

sudo ufw status

出力結果に「active」と表示されている場合、ファイアウォールは有効であり、他のデバイスがポート5900にアクセスして接続を開始できる状態であることがわかります。一般的に、VNCサーバーはポート5900を使用してリモートデスクトップ接続を許可しています。

一方、出力結果が「inactive」と表示された場合は、ファイアウォールを有効化する必要があります。

UFWでファイアウォールを有効化する

ファイアウォールを有効にするには、次のコマンドを実行するだけです。

sudo ufw enable

これでファイアウォールが有効になり、システム起動時に自動的に開始されるようになります。再度sudo ufw statusコマンドを実行すると、ファイアウォールがアクティブになっていることを確認できます。

ヒント: ufwコマンドで変更を行った際は、必ずファイアウォールを再読み込みして変更を反映させましょう。

sudo ufw reload

UFWでファイアウォールのログ記録を有効にする

システムログとは、コンピュータ上で発生した特定のイベントを記録・保存するセキュリティ機構のことです。Linuxオペレーティングシステムは常に重要なイベントをログに記録しており、Ubuntuのファイアウォールも例外ではありません。

Ubuntu Linuxでは、ファイアウォールのログ記録はデフォルトで無効になっています。ログ記録を有効化するには、以下のコマンドを実行します。

sudo ufw logging on

Ubuntuでは、/var/log/ufw.logファイルにファイアウォールのログが保存されます。

ルールの定義と削除

特定のポートを外部に対して明示的に開放したい場合は、allowオプションに続けてポート番号を指定します。たとえば、他のコンピュータからのHTTP接続を明示的に許可するには、ポート80を開放する必要があります。

sudo ufw allow 80

ポート番号の代わりにサービス名を指定することも可能です。HTTPサービスを許可する場合は次のように入力します。

sudo ufw allow http

ファイアウォールのステータスを確認すると、ポート80(HTTP)がファイアウォール上で有効になっていることがわかります。

sudo ufw status

ご覧のとおり、ポート80が他のコンピュータからの接続を許可するように定義されました。

ポート80への接続を許可するファイアウォールルールを削除するには、次のコマンドを実行します。

sudo ufw delete allow 80

ポートを一時的に閉じる

ルールを削除せずにポートを一時的に閉じたい場合は、ufw denyコマンドを使用します。たとえば、ポート80を閉じるには次のように実行します。

sudo ufw deny 80

UFWでアプリケーションのプロファイルを確認する

システム上の一部のアプリケーションは、正常に動作するために特定のポート番号を使用します。セキュリティのため、これらのアプリケーションにはUFWプロファイルが用意されています。UFWプロファイルを持つアプリケーションの一覧を表示するには、次のコマンドを実行します。

sudo ufw app list

UFWプロファイルを持つアプリケーションは、/etc/ufw/applications.dディレクトリ内にファイルとして保存されています。このディレクトリ内のファイルを見れば、そのアプリケーションが使用しているポートやアプリケーションの説明を確認できます。

特定のIPアドレスからの接続を許可する

場合によっては、特定のIPアドレスのみにPCへの接続を許可したいこともあるでしょう。たとえば、IPアドレス192.168.10.197からの接続だけを許可するには、次のコマンドを使用します。

sudo ufw allow from 192.168.10.197

許可リストからそのIPアドレスを削除するには、次のように実行します。

sudo ufw delete allow from 192.168.10.197

ファイアウォールルールをテストする

場合によっては、実際にルールを適用する前にテストを行い、その影響を確認したいこともあります。たとえば、変更を適用せずにSSHポートを開放する効果をテストするには、次のコマンドを実行します。

sudo ufw --dry-run allow ssh

ファイアウォールだけでは不十分

Ubuntuのファイアウォールを使えば、ネットワーク上のコンピュータを構成・保護できますが、システムのセキュリティ維持は多面的な取り組みです。ファイアウォールだけでシステムを完全に守ることはできないため、アカウントには強力なパスワードを使用するなど、常に優れたセキュリティ対策を実践することが重要です。

  1. Linuxでファイアウォールを設定する方法!UFWによる基本操作とルール管理を徹底解説

    パソコンを安全に使うためには、ファイアウォールを設定して外部からの不正アクセスやネットワーク攻撃を防ぐことが重要です。しかし、Linuxを使い始めたばかりの方の中には、システムのファイアウォールをどう設定すればよいのか分からないという方も多いのではないでしょうか。この記事では、Linuxでファイアウォールを設定する基本的な手順に加えて、ローカルネットワーク内の他のデバイスや特定のポートへのアクセスを許可するルールの追加方法まで、わかりやすく解説します。UFW(Uncomplicated Firewall)とはここでは、シンプルで使いやすい「UFW」を使ってLinuxのファイアウォールを管理しま

  2. コマンドラインからUbuntuをアップグレードする方法|do-release-upgrade徹底解説

    Ubuntuの「アップデートマネージャー」を使えば、新しいメジャーリリースへのアップグレードは比較的簡単に行えます。GUIのウィザードが手順を順番に案内してくれるため、初心者でも迷わず操作できるでしょう。 しかし、GUIユーティリティを使えない場面もあります。たとえばサーバー環境ではグラフィカルインターフェースにアクセスできないため、コマンドラインでアップグレード作業を行うしかありません。 とはいえ、これだけがコマンドラインを使う理由ではありません。CLIでは処理の進行状況がより詳細に表示されるのが特徴です。多くのコマンドラインツールは実行中に大量のテキストを出力するため、アップグレードの詳細