簡単ファイアウォール設定 ufw

ufwコマンドを使ったファイアウォール設定


カテゴリ: Memo  2020-06-26 18:38:42

# ファイアウォール サーバを外に公開するとき、最初に設定しておきたい機能の一つが、ファイアウォール。 IPアドレスやプロトコル、ポート番号をもとに、出入りするパケットをフィルタリングします。 Linuxでファイアウォールを設定するための基本的なコマンドとして、`iptables`があります。 しかし、この設定書式はやや複雑で、覚えるのが大変です。 そこで、ここでは、簡単にファイアウォールを設定できる`ufw`コマンドを紹介します。 `ufw`コマンドは、内部で`iptables`を実行しています。 # ufwのインストール debian系では、以下のコマンドでインストールします。 ``` sudo apt install ufw ``` これで、インストール完了です。 ``` sudo ufw status ``` これで、`Status: inactive`と表示されればインストールは完了です。 この時点ではまだファイアウォールは機能していません。 # ポート開放の設定 SSHから操作している場合、ファイアウォールの設定を誤ると接続できなくなります。 ファイアウォールの設定が正しく出来ていることを確認するまで、現在開いているシェルは閉じないでください。 まず、すべての通信を遮断します(設定するだけで、すぐに有効にはなりません)。 ``` sudo ufw default deny ``` 次に、SSHポートを開放します。サービス名で指定する場合は、以下の通りです。 ``` sudo ufw allow ssh ``` ポート番号で指定する場合は、以下の通りです。Well-known以外のポート番号を使用している場合は、以下で直接指定します。 ``` sudo ufw allow 22 ``` # 有効化/無効化 以下のコマンドで、有効にします。再起動時にも自動で有効になります。 ``` sudo ufw enable ``` SSHから接続している場合、ファイアウォールを有効にしたら別のターミナルを開いてSSH接続できるか確認してください。 有効化しているときにファイアウォールの設定を変更すると、即時で適用されます。 無効化する場合は、以下のコマンドです。 ``` sudo ufw disable ``` # 設定の削除 ファイアウォールを有効にしている時、以下のコマンドで設定を確認できます。 設定を確認する場合、以下のコマンドが便利です。 ``` sudo ufw status numbered ``` このとき、以下のように表示されます。 ``` Status: active To Action From -- ------ ---- [ 1] 80/tcp ALLOW IN Anywhere [ 2] 443/tcp ALLOW IN Anywhere ``` 設定を削除する場合、**[XX]**の番号(XX)を確認して、以下のコマンドで設定を削除できます。 ``` sudo ufw delete XX ``` # メモ 恐らく、mDNSの影響で、以下のようなログが大量に記録されていた。 ``` ... [UFW BLOCK] IN=eth0 OUT= MAC=... SRC=192.168.XX.YY DST=224.0.0.XXX LEN=32 ... `` 以下のコマンドで、パケットを許可。 ``` sudo ufw allow in from 192.168.XX.0/24 to 224.0.0.0/8 ```