2014年9月5日金曜日

UnrealIRCdでユーザー名によるban

IRCチラ裏シリーズ第5弾ぐらい。

ChanServでアクセス登録済かつNickServで認証済のニックのみがチャンネルへの参加を許可されるようにするだけでは、そもそもサーバにまるで知らん他人が入ってきて勝手にチャンネル作ったりすることを防げません。

僕は了見が狭いので、自分のサーバのリソースを知らん他人に食われたくありません。
まるで、IRCが夢見た「世界は友達」的な世界観をことごとく否定したいかのようです。

もちろんFW等でLAN内オンリーとすれば根本解決なんでしょう。

が、自分が外から入ったり、将来お客さんとかの参加を考えて、LAN外からのアクセスは残しておきたいところです。
そんな、きわめてセルフィッシュな僕です。

ですので、知らん他人がIRCサーバにアクセスしてもすぐに切断されるように設定しました。
性格悪いですね!

以下その方法です:

UnrealIRCdの.confで

ban user {
mask *@*;
    reason "Unknown user";
};
except ban {
mask *miuchi@*;
};

とした。
LimeChatの「ユーザー名」欄を全社員「miuchi」とする。

そうしていない他人がサーバにアクセスしようとすると

22:05 *Error(465) *** You are not welcome on this server (Unknown user) Email admin@miuchi.net for more information.
22:05 *ERROR Closing Link: hirota[192.168.1.3] (You are banned)

と表示されて切断される。

社員外の参加を認める段階になったら、

except ban {
mask *okyaku@*;
};

などを増やす。

要は、IRCのユーザー名をIRCサーバパスワード的に運用しようということです。

ですので下線部はもちろん実際とは変えてあります。

社員ごとに異なるユーザー名を与えてもちろん構わないとおもいます。そのほうが、辞める社員などのことを考えたときに、よりセキュリティは高まると思われます。この場合、ニックが世間的にいうアカウント名に相当する役回りとなり、ユーザー名が世間的にいうパスワードに相当する役回りとなります。試してませんが、その場合、except banを社員の数だけ作ることになる手間が生じるでしょう。

0 件のコメント:

コメントを投稿