#author("2023-08-28T17:30:50+09:00","default:kuji","kuji")
CONTENTS
#contents
----
Lastmodified &lastmod;
----
*ipfw [#q1e3d21e]
[[ipfw でフィルタリング:https://www.kkaneko.jp/tools/freebsd/ipfw_rule.html]]

[[FreeBSD 12.1で ファイアウォール ( ipfw )の設定:https://blog.t-mitarai.com/infra/freebsd/security/ipfw/]]

[[ipfwでファイアーウォールを設定:https://phoenixknight.jp/set-firewall-with-ipfw/]]

[[FreeBSD: ipfwを使ってみよう:https://www.zabutone.com/freebsd-ipfw/]]

● [[FreeBSDでファイアウォール(ipfw):https://server-setting.info/freebsd/freebsd_ipfw.html]]

[[sshd へのブルートフォース攻撃 DoS攻撃 SMTP:https://blog.masaoka.jp/2021/05/16/sshd-%E3%81%B8%E3%81%AE%E3%83%96%E3%83%AB%E3%83%BC%E3%83%88%E3%83%95%E3%82%A9%E3%83%BC%E3%82%B9%E6%94%BB%E6%92%83-dos%E6%94%BB%E6%92%83-smtp/]]

[[FreeBSDでipfwを学ぶ。keep-stateって何ができるか、どう使うか知っていますか?:https://syotarow.hatenablog.com/entry/2020/01/06/215106]]

**/etc/rc.conf  で  ipfw を有効にする [#y9842986]

/etc/rc.conf に、以下の行を追加する。em0 の部分は、適切な device名 に変更す ること(ifconfig -a で確認できる)。
 firewall_enable="YES"
 firewall_logdeny="YES"
 firewall_script="/usr/local/etc/ipfw.rules"
 firewall_interface="em0"
 firewall_type="workstation"

 sudo sysrc firewall_enable="YES" && sudo sysrc firewall_logdeny="YES" && sudo sysrc firewall_type="workstation"
 echo "net.inet.ip.fw.verbose_limit=5" >> /etc/sysctl.conf
 sudo sysrc firewall_script="/usr/local/etc/ipfw.rules"

**Well Known Port [#va8dc07e]
-20,21 ・・・ ftp, ftp-data # ftp 要求を受け付けたいか
-22 ・・・ ssh
-25 ・・・ sendmail
-42,53 ・・・ DNS (UDP)
-123 ・・・ NTP (UDP)
-80, 3128, 8000, 8001, 8080 ・・・ WWW
-110 ・・・ pop3
-143 ・・・ imap
-280 ・・・ http-mgmt
-443 ・・・ https
-515 ・・・ lpd (プリンタ)
-1755 ・・・ ストリーミング
-5999 ・・・ cvsup

***ipfw 設定ファイルの例 [#k8150331]
【参考サイト】[[FreeBSDでファイアウォール(ipfw):https://server-setting.info/freebsd/freebsd_ipfw.html]]~

/usr/local/etc/ipfw.rules
 #! /bin/sh
 #
  
 IPF="ipfw -q add"
 ipfw -q -f flush
  
 #loopback
 $IPF 10 allow all from any to any via lo0
 $IPF 20 deny all from any to 127.0.0.0/8
 $IPF 30 deny all from 127.0.0.0/8 to any
 $IPF 40 deny tcp from any to any frag
  
 # statefull
 $IPF 50 check-state
 $IPF 60 allow tcp from any to any established
 $IPF 70 allow all from any to any out keep-state
 $IPF 80 allow icmp from any to any
  
 # open port ftp (20,21), ssh (22), mail (25)
 # http (80), dns (53) , ntp(123) , https(443) mail-over(587) imaps(993 or 995) etc
 $IPF 90 allow tcp from any to any 20 in
 $IPF 100 allow tcp from any to any 20 out
 $IPF 110 allow tcp from any to any 21 in
 $IPF 120 allow tcp from any to any 21 out
 $IPF 130 allow tcp from any to any 22 in
 $IPF 140 allow tcp from any to any 22 out
 $IPF 150 allow tcp from any to any 25 in
 $IPF 160 allow tcp from any to any 25 out
 $IPF 170 allow udp from any to any 53 in
 $IPF 175 allow tcp from any to any 53 in
 $IPF 180 allow udp from any to any 53 out
 $IPF 185 allow tcp from any to any 53 out
 $IPF 200 allow tcp from any to any 80 in
 $IPF 210 allow tcp from any to any 80 out
 $IPF 220 allow tcp from any to any 123 in
 $IPF 230 allow tcp from any to any 123 out
 $IPF 240 allow tcp from any to any 443 in
 $IPF 250 allow tcp from any to any 443 out
 $IPF 260 allow tcp from any to any 587 in
 $IPF 270 allow tcp from any to any 587 out
 $IPF 280 allow tcp from any to any 993 in
 $IPF 290 allow tcp from any to any 993 out
 $IPF 300 allow tcp from any to any 995 in
 $IPF 310 allow tcp from any to any 995 out
  
 # deny and log everything
 $IPF 500 deny log all from any to any

**設定内容の確認 [#o96ee8d4]
ipfw の設定情報(ルールリスト)は、ipfw show で確認できる.

    # ipfw show

**ipfw ルールの動作確認 [#k0b75c61]
まずは,実在するマシンに telnet してみる.多分 接続が拒否されると思いますが、それはそれで良いのです.つまり, telnet のパケットが外部に出ているということが分かります.

[image]

sysctl コマンドで、net.inet.ip.fw.verbose=1 を設定すると、 /var/log/secuty ファイルにログが記録されるようになる. (システムを再起動すると、net.inet.ip.fw.verbose の値は元に戻る)。

ipfw show
sysctl net.inet.ip.fw.verbose=1
cd /var/log
cat security

[[ログファイルのローテーションを設定する方法:https://docs.netscaler.com/ja-jp/citrix-adc/current-release/system/troubleshooting-citrix-adc/how-to-configure-log-file-rotation.html]]~
/var/log/security は、ログローテーションに設定済み
----
Total access &counter(total);:本日 &counter(today);:昨日 &counter(yesterday);
#counter([total|today|yesterday]);


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS