Linux Server Deployment & SSH Mastery · レッスン

ファイアウォールを理解する(UFW/firewalld)

ファイアウォールの概念と、UFW(Ubuntu)やfirewalld(CentOS)などの一般的なツールでネットワーク通信を制御する方法を学びます。

レッスン 2/412 ステップ

「ファイアウォールを理解する(UFW/firewalld)」はCoddyKit上の無料Linux Server Deployment & SSH Masteryレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはLinux Server Deployment & SSH Mastery学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Linux Server Deployment & SSH Masteryコースには全4レッスンが含まれています。

サーバーを守るデジタルガード

サーバーを家にたとえてみましょう。ファイアウォールは、出入りする人を判断する玄関の警備員のような役割を果たします。これはサーバーセキュリティの重要な要素です。

ファイアウォールはネットワークトラフィックを制御し、不正アクセスを防いで、悪意のある攻撃からサーバーを保護します。

ファイアウォールによるトラフィックのフィルタリング

ファイアウォールは、一連のルールを使って送受信ネットワークトラフィックを検査します。ルールは次の情報に基づきます。

  • 送信元/送信先IPアドレス:トラフィックの発信元または宛先です。
  • ポート番号:サービスごとに用意された特定の「出入口」です(例:SSHのポート22、HTTPのポート80)。
  • プロトコル:TCPやUDPなどです。

ルールに一致するトラフィックは、許可または拒否されます。

UFWの紹介:シンプルなファイアウォール

UbuntuのようなDebianベースのシステムでは、最も一般的なファイアウォールツールがUFWです。UFWは「Uncomplicated Firewall」を意味します。

UFWは使いやすさを重視して設計されており、初心者でも複雑な`iptables`コマンドを直接扱わずに、ファイアウォールルールを簡単に管理できます。

UFWの安全なデフォルト動作

UFWは、デフォルトでセキュリティを重視した設定になっています。

  • 受信を拒否:明示的に許可しない限り、すべての受信接続をブロックします。
  • 送信を許可:サーバーから外部へ接続を開始できます。

つまり、WebサーバーやSSHなど、インターネットからアクセスさせたいサービスのポートは、個別に開放する必要があります。

UFWを有効化する(Ubuntu/Debian)

UFWを有効にする前に、SSHアクセスを許可することが重要です。先に許可しないと、サーバーから締め出される可能性があります。SSHを許可したら、UFWを有効にできます。

次のコマンドを実行してみましょう。

sudo ufw allow ssh
sudo ufw enable
sudo ufw status verbose

UFWで必須サービスを許可する

UFWでは、一般的なサービスを名前(/etc/servicesで定義されている場合)またはポート番号で指定して、トラフィックを許可できます。HTTP(Webトラフィック)とSSHを許可してみましょう。

sudo ufw allow http
sudo ufw allow https
sudo ufw status

UFWでカスタムポートへのアクセスを許可する

標準のサービス名が割り当てられていないポートを開く必要がある場合があります。たとえば、カスタムアプリケーションで使うポート8080などです。プロトコル(TCPまたはUDP)も指定できます。

TCPのポート8080へのトラフィックを許可する方法は次のとおりです。

sudo ufw allow 8080/tcp
sudo ufw status

firewalldの紹介:動的ファイアウォール

CentOSやFedoraのようなRed Hatベースのシステムでは、ファイアウォール管理ツールとしてfirewalldを使います。firewalldは動的ファイアウォールデーモンであり、ファイアウォールサービス全体を再起動せずにルールを変更できます。

firewalldは「ゾーン」という概念を使ってルールを管理するため、より柔軟にセキュリティを設定できます。

firewalldのゾーンを理解する

firewalldはファイアウォールルールをゾーンに分類します。各ゾーンにはデフォルトのルールセットがあり、ネットワークインターフェースに割り当てることができます。

一般的なゾーンには次のものがあります。

  • public:信頼されていないネットワーク用です(外部インターフェースのデフォルト)。
  • home/internal:信頼されたネットワーク用です。
  • trusted:すべてのネットワーク接続を受け入れます。

これにより、ネットワークの信頼度に応じて異なるセキュリティレベルを適用できます。

firewalldでサービスを許可する

firewalldでサービスを許可するには、サービスとゾーンを指定し、再起動後もルールを維持するために--permanentフラグを使用します。その後、firewalldを再読み込みする必要があります。

publicゾーンでSSHとHTTPを開放してみましょう。

sudo firewall-cmd --zone=public --add-service=ssh --permanent
sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --reload
sudo firewall-cmd --list-all --zone=public

ファイアウォールのクイックチェック

UFWとfirewalldについて学びました。これらのファイアウォールツールについて、次のうち正しいものはどれでしょうか。

ファイアウォール:サーバーの盾

よくできました。サーバーセキュリティにおけるファイアウォールの重要な役割について学びました。次の内容を理解できています。

  • ファイアウォールとは何か、なぜ不可欠なのか。
  • Ubuntu/DebianでUFWがどのように動作するか、有効化やサービスの許可方法。
  • CentOS/RHELでfirewalldがどのように動作するか、ゾーンの概念とサービスの追加方法。

ネットワークアクセスを制御し、サーバーを安全に保つには、これらのツールを使いこなすことが重要です。次は、特定のポートの管理と、そのセキュリティ上の意味について学びます。

無料で開始

AI チューターと学ぶ Linux Server Deployment & SSH Mastery — 無料

ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。

コース
12
レッスン
48

よくある質問

「ファイアウォールを理解する(UFW/firewalld)」レッスンは無料ですか?

はい。「ファイアウォールを理解する(UFW/firewalld)」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Linux Server Deployment & SSH Masteryコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Linux Server Deployment & SSH Masteryコースには全4レッスンが含まれています。

「ファイアウォールを理解する(UFW/firewalld)」で何を学びますか?

ファイアウォールの概念と、UFW(Ubuntu)やfirewalld(CentOS)などの一般的なツールでネットワーク通信を制御する方法を学びます。 ブラウザで直接実行するハンズオンコードでLinux Server Deployment & SSH Masteryを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Linux Server Deployment & SSH Masteryを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのLinux Server Deployment & SSH Masteryは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。

「ファイアウォールを理解する(UFW/firewalld)」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このLinux Server Deployment & SSH Masteryレッスンでコードを書いて実行できますか?

はい。すべてのLinux Server Deployment & SSH Masteryレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. ネットワーク設定の基礎
  2. ファイアウォールを理解する(UFW/firewalld)
  3. ポート管理とセキュリティ
  4. DNSの設定とトラブルシューティング
← Linux Server Deployment & SSH Masteryに戻る