RangeBans で 特定のIPアドレス範囲をBAN
今回は、Minecraft のサーバーを管理する上でも特に重要な、「荒らし対策」について書かせていただきます。「荒らし対策」といっても様々なアプローチがありますが、ここでは海外のプレーヤーによる荒らしへの対策を行います。
先にお断りしますが実際に情報技術に関する豊富な知識や経験のもとでサーバーを運営されている方々にとってはこの記事の内容はとてもレベルの低いものだと思います。わたしのように、よくわからないまま手探りでMinecraftサーバーをいじっているような人へ向けて書かかれておりますのでご了承ください。
大事なサーバーを荒らされて寂しい思いをする方が、少しでも減ればと願っています。
おまえちゃんサーバーを立ち上げて2ヶ月、便利なプラグインと頼もしい鯖民さまのおかげで、これといったトラブルもなく、サーバーは平和で穏やかな空気がとても心地よい場所となりました^^
しかし、おそらくはどのサーバーでもそうであるように、ここにも「荒らし」はやってきます。
まあ、ものを壊されたらロールバックコマンドを1回打ち込んで元通りにすればいいですね。
動物が殺害されてしまっても、管理者権限なら殺すよりも圧倒的に簡単に元に戻せますよね。
加害プレイヤーのIDは公開BANリストに載せますので、
念のためにログを控えておけばさらに安心です。
ところで、荒らしのログインしてくるIPアドレスの割当先国を調べることができますね。
じつは最近、日本国外のあるひとつの国からログインしてくる方のほぼ全員が荒らしという状況に少し辟易気味でした。数が多く次々来るので面倒なのです。
外部のBANリストにはないIDでログインしてくるケースが多く、その国からの接続をまるごと拒否する必要があります。
さっそくWebサイトに.htaccess を導入してあちらの方が入ってこれないようにし、外部では一切サーバーのIPを公開しないことにましたが、それだけでは不安です。
万が一IPを知られてしまってもログインされないようにしたいですね。
しかしサーバーなんて毛ほども知識がないので、どうやってあちらからのパケットを振り分ければいいのか調べ切れませんでした。
ルーターにはまさにその機能がついていますが、大量のデータを一度に登録する方法がわからず断念しました。
IPの割り当てはできるだけ最新のデータベースを参照したほうがいいようで、実際web上のあちこちで見ることのできた「○国のIPアドレス」では、古いものだと「おまえちゃん」内でBANした○国アカウントの半分もカバーできません。
好きなときにまとめて一度に登録できるようなシステムがほしいところです。
そこでみつけたのがこのプラグインです
RangeBans
IPアドレスの範囲を指定してBANできます。
テキストファイルを編集するだけで大量のデータを一度に登録できます。
使い方はリンク先にあるとおりです。
導入できたら試しに適当な数字をBANすれば、設定ファイルと同じフォルダにbans.txt が生成されますので、そのファイルに接続拒否したいIPをまとめて登録してしまいましょう。
データベースの入手・変換
わたしが一番困ったのは、このbans.txt に登録しなければならないIPアドレス範囲が数百行にも及ぶと言う点でした。
具体的には、生データはこんな風になっています。
apnic|KR|asn|2385|1|20020801|allocated
apnic|JP|asn|2497|32|20020405|allocated
apnic|NZ|asn|2537|1|20020801|allocated
apnic|JP|asn|2554|1|20020801|allocated
apnic|KR|asn|2563|1|20020801|allocated
apnic|NZ|asn|2569|2|20020801|allocated
apnic|IN|asn|2697|1|20020801|allocated
apnic|HK|asn|2706|1|20030514|allocated
apnic|JP|asn|2713|1|20020801|allocated
apnic|NZ|asn|2756|1|20020801|allocated
apnic|AU|asn|2764|1|20020801|allocated
apnic|HK|asn|2772|1|20100720|allocated
apnic|AU|asn|2823|1|20020801|allocated
apnic|JP|asn|2907|1|20020801|allocated
apnic|JP|asn|2915|1|20020801|allocated
・・・・・
アルファベットでKRとか書いてあるのは国をあらわします。
この中で必要な情報は「国」「個数」「開始位置」
自分のサーバーを荒らしにくる国のデータを取り出して、なおかつ、
110.45.0.0 - 110.45.255.255
110.46.0.0 - 110.47.255.255
110.68.0.0 - 110.71.255.255
110.76.64.0 - 110.76.127.255
110.76.140.0 - 110.76.143.255
110.92.20.0 - 110.92.23.255
(開始IPアドレス - 終了IPアドレス)
といった表記に直してRangeBans に登録しなければなりません。
ある1国だけで700行を超えるデータ数なので、手で直すわけにはいきませんね。
アドレスは10進数ではないので終了IPをさっさと計算することもままなりません。
またしばらくweb 上でさまよう事となったのですが、
Webサイトの .htaccess にすぐに登録できるような形式に変換されていてなおかつ新鮮なデータを配布されているすばらしいサイトがありました。
⇒Office Nami
リンク先の下のほうに「世界の国別 IPv4 アドレス割り当てリスト・・・」というリンクがありますので、そちらからダウンロードページへ移動してください。(くれぐれも、自己責任でお願いします)
そこで、「CIDR 表記版」のテキスト形式をダウンロードしましょう。
CIDR 表記版では生データがこのように変換されています。
110.45.0.0/16
110.46.0.0/15
110.68.0.0/14
110.76.64.0/18
110.76.140.0/22
110.92.20.0/22
(開始IPアドレス/CIDR値)
実際にはそれぞれのデータの前にKRなどと国を表す文字が入っています。
エクセル で並べ替えて、必要な国のデータだけを取り出しましょう。
この時点で、Webサイトでつかう .htaccess が作れます。
ですがこのままではまだRange Bans に登録できませんので、変換するエクセルワークシートを作りました。需要があるかは怪しいですが、アップロードしておきます
⇒CIDR2RangeBans.xls
入力列と出力列のみ表示されていますので、例に倣って入力列にデータを貼り付けてください。
ファイルサイズを小さくするために10行残して削除しましたので、必要に応じて関数の入ったセルをコピーして使います。
その際は、入力と出力の間に非表示セルがありますので、入出力両方のセルを選択してまとめてドラッグしてください。
長くなりましたがようやく、新鮮なデータを 開始IPアドレス - 終了IPアドレス の形でRangeBans にまとめて登録できる環境が整いました。
それ以来、いまのところあの国からのアクセスは見られませんが、しばらく様子を見ていきたいと思います^^
わたしと同じ問題でお困りのかたがいらっしゃいましたら、この機会にぜひRange Bans を導入してみてください!
よろしくお願いします!クリックのお願いです! (人∀・)
★ 人気ブログランキングに投票 ★ FC2ブログランキングに投票 ★
クリックすると (´∀`∩) アガル!!
レンタルサーバーの決定版!!FC2レンタルサーバー
■□━━ 急げ、ドメインは早い者勝ち! ━━□■お名前.com