OpenBSD本家でpfを動かす その2(OpenBSD 6.6R、2019/11/10) [OpenBSD]
pfはログ確認方法がちょっと特殊であり、テキストログに吐き出されたものをcatやlessで見るといったよく形ではありません。
簡単に言うと、tcpdumpのバイナリキャプチャ形式で吐き出されるため、tcpdumpによって見やすいようにデコードします。取っ付きにくいように感じるかもしれませんが、tcpdumpのフィルタオプションがそのまま使えるので、慣れればむしろ便利だったりします。
インタフェースを監視してリアルタイムのログを表示させるには、
tcpdump -n -e -ttt -i pflog0
蓄積されたバイナリログを表示させるには、
tcpdump -n -e -ttt -r /var/log/pflog
といった形で確認可能です。
先日のpf.confをもうちょっとスマートな形に書き換えてみました。
簡単に言うと、tcpdumpのバイナリキャプチャ形式で吐き出されるため、tcpdumpによって見やすいようにデコードします。取っ付きにくいように感じるかもしれませんが、tcpdumpのフィルタオプションがそのまま使えるので、慣れればむしろ便利だったりします。
インタフェースを監視してリアルタイムのログを表示させるには、
tcpdump -n -e -ttt -i pflog0
蓄積されたバイナリログを表示させるには、
tcpdump -n -e -ttt -r /var/log/pflog
といった形で確認可能です。
先日のpf.confをもうちょっとスマートな形に書き換えてみました。
openbsd# cat /etc/pf.conf # $OpenBSD: pf.conf,v 1.55 2017/12/03 20:40:04 sthen Exp $ # # See pf.conf(5) and /etc/examples/pf.conf set skip on lo #block return # block stateless traffic #pass # establish keep-state # By default, do not permit remote connections to X11 block return in on ! lo0 proto tcp to port 6000:6010 # Port build user does not need network block return out log proto {tcp udp} user _pbuild # my rules set block-policy drop /* 許可するサービス、ブロックするサービスなどを事前に定義 */ tcp_pass = "{ smtp, submission, xxxx }" /* sshのポートをxxxxに変更 */ tcp_block_log = "{ telnet }" tcp_block = "{ domain, ntp, 445, 1433, mysql, rdp }" udp_pass = "{ }" udp_block = "{ domain, ntp, snmp, ldap, sip }" # scrub match in all scrub (no-df) block log all block return in log quick proto tcp to any port ssh /* もともとのsshポートは偽装応答。sshdの設定も変更 */ block in log quick proto tcp to any port $tcp_block_log /* 変数を利用して集約 */ block in quick proto tcp to any port $tcp_block /* 変数を利用して集約 */ block in quick proto udp to any port $udp_block /* 変数を利用して集約 */ block in quick inet6 all # blacklist /* ブラックリストはファイルで管理 */ table <my_blacklist> persist file "/etc/pf.blacklist" block in quick from <my_blacklist> # pass rules pass in log proto tcp to any port $tcp_pass modulate state pass in proto icmp all keep state pass out proto tcp all modulate state pass out proto udp all keep state pass out proto icmp all keep state
タグ:PF
コメント 0