Linux
 Computer >> コンピューター >  >> トラブルシューティング >> Linux

UFW をマスターする:Linux ファイアウォール セキュリティのステップバイステップ ガイド

UFW は実際には Uncomplicated Firewall の略であり、多くの人が信じているような 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 を実行するとよいでしょう。 次に sudo apt-get アップグレード インストール時に他のパッケージが適切であることを確認します。 Arch Linux ユーザーは、sudo pacman -Syu を実行する必要があります。 パッケージを整理したい場合は、sudo pacman -S ufw を実行します。 ufw をインストールしますが、その後はすべてのユーザーが通常どおり続行できます。上記の手順に従って、sudo ufw Enable が実行されていることを確認してください。 前述の「ステータス:アクティブ」を返します。 ” 行。

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

ファイアウォール ツールは、一連のルールを使用して、ネットワーク経由でコンピュータに送信されるパケットを受け入れるかどうかをチェックします。次にこれら 2 つのコマンドを実行することになるのはほぼ間違いありません。

sudo ufw のデフォルトでは送信を許可

sudo ufw デフォルトで受信を拒否

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

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

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

sudo ufw は 80/tcp を許可

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

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

将来ルールの 1 つを削除したい場合は、ルール名を続けて sudo ufw delete を実行するだけです。たとえば、sudo ufw delete allowed 80/tcp です。 上で作成した例の 1 つをオフにします。

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

サーバーを保護するためにこの方法で ufw を使用している場合、場合によっては 504 ゲートウェイ タイムアウト エラーが発生することがあります。この場合、いくつかのルールの順序を変更すると解決する可能性があります。セキュリティ上の理由から、ufw はリストを解析するときに常に最初の一致を検索するため、許可ルールは拒否ルールの前に入力する必要があります。ルールのペアを削除し、「 sudo ufw defaultallow」と入力してルールを再度追加します。 行を最初に実行すると、この問題が解決されるはずです。パフォーマンス上の理由から、重複した行をさらに削除することもできます。

sudo ufw verbose を実行します。 また、DENY IN 行と ALLOW IN 行がどのような順序で並んでいるのかに細心の注意を払ってください。80 や 22 などの共通ポート上に、チャート上でそれらのポートへの他の参照の前に DENY IN の後に Anywhere が続くものがある場合は、接続が通過する前に接続をブロックしようとしている可能性があります。順序を変更すると問題が解決します。これらのコマンドを最初に正しい順序で配置しておくと、後で問題が発生するのを防ぐことができます。

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

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

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

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

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

著者について

UFW をマスターする:Linux ファイアウォール セキュリティのステップバイステップ ガイド

ケビン・アロウズ

Kevin Arrows は、10 年以上の業界経験を持つ、経験と知識が豊富なテクノロジー スペシャリストです。彼は Microsoft Certified Technology Specialist (MCTS) 認定を取得しており、最新の技術開発について常に最新の情報を入手することに深い情熱を持っています。 Kevin は、ソフトウェア開発、サイバーセキュリティ、クラウド コンピューティングなどの分野での専門知識と専門知識を示し、テクノロジー関連の幅広いトピックについて幅広く執筆しています。テクノロジー分野への彼の貢献は同僚から広く認められ、尊敬されており、複雑な技術概念を明確かつ簡潔に説明する能力が高く評価されています。


  1. 修正:sudoersファイルにありません。この事件は報告されます。

    おそらく、初心者向けの恐ろしいUnixおよびLinuxの警告メッセージの1つは、「____はsudoersファイルにありません。この事件は報告されます。」実際のエラーメッセージの場合、下線はユーザー名に置き換えられ、誰かがあなたの間違いについて聞いているように聞こえます! ただし、あまり心配する必要はありません。報告されているインシデントに関するメッセージは、システムログに記録されるというメモにすぎません。このログは、ある時点で、システム管理者が悪用の可能性を確認する必要がありました。シングルユーザーシステムを使用している場合は、次の手順を使用してこの一般的な問題を修正する以外に、心配する必

  2. 「SSH がホスト名を解決できませんでした」エラーを迅速に解決する

    ssh を使用しようとすると、ホスト名を解決できなかったことを示すエラーが表示されることがあります。このエラーが発生した場合は、まずネットワークに接続していることを確認する必要があります。あらゆる種類のワイヤレス ネットワークのユーザーは、要求を完了するのに十分な信号を受信して​​いることを確認したいと考えます。多くの開発者によれば、これらのエラーの最も一般的な原因は接続の欠如です。これはタイプミスよりもさらに一般的です。 確実に接続されていることがわかったら、次にタイプミスがないか確認する必要があります。 IP アドレスまたはある種のリソース ロケータ行を誤って入力した可能性があります。情