今回はUFWの設定により、OpenVPN接続している端末において、OpenVPNサーバを経由した通信のみ許可する方法について書いていきます。つまり、VPNがリンクダウンした時に、通信が外へ漏れないようにする方法です。早速設定に写っていきます。
設定方法
まず、UFWを有効化する前に必ずSSH接続を許可するようにします。この設定をしないと、外部から接続不能になってしまいます。
$ sudo ufw allow in on enp3s0 from 192.168.1.0/24 port 22 proto tcp
$ sudo ufw allow out on enp3s0 to 192.168.1.0/24 port 22 proto tcp
ローカルネットワークのサブネットは各環境に合わせて適宜修正してください。
次にデフォルトポリシーをIncomingとOutgoing共に禁止するように変更します。
$ sudo ufw default deny incoming
$ sudo ufw default deny outgoing
そしてOpenVPNインターフェースにおける全ての通信を許可します。
$ sudo ufw allow in on tun0
$ sudo ufw allow out on tun0
最後に物理インターフェースにおけるOpenVPN通信のみを許可します。
$ sudo ufw allow out on enp3s0 to any port 1194
$ sudo ufw allow in on enp3s0 from any port 1194
これで設定が一通り終わりました。あとはUFWを有効化して完了です。
$ sudo ufw enable
設定を確認してみます。
$ sudo ufw status verbose
適切に設定されていることを確認できたら成功です。
まとめ
このようにUFWをうまく使いこなすことで、安全な通信を実現できます。セキュアなサーバを構築するのに役立つと幸いです。今回は以上です。