ホームページ  >  記事  >  運用・保守  >  Linuxにはファイアウォールがありますか?

Linuxにはファイアウォールがありますか?

王林
王林転載
2023-05-16 23:20:491367ブラウズ

ファイアウォールは、ほぼすべてのパブリック Linux サーバーにとって不可欠なソフトウェアの 1 つであり、サーバーをネットワーク攻撃から保護します。多くの Linux ディストリビューションにはすでにファイアウォール (通常は iptables) が付属しています。Fedora、CentOS、および Red Hat ディストリビューションでは、デフォルトでインストールされるファイアウォール ソフトウェアは firewalld であり、「firewall-cmd」コマンドで構成および制御できます。

Linux にはファイアウォールとウイルス対策ソフトウェアが備わっています。 ファイアウォールは、パブリック ネットワーク上の Linux サーバーにとってほぼ必須のソフトウェアです。さらに、ほぼすべてのコンピュータ室には、侵入検知、攻撃保護などのためのハードウェア ファイアウォールが設置されています。

適切なファイアウォールは、コンピュータのネットワーク侵入を防ぐ最初の障壁です。自宅でインターネットを閲覧する場合、通常、インターネット サービス プロバイダーはルーティングにファイアウォールを構築します。家から離れているときは、コンピューター上のファイアウォールが唯一のファイアウォールとなるため、Linux コンピューター上でファイアウォールを構成して制御することが重要です。 Linux サーバーを保守している場合は、ローカルまたはリモートを問わず、違法なトラフィックからサーバーを保護できるようにファイアウォールを管理する方法を知ることも同様に重要です。

Linuxにはファイアウォールがありますか?

Linux インストール ファイアウォール

通常、iptables は、多くの Linux ディストリビューションに付属するデフォルトのファイアウォールです。強力でカスタマイズ可能ですが、設定が少し複雑です。開発者は、ユーザーがファイアウォールを管理できるように支援し、煩雑な iptables ルールを置き換えるフロントエンド アプリケーションを作成しました。

Fedora、CentOS、Red Hat、およびいくつかの同様のディストリビューションでは、デフォルトでインストールされるファイアウォール ソフトウェアは firewalld であり、firewall-cmd コマンドによって構成および制御されます。 Firewalld は、Debian だけでなく他のほとんどのディストリビューションにもソフトウェア リポジトリ経由でインストールできます。 Ubuntu にはシンプルなファイアウォールである Uncomplicated Firewall (ufw) が付属しているため、firewalld を使用するには、universe ソフトウェア リポジトリを有効にする必要があります:

$ sudo add-apt-repository universe
$ sudo apt install firewalld

ufw も無効にする必要があります:

$ sudo systemctl disable ufw

ufw を使用しない理由。これは強力なファイアウォール フロントエンドです。ただし、ほとんどのディストリビューションが firewalld をサポートしており、ほぼすべてのディストリビューションに付属する systemd に統合されているため、この記事では firewalld に焦点を当てます。

どのディストリビューションを使用している場合でも、有効にするにはまずファイアウォールをアクティブにする必要があり、起動時にロードする必要があります。

$ sudo systemctl enable --now firewalld

ファイアウォールのドメインを理解する

Firewalld は、ファイアウォールの設定をできるだけ簡単にするように設計されています。この目標は、ドメイン ゾーンを確立することで達成されます。ドメインは、ほとんどのユーザーの日常的なニーズに適応する合理的な一般ルールのセットです。デフォルトでは 9 つのドメインがあります。

  • trusted: すべての接続を受け入れます。これは非常に寛容なファイアウォール設定であり、誰もがお互いを知っているテスト ラボやホーム ネットワークなど、絶対的に信頼できる環境でのみ使用する必要があります。

  • ほとんどの接続は、家庭、職場、社内の 3 つのエリアで受信されます。これらはそれぞれ、アクティブになることが予想されないポートからの受信トラフィックを除外します。ポートが不確実なネットワーク トラフィックがなく、一般にホーム ネットワーク上の他のユーザーを信頼できるため、3 つはすべてホーム環境での使用に適しています。

  • #public: 公共エリアで使用されます。これは、ネットワーク上の他のコンピュータを信頼しない場合に使用される偏執的な設定です。選択された一般的で最も安全な受信接続のみを受け入れることができます。

  • dmz: DMZ は非武装地帯の略です。このドメイン名は、組織外から公的にアクセスでき、内部ネットワークへのアクセスが制限されているコンピュータによく使用されます。この文は次のように書き換えることができます。パーソナル コンピュータにとってはあまり実用的ではありませんが、一部のサーバーにとっては重要な選択です。

  • external: 外部ネットワークに使用すると、マスカレードが有効になります (プライベート ネットワークのアドレスは外部 IP アドレスにマッピングされ、非表示になります)。 DMZ と同様に、SSH を含む選択された受信接続のみが受け入れられます。

  • ブロック: このシステムで初期化されたネットワーク接続のみを受け入れます。ネットワーク接続はすべて拒否され、icmp-host-prohibited メッセージが送信されます。これは非常に重要な設定であり、特にパーソナル コンピューターや、非常に高度な被害妄想のために信頼できない環境またはセキュリティで保護されていない環境にある特定の種類のサーバーの場合には重要です。

  • drop: 受信したネットワーク パケットはすべて応答なしでドロップされます。送信ネットワーク接続のみが使用可能です。この設定よりも極端な解決策は、WiFi をオフにしてネットワーク ケーブルを抜くことです。

ディストリビューションのすべてのゾーンを表示したり、構成ファイル /usr/lib/firewalld/zones を通じて管理者設定を表示したりできます。たとえば、Fedora 31 に付属する FedoraWorkstation ゾーンは次のようになります。

$ cat /usr/lib/firewalld/zones/FedoraWorkstation.xml
<?xml version="1.0" encoding="utf-8"?>
<zone>
  <short>Fedora Workstation</short>
  <description>Unsolicited incoming network packets are rejected from port 1 to 1024, except for select network services. Incoming packets that are related to outgoing network connections are accepted. Outgoing network connections are allowed.</description>
  <service name="dhcpv6-client"/>
  <service name="ssh"/>
  <service name="samba-client"/>
  <port protocol="udp" port="1025-65535"/>
  <port protocol="tcp" port="1025-65535"/>
</zone>

現在のゾーンを取得します

いつでも --get-active を渡すことができます。 -zones オプション どのドメインに属しているかを確認するには:

$ sudo firewall-cmd --get-active-zones

出力には、現在アクティブなドメインの名前と、それに割り当てられているネットワーク インターフェイスが含まれます。ラップトップでは、デフォルトのドメインにあるということは、通常、WiFi カードを持っていることを意味します:

FedoraWorkstation
  interfaces: wlp61s0

現在のドメインを変更します

要更改你的域,请将网络接口重新分配到不同的域。举个例子,将 wlp61s0 网卡修改为公用域

$ sudo firewall-cmd --change-interface=wlp61s0 --zone=public

你可以在任何时候、任何理由改变一个接口的活动域 —— 无论你是要去咖啡馆,觉得需要增加笔记本的安全策略,还是要去上班,需要打开一些端口进入内网,或者其他原因。在你凭记忆学会 firewall-cmd 命令之前,你只要记住了关键词 change 和 zone,就可以慢慢掌握,因为按下 Tab 时,它的选项会自动补全。

以上がLinuxにはファイアウォールがありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。