ufwインストール・ルール追加スクリプト

ufwインストールとルールを追加するスクリプトを作成しました。
環境に合わせた修正箇所 を修正して使用してください。

#!/bin/bash

### ufw インストール・ルール定義スクリプトver1.0 ###

### ohllangeapplication 令和4年8月20日作成

### 動作確認 ###
# lsb_release -a
#No LSB modules are available.
#Distributor ID:	Ubuntu
#Description:	Ubuntu 22.04.1 LTS
#Release:	22.04
#Codename:	jammy

### 環境に合わせた修正箇所ここから ###
# 接続許可するサービス名・ipv4範囲・ipv6範囲・ポート番号
declare -a port_nameArr=("ssh" "postgresql" "RabbitMQ")
declare -a ip4_rangeArr=("192.168.0.0/24" "192.168.0.12" "192.168.0.0/24")
declare -a ip6_rangeArr=("fe80::/10" "fe80::/10" "fe80::/10")
declare -a portArr=("22" "5432" "15672")
### 環境に合わせた修正箇所ここまで ###

sudo ufw version &> /dev/null
if [ $? -ne 0 ] ; then
        echo "ufw インストールします"
        sudo apt -y install ufw
fi

# ufw 有効化
echo "y" | sudo ufw enable

# 全て接続拒否
sudo ufw default DENY

# ufw ルール定義
for i in "${!port_nameArr[@]}"; do
	echo "---------"
	echo $i":""${port_nameArr[$i]} ${ip4_rangeArr[$i]} {portArr[$i]}"
	# ipv4 ルール定義
	sudo ufw allow from ${ip4_rangeArr[$i]} to any port ${portArr[$i]}
	# ipv6 ルール定義
        sudo ufw allow from ${ip6_rangeArr[$i]} to any port ${portArr[$i]}
done

# ufw 定義ルール一覧
sudo ufw status numbered

# 参考にさせて頂いたURL
# https://and-engineer.com/articles/YRsLrhAAACRz7nVV#heading3-8
タイトルとURLをコピーしました