[Raspberry Pi] ufw で複数インターフェイス (物理 IF と仮想 IF ) に個別のファイアウォール設定をする

まえがき

ラズパイに ufw をインストールしてファイアウォールの設定を行う。このラズパイで SoftEther VPN クライアントを動かしており、仮想 LAN カード (本投稿では仮想 NIC とする) には固定グローバル IP アドレスを設定している。

仮想 NIC へのファイアウォールポリシーと、物理 NIC のファイアウォールポリシーを分け、柔軟に設定する。

ほとんどの内容は、Linux Lite で設定したときの投稿 と同じである。

「ufw をラズパイにインストールする作業内容」と 「ufw で IPv6 をオフ (対象外) にする設定内容」は本投稿からは割愛しているが、実施済みである。

ufw でやりたいことを箇条書きにする

  • 特定 IP から物理 NIC への ssh アクセスを許可する
  • ssh アクセスのレートリミットを設定する
  • 特定 IP から物理 NIC の tcp 7876 のアクセスを許可する
  • 特定 IP から物理 NIC の tcp 27876 のアクセスを許可する
  • 仮想 NIC への tcp 7874 のアクセスを許可する
  • 仮想 NIC への tcp 27874 のアクセスを許可する
  • 上記以外の通信を拒否する

設定コマンドを作る

sudo ufw allow in on eth0 from 10.1.0.2 to 172.16.1.3 port ssh
sudo ufw limit ssh
sudo ufw limit ssh comment 'Rate Limit for ssh server'
sudo ufw allow in on eth0 from 10.1.0.2 to 172.16.1.3 port 7876 proto tcp
sudo ufw allow in on eth0 from 10.1.0.2 to 172.16.1.3 port 27876 proto tcp
sudo ufw allow in on vpn_myipse_nic to ww.xx.yy.zz port 7874 proto tcp
sudo ufw allow in on vpn_myipse_nic to ww.xx.yy.zz port 27874 proto tcp

このようにテキストエディタなどに書いてからコピペで 1 行ずつコマンド投入していくのがオススメ。

コマンドを投入する

$ sudo ufw allow in on eth0 from 10.1.0.2 to 172.16.1.3 port ssh
Rules updated
$ sudo ufw limit ssh
Rules updated
$ sudo ufw limit ssh comment 'Rate Limit for ssh server'
Rules updated
$ sudo ufw allow in on eth0 from 10.1.0.2 to 172.16.1.3 port 7876 proto tcp
Rules updated
$ sudo ufw allow in on eth0 from 10.1.0.2 to 172.16.1.3 port 27876 proto tcp
Rules updated
$ sudo ufw allow in on vpn_myipse_nic to ww.xx.yy.zz port 7874 proto tcp
Rules updated
$ sudo ufw allow in on vpn_myipse_nic to ww.xx.yy.zz port 27874 proto tcp
Rules updated
$

ufw を起動する

$ sudo ufw status
Status: inactive
$ sudo ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup
$ sudo ufw status numbered
Status: active
     To     Action     From 
     --     ------     ----
[ 1] 172.16.1.3 22/tcp on eth0     ALLOW IN     10.1.0.2
[ 2] 22/tcp     LIMIT IN Anywhere          # Rate Limit for ssh server
[ 3] 172.16.1.3 7876/tcp on eth0     ALLOW IN     10.1.0.2
[ 4] 172.16.1.3 27876/tcp on eth0     ALLOW IN     10.1.0.2
[ 5] ww.xx.yy.zz 7874/tcp on vpn_myipse_nic     ALLOW IN     Anywhere
[ 6] ww.xx.yy.zz 27874/tcp on vpn_myipse_nic     ALLOW IN     Anywhere
$

ロギング設定

$ sudo ufw logging on
Logging enabled
$ sudo ufw logging medium
Logging enabled
$

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください