ファイアウォールを理解する(UFW/firewalld)
ファイアウォールの概念と、UFW(Ubuntu)やfirewalld(CentOS)などの一般的なツールでネットワーク通信を制御する方法を学びます。
「ファイアウォールを理解する(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 verboseUFWで必須サービスを許可する
UFWでは、一般的なサービスを名前(/etc/servicesで定義されている場合)またはポート番号で指定して、トラフィックを許可できます。HTTP(Webトラフィック)とSSHを許可してみましょう。
sudo ufw allow http
sudo ufw allow https
sudo ufw statusUFWでカスタムポートへのアクセスを許可する
標準のサービス名が割り当てられていないポートを開く必要がある場合があります。たとえば、カスタムアプリケーションで使うポート8080などです。プロトコル(TCPまたはUDP)も指定できます。
TCPのポート8080へのトラフィックを許可する方法は次のとおりです。
sudo ufw allow 8080/tcp
sudo ufw statusfirewalldの紹介:動的ファイアウォール
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フィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- ネットワーク設定の基礎
- ファイアウォールを理解する(UFW/firewalld)
- ポート管理とセキュリティ
- DNSの設定とトラブルシューティング