デフォルトでは、UbuntuにはUFWと呼ばれるファイアウォール構成ツールが付属しています。 UFWは、Ubuntuでファイアウォールルールを管理するために使用されるUncomplicatedFirewallの略です。
UFW(Uncomplicated Firewall)は、基本的にiptablesへのインターフェースであり、ファイアウォールの構成プロセスを簡素化することを目的としています。 iptablesは堅実で柔軟なツールですが、初心者がファイアウォールを適切に構成するためにiptablesを使用する方法を学ぶのは難しい場合があります。ネットワークの保護を開始しようとしていて、使用するツールがわからない場合は、UFWが適切な選択である可能性があります。
ここLinuxAPTでは、サーバー管理サービスの一環として、お客様が関連するUFWファイアウォールクエリを実行するのを定期的に支援しています。
これに関連して、UbuntuでUFWファイアウォールを設定する方法を検討します。
UbuntuにUFWをインストールする方法は?
このインストール手順に進む前に、sudo権限を持つユーザーを持つユーザーを使用していることを確認してください。
前述のように、UFWはデフォルトでUbuntuにインストールされます。何らかの理由でアンインストールした場合は、最初にUFWをUbuntuシステムにインストールする必要があります。
$ sudo apt install ufw
UbuntuでUFWステータスを確認する方法は?
インストールが完了すると、ufwのステータスを確認できます。そのためには、以下のコマンドを実行します:
$ sudo ufw status verbose
以前にUFWをアクティブ化したことがない場合は、デフォルトでUFWが無効になっているため、出力は非アクティブとして表示されます。
Output
Status: inactive
UFWを有効にすると、ステータス出力は次のように表示されます。
Output
Status: active
To Action From
-- ------ ----
22 ALLOW Anywhere
22 (v6) ALLOW Anywhere (v6)
UbuntuでUFWを有効にする方法は?
システムでUFWが有効になっていない場合は、次のように入力することで簡単に有効にできます。
$ sudo ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup
It will show warning that it may disrupt existing ssh connections if enabling the firewall. Press y and hit Enter to continue.
これで、ステータスを確認したい場合は、もう一度確認すると、アクティブになっていることが表示されます。
UbuntuでUFWデフォルトポリシーを設定する方法は?
UFWはすべての着信接続をブロックし、すべての発信接続を許可します。通常、着信接続用に一部のポートを開いて、他のすべてのポートをブロックする必要があります。デフォルトのポリシーは/etc/ default/ufwファイルで定義されています。
UFWを使用すると、このタイプのルールポリシーを設定および管理できます。
以下のコマンドを使用して、システムへのすべての着信接続を拒否します。
$ sudo ufw default deny incoming
すべての発信接続を許可するには、ターミナルで次のように入力します。
$ sudo ufw default allow outgoing
UbuntuのUFWにルールを追加する方法は?
サービスやポート番号のルールを追加するのは非常に簡単です。以下は、任意のポートにルールを追加するための基本的な構文です。
$ sudo ufw ACTION PORT_NUMBER
ここで、ACTIONはdenyまたはallowedに置き換える必要があり、PORT_NUMBERはルールを設定するポートの番号です。
SSH接続ポート22を許可する方法?
ポート22(SSH)での着信および発信接続を許可するには、以下のコマンドを実行します。
$ sudo ufw allow 22
以下のようにサービス名でコマンドを実行することもできます:
$ sudo ufw allow ssh
以下のような出力が表示されます:
Output
Rule added
Rule added (v6)
ポート80を開く方法– UbuntuでHTTP?
以下のコマンドを使用してHTTP接続を許可できます:
$ sudo ufw allow http
httpの代わりに、ポート番号80を使用できます:
$ sudo ufw allow 80/tcp
ポート443を開く方法– UbuntuでHTTPS?
WebサイトがSSLを使用している場合、サーバーは443ポートを開いて、SSLを介した接続を許可する必要があります。以下のコマンドを実行して、ポート443を許可します。
$ sudo ufw allow https
httpと同じように、サービス名の代わりにポート番号を使用できます:
$ sudo ufw allow 443/tcp
ポート972のトラフィックを拒否する方法は?
以下のコマンドを使用して、特定のポートのトラフィックを拒否できます。
$ sudo ufw deny 972
Ubuntuでルールを削除する方法は?
ルールを追加し、それ以上必要がない場合は、削除アクションを使用して簡単に削除できます。たとえば、httpsのルールが必要ない場合は、以下のコマンドを実行してhttpsのルールを削除します。
$ sudo ufw delete allow 443
特定のIPアドレスを許可する方法は?
すべてのポートに特定のIPアドレスからの接続を許可する場合は、以下のようにIPアドレスを指定する必要があります。
$ sudo ufw allow from 1.83.43.125
そのIPアドレスがホワイトリストに追加されます。
特定のポートで特定のIPアドレスを許可する方法は?
特定のIPアドレスで特定のポートへの接続のみを許可する必要がある場合は、以下のコマンドを実行します。
$ sudo ufw allow from 1.03.03.025 to any port 22
上記のコマンドでは、特定のポートを許可するためにIPアドレスの後にポート番号が続いていることがわかります。したがって、1.03.03.025からの接続は、ポート22でのみ許可されます。
特定のIPアドレスを拒否する方法は?
特定のIPアドレスからのすべての接続を拒否するには、以下に示すように、拒否オプションを使用してIPアドレスを指定する必要があります。
$ sudo ufw deny from 1.03.03.025
そのIPアドレスがブラックリストに追加されます。
特定のポートで特定のIPアドレスを拒否する方法は?
特定のポートの特定のIPアドレスからの接続のみを拒否する場合は、以下のコマンドを実行して行うことができます。
$ sudo ufw deny from 1.03.03.025 to any port 22
上記のコマンドで、特定のポートを拒否するためにIPアドレスの後にポート番号を指定したことがわかります。したがって、1.03.03.025からの接続は、ポート22に対してのみ拒否されます。
UbuntuでUFWを無効にする方法は?
UFWを無効にする必要がある場合は、以下のコマンドを実行するだけで簡単に行うことができます:
$ sudo ufw disable
UFWにログインする方法は?
3つのレベルでUFWへのログインを有効または無効にできます。デフォルトのログレベルは、低、中、高のうち低です。
以下のコマンドを入力して、ロギングを有効にします。
$ sudo ufw logging on