GNU/Linux >> Linux の 問題 >  >> Ubuntu

Ubuntu18.04でUFWファイアウォールを設定する方法

この記事では、Ubuntu18.04でUFWファイアウォールを設定する方法を紹介します。 Ubuntuでは、デフォルトのファイアウォールはUFWで、 Uncomplicated FireWallの略です。 。これはUbuntu18.04のリリース以来存在しており、非常に複雑なiptables構成を簡素化するために構築されました。

運用を使用する場合、ファイアウォールは、システムのセキュリティに関する限り、考慮しなければならない最も重要な機能の1つです。ファイアウォールは、PCとインターネットの間に存在するシールドまたはバリアであり、システムへのリモートアクセスなどの不正なトラフィックをブロックし、インターネットを絶えず通過する悪意のあるコードから保護するのに役立ちます。ファイアウォールは、ハードウェアまたはソフトウェアのいずれかです。ハードウェアファイアウォールは、ネットワークに配置されるスタンドアロンのファイアウォールシステムであり、ネットワークとの間のトラフィックの流れを制御することで保護レイヤーを追加し、ユーザーが不要なサイトにアクセスするのをブロックします。ソフトウェアファイアウォールは、LinuxやWindowsなどのオペレーティングシステムに組み込まれており、システムを外部からの攻撃から保護するのに役立ちます。

また読む:

  • Ubuntu UFWファイアウォールでルールを有効、拒否、許可、削除する方法

UFWのインストール

デフォルトでは、Ubuntu18.04にはufwがインストールされています。ただし、以前のシステムでは、以下のコマンドを実行する必要があります

apt-get install ufw

ufwが実行されているかどうかを確認するにはrun

systemctl status ufw

実行中の場合は、以下の出力が得られるはずです

● ufw.service - Uncomplicated firewall
   Loaded: loaded (/lib/systemd/system/ufw.service; enabled; vendor preset: enab
   Active: active (exited) since Tue 2018-04-10 22:03:30 UTC; 4min 1s ago
  Process: 376 ExecStart=/lib/ufw/ufw-init start quiet (code=exited, status=0/SU
 Main PID: 376 (code=exited, status=0/SUCCESS)
    Tasks: 0
   Memory: 0B
      CPU: 0
   CGroup: /system.slice/ufw.service

Apr 10 22:03:30 ip-172-31-41-251 systemd[1]: Started Uncomplicated firewall.
Warning: Journal has been rotated since unit was started. Log output is incomple

アクティブか非アクティブかを確認するには実行

ufw status

非アクティブな場合は、以下の出力が表示されます

Status: inactive

デフォルトのルールセットでUFWをオンにするには、実行します

 ufw enable

ファイアウォールの実行を無効にするには

ufw disable

デフォルトのufwルールの設定

すべての送信プロトコルを許可するデフォルトのルールを設定するには、rootとしてログインして実行します

ufw default allow outgoing

出力

Default outgoing policy changed to 'allow'
(be sure to update your rules accordingly)

すべての着信接続を拒否するには、

を実行します
ufw default deny incoming

出力

Default outgoing policy changed to 'deny'
(be sure to update your rules accordingly)

上記のコマンドは、すべての発信接続を許可し、すべての着信接続を拒否またはブロックします。
この時点で、ファイアウォールを有効にすることをお勧めしますが、有効にする前に、まずsshを許可してください。これにより、以前にすべての着信接続の拒否を指定したため、サーバーへの切断が防止されます。

sshを許可するには、実行します

ufw allow 22/tcp

送信

Skipping adding existing rule
Skipping adding existing rule (v6)

sshアクセスはサービス名でも許可できます

ufw allow ssh

ルールの実行を削除する場合

ufw delete allow 22/ssh

名前でサービスを拒否するにはrun

ufw deny service-name

たとえば

ufw deny ssh

システムで許可または拒否できるすべてのサービスを確認するには、/etc/servicesを確認してください。 ファイル。

cat /etc/services | less

サンプル出力

ftp-data        20/tcp
ftp             21/tcp
fsp             21/udp          fspd
ssh             22/tcp                          # SSH Remote Login Protocol
ssh             22/udp
telnet          23/tcp
smtp            25/tcp          mail
time            37/tcp          timserver
time            37/udp          timserver
rlp             39/udp          resource        # resource location
nameserver      42/tcp          name            # IEN 116
whois           43/tcp          nicname
tacacs          49/tcp                          # Login Host Protocol (TACACS)
tacacs          49/udp
re-mail-ck      50/tcp                          # Remote Mail Checking Protocol
re-mail-ck      50/udp
domain          53/tcp                          # Domain Name Server
domain          53/udp

ufwファイアウォールを開始しています

ファイアウォールをアクティブにするには、rootとしてログインし、次のコマンドを実行します。

 ufw enable

次の警告が表示される場合があります

Command may disrupt existing ssh connections. Proceed with operation (y|n)? y

[はい]を選択すると、以下の出力が表示されます

Firewall is active and enabled on system startup

これでファイアウォールがアクティブになり、起動するたびにファイアウォールが起動します。ファイアウォールルールをもう一度確認できます:

ufw status

出力には、ファイアウォールのステータスと許可されているサービス/ポートが表示されます

出力

ufw status active
Status: active

To                         Action      From
--                         ------      ----
22/tcp                     ALLOW       Anywhere
22                         ALLOW       Anywhere
22/tcp (v6)                ALLOW       Anywhere (v6)
22 (v6)                    ALLOW       Anywhere (v6)

ufwでの接続の許可

ufwのポート/範囲、アプリケーション名、IPアドレス/サブネットでの着信接続を簡単に許可できます。
以下の例を確認してください。

a)名前またはポート番号/範囲によるアプリケーションの許可

ufw allow service-name

または

ufw allow port/tcp

 ufw allow ssh or  ufw allow 22/tcp
 ufw allow ftp or ufw allow 21/tcp

sudo ufw allow 1500:2000 / tcp

b)IPアドレス/サブネットを許可する

以下のコマンドは、特定のIPまたはサブネットからの接続を許可し、特定のポート番号を使用することもできます。
特定のIPアドレスからの接続を許可するには

ufw allow from 10.200.20.45

特定のポートへの接続を許可するIPを指定するには実行

ufw allow from 10.200.20.45 to any port 22

上記では、IPアドレス10.200.20.45はssh経由でのみ接続できます

IPの特定のサブネットがシステムに接続できるようにするには、ネットマスクを指定するためにCIDR表記を使用します

ufw allow from 192.168.1.0/24

上記により、192.168.1から192.168.1.254までのIPがシステムに接続できるようになります
サブネットの宛先ポートを指定することもできます

ufw allow from 192.168.1.0/24 to any port 22

これは、192.168.1から192.168.1.254までのIPがsshであるポート22を介してシステムに接続できることを意味します。

c)インターフェース名で許可

インターフェイス名を介した接続を許可する必要がある場合は、可能です

ufw allow in on eth0 to any port 80

ufwで接続を拒否する方法

デフォルトでは、ufwはすべての着信接続を拒否するように設定されています。

a)IPアドレス/サブネット

特定のIPアドレスへのアクセスをブロックする場合は、次のコマンドでブロックできます。

ufw deny from 192.168.1.15

これにより、IPアドレス192.168.1.15のホストからのすべての着信接続がブロックされます

次に、サブネット全体をブロックしましょう:

ufw deny from 150.165.125.0/24

これにより、このサブネットからのすべての接続がブロックされます。

b)ポートとアプリケーションを拒否する

ポートまたはサービスを拒否するには

ufw deny 80/tcp

または

ufw deny http

sudo ufw deny 1500:2000 /tcp*これによりポート範囲が拒否されます*

ルールの削除と追跡

多くのルールを追加する場合、それらの番号を表示することで、それらをより適切に追跡できます。次のコマンドで数字を取得できます:

ufw status numbered

出力

ufw status numbered
Status: active

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

ルール番号2を削除するとします。これを行うには、次のコマンドを実行します。

 ufw delete 2

注:

ファイアウォールの2番目のルールを削除すると、ルール3が新しいルール2になります。したがって、現在のルール3を削除する場合は、番号2を使用して削除します。

 ufw delete allow http

ルールのリセット

現在のルールに不満があり、最初からやり直したい場合は、を実行してやり直すことができます

ufw reset

ロギングとリロード

ロギングを有効にするには、次のコマンドを使用します:

 ufw logging on

何らかの理由でロギングを無効にしたい場合(非推奨)、次のコマンドを使用できます:

sudoufwログオフ

ログはデフォルトで/var/log/ufw.logにあります それらをリアルタイムで表示するには、次のようにtail-fを使用します。

tail -f /var/log/ufw.log /pre>

You will see all actions of firewall in that file. If you need to reload firewall for some reason, because you changed some config files manually, use following command.
 ufw reload

最近追加されたルールを確認したい場合

 ufw show added

UFW設定ファイル

ほとんどのシナリオでは、ターミナルコマンドを使用できますが、場合によっては、構成ファイルを直接編集する必要があります。 ufwには、複数の構成ファイルがあります。つまり、次のとおりです。

/etc/ufw/before.rules
/etc/ufw/before6.rules

これらの2つのファイルには、ufwコマンドで追加したすべてのルールの前に評価されるルールが含まれています。したがって、最初に何らかのルールを適用する場合は、そこに適用する必要があります。最初のファイルはipv4用で、2番目のファイルはv6用です

/etc/ufw/after.rules
/etc/ufw/after6.rules

これらはufwコマンドルールの後に評価されます。いくつかのルールをオーバーライドして、何があってもそれを適用したい場合に使用すると便利です。繰り返しになりますが、現在使用されているIPプロトコルの2つのバージョン用の2つのファイル。

/etc/default/ufw

ここに、ufwが使用するカーネルモジュールとその他の一般的な設定があります。この構成ファイルはrootとしてのみ編集でき、任意のテキストエディタを使用できます。

重複するルールを追加しないでください
次に、重複するルールに対するメカニズムを観察しましょう。最初にポート101を開きます

 sudo ufw allow 100

上記のようなプロトコルなしのコマンドは、UDPポートとTCPポートの両方を開くことに注意してください。それでは、同じコマンドをもう一度実行して、何が起こるかを見てみましょう

 ufw allow 100

出力

Skipping adding existing rule
Skipping adding existing rule (v6)

重複するルールを追加することはできません。それは良いことですが、この一連のコマンドによって、重複するルールを追加できる可能性があります。

 ufw allow 101/udp
 ufw allow 101/tcp

ポート101でTCPとUDPの両方を許可した後でも、すべてのプロトコルに開いているポート101を追加できます。これは、ポート101がプロトコルごとに1回、すべてのプロトコルに1回ずつ、合計2回開かれるため重複するルールです。

ufw allow 101

これはエラーの余地を残し、一般的には良い習慣ではありません。ポート101のデフォルトに戻したい場合は、ufwdeleteコマンドで3つのコマンドすべてを元に戻す必要があります。

一部のポートを閉じるには、同じコマンドを実行します。代わりに、allow、denyと入力します。

この記事では、トラフィックを許可または制限するために使用される単純なファイアウォールであるUFWの使用法について説明しました。これは、システムへのトラフィックを規制するための非常に強力なファイアウォールです。システムでコマンドを試してみてください。


Ubuntu
  1. Ubuntu16.04でHAProxyをセットアップする方法

  2. Ubuntu\DebianでUFWを使用してファイアウォールを設定する方法

  3. Ubuntu16.04でUFWを使用してファイアウォールを設定する方法

  1. Ubuntu18.04でUFWファイアウォールを有効/無効にする方法

  2. Ubuntu18.04でUFWを使用してファイアウォールを構成する方法

  3. Ubuntu18.04でUFWファイアウォールを設定する方法

  1. Ubuntu18.04でUFWを使用してファイアウォールを設定する方法

  2. Ubuntu18.04でファイアウォールを無効にする方法

  3. Ubuntu20.04でUFWを使用してファイアウォールを設定する方法