Categories
通風報信

FreeBSD上的PF防火牆設定SSH連線過濾

我對FreeBSD也不是很熟,所以只隨手設定了SSH僅允許台灣IP連線而已。
雖然作法看起來很不俐落,不過達到目的就好了。

首先, 在/etc/rc.conf裡面加入

pf_enable="YES"
pf_rules="/etc/pf.conf"
pf_flags=""
pflog_enable="YES"
pflog_logfile="/var/log/pflog"
pflog_flags=""

然後複製/usr/share/examples/pf/pf.conf這個範例檔到/etc下面。
接著開始修改/etc/pf.conf。
#ext_if="ext0"這行取消註解,改成現用的對外網路卡裝置名稱。(忘了裝置名稱可以進rc.conf看一下)
接下來在#table persist這行底下加入
table <taiwan> persist file "/etc/allow_taiwan"
最後面加上

pass in all
pass out all
block in on $ext_if proto tcp from any to $ext_if port 22
pass in on $ext_if proto tcp from <taiwan> to $ext_if port 22 keep state

最後再參考這篇文章,將台灣的網段加入/etc/allow_taiwan檔案裡面。
然後重開機就生效了。

發表迴響