技術ノート Uncategorized UFW ファイアウォールで Linux サーバーを保護する方法

UFW ファイアウォールで Linux サーバーを保護する方法

UFW ファイアウォールで Linux サーバーを保護する方法

「Uncomplicated Firewall」の略称である UFW は、より複雑なファイアウォールのフロントエンドです。

iptables
UFW ファイアウォールで Linux サーバーを保護する方法

ユーティリティ。ポートの開閉を設定したり、通過を許可するトラフィックを規制したりするだけで、ファイアウォールの管理が簡単になるように設計されています。

UFW のセットアップ

UFW は Ubuntu にデフォルトでインストールされますが、インストールされていない場合は、次からインストールできます。

 apt

:

 sudo apt-get インストール ufw

別のディストリビューションを実行している場合は、そのディストリビューションのパッケージ マネージャーを使用する必要がありますが、UFW は広く入手可能です。ファイアウォールのステータスは次の方法で確認できます。

 sudo ufwステータス

以前に設定していない場合は、「非アクティブ」と表示されます。

ファイアウォールを使用する場合は、すべての受信トラフィックを遮断し、送信トラフィックを許可することから始めるとよいでしょう。心配しないでください。ファイアウォールはまだ有効になっていないため、SSH 接続がすぐに切断されるわけではありません。

 sudo ufwのデフォルトで受信を拒否します

sudo ufw デフォルトで送信を許可する

これにより、白紙の状態で作業し、その上にルールを追加できます。

UFW ファイアウォールで Linux サーバーを保護する方法

UFW でポートを開く

ポートを開くには、コマンド ufw allow を使用します。たとえば、ポート 22 を開く必要があるので、次のコマンドを実行します。

 sudo ufw 許可 22

ルールを追加するときに、将来の自分のためにメモを残すこともできます。

 sudo ufw allowed 8080/tcp コメント「Express API のポートを開く」

多くのアプリケーションは UFW のプロファイルをインストールしますが、SSH もその 1 つです。したがって、名前を指定することで、特定のアプリケーションが必要なポートを開くことを許可することもできます。

 sudo ufw で ssh を許可します

ufw app list を使用して利用可能なアプリケーションのリストを表示し、 ufw app info [name] を使用してアプリケーションの詳細を表示できます。

コロンを区切り文字として使用してポート範囲全体を許可したり、プロトコルを指定したりすることもできます。たとえば、ポート 3000 ~ 3100 上の TCP トラフィックのみを許可するには、次のコマンドを実行します。

 sudo ufw 許可 3000:3100/tcp

デフォルトでは受信を拒否するように設定されているため、手動でポートを閉じる必要はありません。送信ポートを閉じたい場合は、 ufw reject とともに方向を指定する必要があります。

 sudo ufw 拒否 3001 

UFW ファイアウォールで Linux サーバーを保護する方法

UFW によるホワイトリストとレート制限

特定の IP アドレスに異なる権限を与えることができます。たとえば、IP アドレスからのすべてのトラフィックを許可するには、次のコマンドを実行します。

 sudo ufw は 192.168.1.1 を許可します

特定のポートをホワイトリストに登録するには、より完全な構文を使用する必要があります。

 sudo ufwは192.168.1.1から任意のポート22へのproto tcpを許可します

IP アドレスは頻繁に変更されるため、バックアップ接続またはある種のポートノッキングが設定されていない限り、この方法で SSH アクセスをホワイトリストから除外することは望ましくないでしょう。 SSH アクセスを自分だけに制限したい場合の 1 つのオプションは、同じプライベート クラウド内に OpenVPN サーバーをセットアップし、そのサーバーへのアクセスをホワイトリストに登録することです。

仮想プライベート クラウド プロバイダーを通じてサーバーを実行している場合のように、IP アドレスのブロック全体をホワイトリストに登録する場合は、標準の CIDR サブネット表記を使用できます。

 sudo ufw 許可 192.168.0.0/24

サブネットは非常に複雑なので、詳細については サブネットの操作に関するガイド をお読みください。

レート制限は、明らかに不正な接続をブロックできるファイアウォールのもう 1 つの便利な機能です。これは、開いている SSH ポートをブルートフォース攻撃しようとする攻撃者から保護するために使用されます。もちろん、ポートをホワイトリストに登録して完全に保護することもできますが、いずれにしてもレート制限は役に立ちます。デフォルトでは、UFW レートは 30 秒あたり 6 接続に制限されており、SSH に使用することを目的としています。

 sudo ufw制限ssh 

UFW ファイアウォールで Linux サーバーを保護する方法

UFWをオンにする

ルールの構成が完了したら、UFW を有効にすることができます。 ポート 22 の SSH が開いていることを確認してください 。そうしないとロックアウトされてしまいます。必要に応じて、ブート時に UFW の実行を無効にして、潜在的な問題をリセットすることで解決できます。

 sudo systemctlはufwを無効にする

次に、次のようにして UFW を有効にします。

 sudo ufwを有効にする

すべてが正常であれば、 ufw status を実行してファイアウォールの現在のステータスを表示できます。ロックアウトされておらず、ファイアウォールが実行されている場合は、次のように起動時にファイアウォールが実行されるように設定します。

 sudo systemctlはufwを有効にします

変更を加えるたびに、次のものを使用してファイアウォールをリロードする必要があります。

 sudo ufwリロード

ロギングをオンにして、 /var/log/ への接続をログに記録することもできます。

 sudo ufw ログオン

UFW ファイアウォールで Linux サーバーを保護する方法

ルールの管理と削除

ルールを削除したい場合は、次のようにしてその番号を取得する必要があります。

 sudo ufwステータス番号付き

番号は 0 ではなく 1 から始まることに注意してください。番号によってルールを削除できます。

 sudo ufw 削除 [番号]

繰り返しになりますが、ポート 22 を開いたままルールを削除しないようにしてください。 --dry-run パラメータを使用して、UFW に確認を求めることができます。

変更を加えた場合は、ファイアウォールを再度リロードする必要があります。

「 UFW ファイアウォールで Linux サーバーを保護する方法」に関するベスト動画選定!

【ゆっくりLinux入門】ファイアーウォールを設定してくれるソフト「gufw」を入れた
これで安心‼Linuxのセキュリティー対策 ~ずんだもんのLinux「使ってみた」第6回~