Minecraftのマルチプレイサーバーを運用するには、ポートを解放しておく必要があります。ポートを開放していると、ポートスキャンをされたときにそのポートがバレます。Minecraftサーバはたいてい25565番ポートを使っているので、それがバレると全世界から愉快なマインクラフターたちが入ってくるようになります。
弊サークルのサーバではホワイトリストを運用していないので、ポートスキャン対策の必要性を感じました。
インストール
deb系の場合です。
sudo apt update
sudo apt install portsentry
設定
設定ファイルは/etc/portsentry/portsentry.conf
です。
portsentry.conf
# 解放しているポート番号の最大値を指定 Java版はTCP,統合版はUDP
ADVANCED_PORTS_TCP="25565"
ADVANCED_PORTS_UDP="19132"
# 攻撃者に対してのDNSルックアップを有効化
RESOLVE_HOST = "1"
# スキャンをブロック
BLOCK_TCP="1"
BLOCK_UDP="1"
# 攻撃してきたIPアドレスをブロック
KILL_HOSTS_DENY="ALL: $TARGET$ : DENY"
/etc/portsentry/portsentry.ignore.static
に書いたIPアドレスはブロック対象から除外されます。
portsentry.ignore.static
127.0.0.1/32
0.0.0.0
設定後、PortSentryの再起動を行います。
sudo systemctl restart portsentry
試しにポートスキャンしてみるとブロックされることが確認できると思いますが、この設定だとその後接続できなくなってしまうので/etc/portsentry/portsentry.ignore.static
に攻撃を試すホストのIPアドレスを書いてから試すなどしてください。