メニュー 閉じる

LinuxのファイアウォールUFW設定方法まとめ

ポートを開放してもアクセスできなかったりしたときは、
ファイアウォールがそれを阻害していることが多いです。

今回はLinuxで使われているUFWの設定について勉強します。

 

UFWの現在の動作状況を把握するコマンド

sudo ufw status

UFWがActiveのとき設定がされていればこんな感じの表示がされます。

Status: active

To Action From
-- ------ ----
80,443/tcp ALLOW 10.10.10.27
1234 ALLOW Anywhere
1234 (v6) ALLOW Anywhere (v6)

初期設定ではすべての通信が遮断されていると思いますが、
上のようにポート番号やALLOWの文字が表示された場合は、
なんらかの設定を行ったことによりUFWで許可されているポートが出てきます。

通常は「ホワイトリスト方式」と呼ばれる、許可されたポートのみを通信可能とすることが一般的です。

上記の表示も、80,443のポートは10.10.10.27からのみ許可されています。
1234についてはすべてのアクセスが許可されています。
ハッカー的視点に立てば1234ポートは攻撃しやすいと考えます。

 

UFWを使ってポートを開く設定

UFWは簡単なコードでファイアウォール機能を使うことができます。
SSHポートを開きたいときは22番を使うことが一般的です。

sudo ufw allow 22

これにより22番ポートを開放することができました。

Status: active 
To Action From 
-- ------ ---- 
80,443/tcp ALLOW 10.10.10.27 
1234 ALLOW Anywhere 
1234 (v6) ALLOW Anywhere (v6)
22 ALLOW Anywhere
22 (v6) ALLOW Anywhere

 

特定のIPからのアクセスのみ許可する場合のUFW設定

THBに挑戦しているみなさんなら何度も見ているこの書き方です。

sudo ufw allow from 10.10.10.28 proto tcp to any port 1234

sudo ufw allow from IP + TCP or UDP + any port ポート番号となります。
基本的にはTCPを使うことが多いと考えて良いでしょう。

このように特定のIPからのアクセスのみ許可したほうが当然セキュリティが上がります。

先程公開したSSH用の22番ポートですが不正アクセス対策として、
ポート番号を変更するのは一つの策として有効です。

しかし、もっとやるなら特定のIPからのみ許可にしておけば良いのです。
普段は特定の場所から仕事をしたり、固定IPから遠隔で操作する場合は、
IPを指定してあげたほうがより強いセキュリティ効果が望めます。

 

【参考サイト】

How To Enable/Disable UFW Firewall On Ubuntu 18.04
https://phoenixnap.com/kb/how-to-enable-disable-firewall-ubuntu

 

こちらの記事もわかりやすいです。