pf は、ブロックするポートを 1 つだけでなく、すべての入出力トラフィックもブロックします。

pf は、ブロックするポートを 1 つだけでなく、すべての入出力トラフィックもブロックします。

pfを使用して着信ポートをブロックする必要があります。私は最初にpfに触れていて、ここで何が間違っているのかわかりません。

着信ポート22をブロックするための完全なルールファイルは次のとおりです。

set block-policy drop
pass in all keep state
pass out all keep state
block in proto tcp to port 22

pfを開始した後、sudo /sbin/pfctl -e -f /path/to/my/rule/fileすべてのネットワークトラフィックがブロックされました。 Webページをロードしようとしていますが、sudo /sbin/pfctl -dpfを無効にするまでロードされません。

block in proto tcp to port 22ルールリストから4行目()を削除すると、何もブロックされません。それでは、着信TCPポート22の代わりにすべてをブロックする4行で、私が間違っているのでしょうか?すべての例は同様のことを行います。

重要な場合、私のオペレーティングシステムはOS X 10.8.5です。

ベストアンサー1

block all
pass in on fxp0 proto tcp from any to any port 22 flags S/SA
pass out on fxp0 proto tcp from any to any port 22 flags S/SA

fxp0オペレーティングシステムに応じてイーサネットに変更する必要があることを検討してください。

上記とは対照的に:

pass in on fxp0 proto tcp from any to any port < 22 flags S/SA
pass out on fxp0 proto tcp from any to any port < 22 flags S/SA
pass in on fxp0 proto tcp from any to any port > 22  flags S/SA
pass out on fxp0 proto tcp from any to any port > 22 flags S/SA


block in on fxp0 proto tcp from any to any port 22 
block out on fxp0 proto tcp from any to any port 22 

おすすめ記事