いままで、NextcloudやJitsi meetなどWebからアクセスするサーバーを構築してみたりしました。
構築して使えることも確認しましたが、セキュリティを意識してみようと思いました。
今回はufwでアクセス制御をしようと思います。
ufwのWikipedia↓
ufw
現在の状態
いまのufwの状態は以下の通りです。
1 2 3 4 5 6 7 |
$ sudo ufw status 状態: アクティブ To Action From -- ------ ---- 22,80,443,3389/tcp ALLOW Anywhere 22,80,443,3389/tcp (v6) ALLOW Anywhere (v6) |
LAN内からのアクセスしかできないようになっていればこの状態でもいいかもしれませんが、アクセスできるネットワークを限定してみます。
ネットワーク限定したあと
1 2 |
$ sudo ufw allow from 192.168.1.0/24 to any port 22,80,443,3389 proto tcp $ sudo ufw allow from 10.9.0.0/28 to any port 22,80,443,3389 proto tcp |
アクセスできるネットワークを限定できました。
1 2 3 4 5 6 7 |
$ sudo ufw status 状態: アクティブ To Action From -- ------ ---- 22,80,443,3389/tcp ALLOW 192.168.1.0/24 22,80,443,3389/tcp ALLOW 10.9.0.0/28 |
いったんLAN内(192.168.1.0/24)とVPNリモートアクセス時のIP帯(10.9.0.0/28)からのアクセスをOKとしてみました。
自分用メモですが、ネットワークとポートを一文で指定する場合の書式。
1 |
sudo ufw [ allow | deny ] from [ ネットワーク/プレフィックス ] to any port [ Port ] proto [ tcp | udp ] |
以下、ufwの書式を調べてみました。
ポートのオープン/クローズ
1 |
sudo ufw [ allow | deny ] <port> |
例:ssh(port 22)を有効にする
1 |
sudo ufw allow 22 |
プロトコル指定
1 |
sudo ufw [ allow | deny ] <port>/[ tcp | udp ] |
例:ssh(port 22)のtcpを有効にする
1 |
sudo ufw allow 22/tcp |
IPアドレス/ネットワーク指定する
1 2 3 4 5 |
# IPアドレス指定 sudo ufw [ allow | deny ] from <IPアドレス> to any port # ネットワーク指定 sudo ufw [ allow | deny ] from <NWアドレス/プレフィックス> to any port |
例:192.168.1.10からsshを有効にする
1 |
sudo ufw allow from 192.168.1.10 to any port 22 |
例:192.168.1.0/24からsshを有効にする
1 |
sudo ufw allow from 192.168.1.0/24 to any port 22 |
コメント