hosts.allow 検証
/usr/sbin/tcpdmatch
http://www.mintia.net/solaris/install/tcp_wrapper.html
10./usr/sbin/tcpdmatchで設定ルールの検証
サーバプログラム名とIPアドレスを引数で渡してやり、
それが設定ファイルによりどのように扱われるかをチェックしてあげる。
実行例を以下に載せます。# /usr/sbin/tcpdmatch in.telnetd 172.21.172.23
client: address 172.21.172.23
server: process in.telnetd
matched: /etc/hosts.allow line 2
access: granted
hosts.allow ファイルのインクルード
国別IP
ftp://ftp.apnic.net/pub/apnic/stats/apnic/delegated-apnic-latest
の利用
サブネットマスク(CIDR)に変換
curl 'ftp://ftp.apnic.net/pub/apnic/stats/apnic/delegated-apnic-latest' | awk 'BEGIN { FS = "|"; OFS= "/"; } { if($3 == "ipv4" && $2 == "CN"){ print $4, 32 - log($5) / log(2) } }'
サブネットマスク(10進数)に変換
こんなリストを発見しました。
http://ftp.apnic.net/stats/apnic/delegated-apnic-latest
http://ftp.apnic.net/stats/lacnic/delegated-lacnic-latestこれを元にまとめて hosts.allow で deny するスクリプトを作成。
http://www.magisystem.net:8080/misc/others/ip_filter.pl
なかなかいいかも。
# 例の変わったPTRレコードの持ち主は、私もipfilterで弾いています。(笑)
# logを見る限り、まだちょくちょく来てるみたいですね。
http://www.cetus-net.org/sqlbbs.php?startid=1097
GCPの範囲
$ curl -O https://www.gstatic.com/ipranges/cloud.json $ cat cloud.json | jq --raw-output --unbuffered '.prefixes[] | select( .ipv4Prefix != null ) .ipv4Prefix ' > gcp_ipv4