2018/01/17

Recent entries from same category

  1. Go 言語のスライス挿入ベンチマーク
  2. Go 言語で変数のシャドウイングを避けたいなら shadow を使おう。
  3. Go 言語の struct の実体を引数で(なるべく)渡せない様にするテクニック
  4. Oracle Cloud Function でしりとりした。
  5. Microsoft Word を Markdown に変換するコマンド「docx2md」を作った。

仕事でサーバを運用していると某国からのアタックがそこそこ多いのだけど、出来れば早急にブロックしてしまいたかったので IP アドレスから whois を引いて CIDR 形式で表示出来るツールを作った。昔はこういうの Perl で書いた気がする。

GitHub - mattn/iputil
https://github.com/mattn/iputil

ライブラリとして作ったけど、コマンドも用意してあります。

$ go get github.com/mattn/iputil/cmd/iprange

実行結果のイメージはこんな感じ。

$ iprange [IPアドレス]
XXX.XXX.XXX.XXX/16
YYY.YY.YYY.YY/16
...

あとはこの結果を使って ufw (Universal FireWall) を使っているのであれば

$ iprange [ヤバいIPアドレス] | xargs -n 1 sudo ufw insert 1 deny from

とかすれば一発でアクセス元をブロック出来る。(はず)

みんなのGo言語[現場で使える実践テクニック] みんなのGo言語[現場で使える実践テクニック]
松木雅幸, mattn, 藤原俊一郎, 中島大一, 牧大輔, 鈴木健太
技術評論社 Kindle版 / ¥2,178 (2016年09月09日)
 
発送可能時間:今すぐダウンロードできます。

Posted at by | Edit


blog comments powered by Disqus