LinuxでUFWファイアウォールを構成する方法



問題を排除するために楽器を試してください

UFWは実際にはUncomplicatedFirewallの略であり、多くの人が信じているようなUbuntuファイアウォールではありません。この名前は、設定が驚くほど簡単であるという事実を反映しています。ほとんどのユーザーは、比較的安全になる前に、文字通り3つのオプションを設定するだけで済みます。いくつかの高度な構成オプションを設定したい人は、テキストファイルを編集する以外に多くのことをする必要はありません。 Ubuntuプロジェクト開発者はもともとこの特定のファイアウォールソフトウェアを設計しましたが、ufwは他の多くのディストリビューションでも利用できます。 Debian、Arch、Linux Mint、Lubuntu、Xubuntuのユーザーは、おそらくすでにインストールされています。



問題は、スイッチをオンにしているユーザーが比較的少ないことです。ユーザーがiptablesを直接操作する必要がなくなりましたが、Ubuntuはufwをデフォルトでオフ状態にします。 Debianの多くの実装には、デフォルトでパッケージがインストールされていません。幸いなことに、端末の経験が少しでもあれば、システムを強化できます。



方法1:コマンドプロンプトからUFWをオンにする

個別にインストールする前に、ufwパッケージがインストールされていると仮定します。これらのコマンドを何よりも先に実行してください。途中でエラーが発生した場合は、いつでも戻ってufwパッケージを後で問題なくインストールできます。



標準のユーザーアカウントで作業している場合は、 sudo ufw enable プロンプトが表示されたら、管理者パスワードを入力します。 ufwが有効になっていて、起動時に自動的に実行されることを通知する必要があります。実行 sudo ufw status とにかく念のため。 「ステータス:アクティブ」と表示され、その後に何も表示されない1行の出力が表示されます。

一方、ufwがインストールされていないと言われたかもしれません。 Debianのようなaptベースのディストリビューションのユーザーは実行する必要があります sudo apt-get install ufw 。あなたは走りたいかもしれません sudo apt-get update その後 sudoapt-アップグレードを取得 インストール時に他のパッケージが正常であることを確認します。 ArchLinuxユーザーは実行する必要があります sudo pacman -Syu パッケージを順番に取得したい場合は sudo pacman -S ufw ufwをインストールしますが、その後はすべてのユーザーが通常どおり続行できます。上記の手順に従って、実行されていることを確認してください sudo ufw enable 前述の「 ステータス:アクティブ 」行。



方法2:UFWに基本的なルールセットを送信する

ファイアウォールツールは、一連のルールを使用して、ネットワークを介してコンピューターに送信されたパケットを受け入れるかどうかを確認します。次に、次の2つのコマンドを実行することをお勧めします。

sudoufwデフォルトは発信を許可します

sudoufwデフォルトは着信を拒否します

これにより、ufwは常にネットワークアダプターに送信トラフィックを送信できるようになります。これは、オンラインで何らかの作業を行う場合に重要です。当然のことながら、送信リクエストを危険と見なすべきではありません。これにより、着信リクエストが害を及ぼすことも禁止されます。これは、ほとんどすべてのホームユーザーとビジネスユーザーにとって正しい設定です。集中的なオンラインFPSタイトルをプレイするほとんどのゲーマーでさえ、これ以上のものは必要ありません。マシンを再起動した後でも、sudo ufw statusを実行すると有効なメッセージが返される限り、ほとんどの人はここで停止できます。構成プロセスには他に多くのことはありません。あらゆる種類のsshまたは高度なネットワーキングの目標を持つユーザーは先に進む必要があります。

方法3:高度なUFW構成オプション

ほとんどのユーザーはそれ以降を読む必要はありませんが、これらのルールは一部のユーザーにとって役立つ場合があります。たとえば、共通の80ポートでtcp接続を許可する必要がある場合は、次のコマンドを実行できます。

sudo ufw allow 80 / tcp

あなたも使うことができます sudo ufw allow from ###。##。##。## / ## スラッシュマークの後に実際のIPアドレスと実際のサブネット番号を付けます。ネットワークを介してネットワークを実行する必要がある場合は、80がこの使用に有効な番号であることに注意してください。次のようなものを使用する sudo ufw allow http / tcp も有効であり、サーバーの状況で必要になる場合がありますが、これにより、さまざまなタイプの接続を許可する限り、ワームの缶が実際に開かれ始めます。

最も人気のある設定の1つは sudo ufw allow 22 、ssh接続用のポートを開きます。一部のユーザーは代わりにそれを次のように表現します sudo ufw allow ssh 、これも同様に機能します。一部のガイドでは両方の行を追加するように指示されている場合がありますが、これはほとんどの場合不要であり、最終的には不要なオーバーヘッドの原因となる可能性があります。

将来、ルールの1つを削除したい場合は、sudo ufwdeleteを実行してからルール名を指定するだけです。例えば、 sudo ufw delete allow 80 / tcp 上記の例の1つをオフにします。

今あなたが走るとき sudo ufw status verbose 追加のルールを作成した場合は、はるかに完全なテーブルが表示される可能性があります。将来ファイアウォールを無効にしたい場合は、sudo ufw disableを実行できますが、これを行う必要がある状況はほとんどありません。

サーバーを保護するためにこのようにufwを使用している場合、504ゲートウェイタイムアウトエラーが発生することがあります。この場合、いくつかのルールの順序を変更すると役立つ場合があります。セキュリティ上の理由から、ufwはリストを解析するときに常に最初の一致を探すため、ルールを拒否する前にルールを許可する必要があります。ルールのペアを削除してから、次のように入力してルールを追加し直します。 sudo ufw default allow 最初の行でこの問題を修正する必要があります。パフォーマンス上の理由から、重複する行を追加で削除することもできます。

実行 sudoufw冗長 また、DENYIN行とALLOWIN行の順序に細心の注意を払ってください。80や22のような共通のポートに、これらのポートへの他の参照の前に、チャート上でDENY INの後にAnywhereと表示されるものがある場合は、次のようになります。接続を通過する前に接続をブロックしようとします。それらを並べ替えると問題が解決します。そもそもこれらのコマンドを正しい順序で配置すると、後で問題が発生するのを防ぐのに役立ちます。

昇格されたルートプロンプトのユーザーは、各コマンドの前に実際にsudoを使用する必要はありません。それについて何らかのエラーが発生している場合は、これが問題である可能性があります。プロンプトの最後をチェックして、カーソルの前に#または$があるかどうかを確認します。プロンプトに%しかないtcshのユーザーは、whoamiを実行して、操作しているユーザーを確認する必要があります。

実行する通常のユーザー sudo ufw status verbose プロンプトの後、まだ比較的少ないフィードバックを受け取る可能性が高いでしょう。おそらく、以前と同じ行が表示されるだけです。

これは、これらのユーザーがごく少数のルールで作業しているだけだからです。ただし、これらのルールに関しては注意が必要な場合があります。 ufw defaultコマンドを使用すると、さらにrejectパラメーターを使用できますが、独自のプライベートサーバー構造から簡単にロックアウトしたり、その他の奇妙なことを実行したりできます。あなたが持っている必要がある場合 sudo ufw allow ssh またはルールセット内の他の同様の行。これは、デフォルトの拒否または拒否ルールを適用する前に行う必要があります。

GufwやQtベースのkmyfirewallなど、いくつかのグラフィカルツールが存在しますが、コマンドラインからufwを構成するのは簡単なので、実際には必要ありません。代わりに構成ファイルを直接編集する必要がある場合は、 適切なディレクトリに移動してから使用するコマンド sudo nanofw それを編集します。また、変更を加える前に、最初にufwを増やしたり減らしたりして、テキストを最初に表示することもできます。

開発者は実際に時間をかけて適切なコメントを提供し、編集時に迷子にならないようにしましたが、必要に応じて削除することもできます。

読んだ5分