Ubuntu 18.04でUbuntu Firewall(UFW)を構成する

UFWをインストールする

UFWはUbuntu 18.04にデフォルトでインストールされますが、これを確認できます。

which ufw

次の出力が表示されます。

/usr/sbin/ufw

出力が表示されない場合は、UFWがインストールされていないことを意味します。この場合は、自分でインストールできます。

sudo apt-get install ufw

接続を許可

Webサーバーを実行している場合は、世界中のユーザーがWebサイトにアクセスできるようにする必要があります。したがって、WebのデフォルトのTCPポートが開いていることを確認する必要があります。

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

通常、次の形式を使用して、必要なポートを許可できます。

sudo ufw allow <port>/<optional: protocol>

接続を拒否する

特定のポートへのアクセスを拒否する必要がある場合は、deny次のコマンドを使用します。

sudo ufw deny <port>/<optional: protocol>

たとえば、デフォルトのMySQLポートへのアクセスを拒否できます。

sudo ufw deny 3306

UFWは、最も一般的なサービスポートの簡略化された構文もサポートしています。

root@ubuntu:~$ sudo ufw deny mysql
Rule updated
Rule updated (v6)

22信頼できるIPアドレス以外からのSSHポート(デフォルトでは、これはport )へのアクセスを制限することを強くお勧めします。

信頼できるIPアドレスからのアクセスを許可する

通常、portなどの公開されているポートへのアクセスのみを許可する必要があります80。他のすべてのポートへのアクセスは制限または制限する必要があります。SSHまたはFTP経由でサーバーにアクセスできるように、自宅またはオフィスのIPアドレス(できれば静的IP)をホワイトリストに登録できます。

sudo ufw allow from 192.168.0.1 to any port 22

MySQLポートへのアクセスを許可することもできます。

sudo ufw allow from 192.168.0.1 to any port 3306

UFWを有効にする

UFWを有効(または再起動)する前に、SSHポートがIPアドレスからの接続の受信を許可されていることを確認する必要があります。UFWファイアウォールを開始/有効にするには、次のコマンドを使用します。

sudo ufw enable

次の出力が表示されます。

root@ubuntu:~$ sudo ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)?

を押しY、次にを押しENTERてファイアウォールを有効にします。

Firewall is active and enabled on system startup

UFWステータスを確認する

UFWルールリストを印刷します。

sudo ufw status

次のような出力が表示されます。

Status: active

To                         Action      From
--                         ------      ----
80/tcp                     DENY        Anywhere
443/tcp                    DENY        Anywhere
3306                       DENY        Anywhere
22                         ALLOW       192.168.0.1
3306                       ALLOW       192.168.0.1
80/tcp (v6)                DENY        Anywhere (v6)
443/tcp (v6)               DENY        Anywhere (v6)
3306 (v6)                  DENY        Anywhere (v6)

verboseパラメータを使用して、より詳細なステータスレポートを表示します。

sudo ufw status verbose

その出力は次のようになります。

Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip

To                         Action      From
--                         ------      ----
80/tcp                     DENY IN     Anywhere
443/tcp                    DENY IN     Anywhere
3306                       DENY IN     Anywhere
22                         ALLOW IN    192.168.0.1
3306                       ALLOW IN    192.168.0.1
80/tcp (v6)                DENY IN     Anywhere (v6)
443/tcp (v6)               DENY IN     Anywhere (v6)
3306 (v6)                  DENY IN     Anywhere (v6)

UFWの無効化/再読み込み/再起動

ファイアウォールルールをリロードする必要がある場合は、以下を実行します。

sudo ufw reload

UFWを無効にする、または停止するには:

sudo ufw disable

UFWを再起動するには、まずUFWを無効にしてから、再度有効にする必要があります。

sudo ufw disable
sudo ufw enable

注: UFWを有効にする前に、IPアドレスに対してSSHポートが許可されていることを確認してください。

ルールを削除する

UFWルールを管理するには、それらをリストする必要があります。パラメータを使用してUFWステータスを確認することで、これを行うことができますnumbered

sudo ufw status numbered

次のような出力が表示されます。

Status: active

     To                         Action      From
     --                         ------      ----
[ 1] 80/tcp                     DENY IN     Anywhere
[ 2] 443/tcp                    DENY IN     Anywhere
[ 3] 3306                       DENY IN     Anywhere
[ 4] 22                         ALLOW IN    192.168.0.1
[ 5] 3306                       ALLOW IN    192.168.0.1
[ 6] 80/tcp (v6)                DENY IN     Anywhere (v6)
[ 7] 443/tcp (v6)               DENY IN     Anywhere (v6)
[ 8] 3306 (v6)                  DENY IN     Anywhere (v6)

これらのルールを削除するには、角かっこでこれらの数値を使用する必要があります。

sudo ufw delete [number]

HTTPルール(80)を削除するには、次のコマンドを使用します。

sudo ufw delete 1

IPv6サポートを有効にする

VPSでIPv6を使用する場合は、UFWでIPv6サポートが有効になっていることを確認する必要があります。これを行うには、テキストエディターで構成ファイルを開きます。

sudo vi /etc/default/ufw

開いたら、それIPV6が「はい」に設定されていることを確認します。

IPV6=yes

この変更を行った後、ファイルを保存します。次に、無効にしてから再度有効にしてUFWを再起動します。

sudo ufw disable
sudo ufw enable

デフォルト設定に戻す

デフォルト設定に戻す必要がある場合は、次のコマンドを入力してください。これにより、変更が元に戻ります。

sudo ufw reset

おめでとうございます。基本的なファイアウォールルールを設定しました。その他の例については、UFW-Community Help Wikiをご覧ください。



Leave a Comment

CentOS 7にApacheをインストールする方法

CentOS 7にApacheをインストールする方法

CentOS 7サーバーにApache 2.4をインストールする方法を説明します。安定したウェブサーバーを構築するための前提条件と手順を解説します。

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1におけるBlacklistdのインストール方法について詳しく解説します。この方法を通じて、強力なセキュリティ対策を実装できます。

Windows Serverのサーバーマネージャーを使用した複数サーバーの管理

Windows Serverのサーバーマネージャーを使用した複数サーバーの管理

サーバーマネージャーを使用して、Windows Serverの管理が向上します。セキュリティリスクを軽減し、効率的な管理を実現します。

CentOS 7にSeafileサーバーをインストールする方法

CentOS 7にSeafileサーバーをインストールする方法

CentOS 7にSeafileサーバーをインストールする方法。Seafile(コミュニティバージョン)は、ownCloudに似た無料のオープンソースファイル同期および共有ソリューションです。

DebianでSnortを設定する方法

DebianでSnortを設定する方法

Snortは無料のネットワーク侵入検知システムです。最新の方法で、SnortをDebianにインストールし、設定する手順を紹介します。ネットワークのセキュリティを強化しましょう。

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールし、ログ管理を行う方法を学びます。

WindowsでhMailServerを使用してメールサーバーを構築する

WindowsでhMailServerを使用してメールサーバーを構築する

WindowsサーバーでWebサイトを実行している場合、電子メールも受信できるようにするためにhMailServerを使用する方法を解説します。

Ubuntu 19.04にFiveMサーバーをインストールする方法

Ubuntu 19.04にFiveMサーバーをインストールする方法

FiveMサーバーをUbuntu 19.04にインストールするための詳細なガイド。必要条件からインストール、起動、トラブルシューティングまで、すべてのステップを含みます。

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

Debian 10にWebDAVをデプロイする方法を学び、WsgiDAVとSSL証明書で安全な接続を実現しましょう。

ヘルスケア2021における人工知能の影響

ヘルスケア2021における人工知能の影響

ヘルスケアにおけるAIは、過去数十年から大きな飛躍を遂げました。したがって、ヘルスケアにおけるAIの未来は、日々成長を続けています。