Skip to content

Setting up iauthd.pl

Matthew Beeching edited this page Dec 12, 2015 · 4 revisions

Requirements:

You need to install some perl dependencies for this to run.

Debian/ubuntu/mint:

apt-get install libpoe-perl libpoe-component-client-dns-perl libterm-readkey-perl libfile-slurp-perl libtime-duration-perl

fedora/redhat/centos:

yum install perl-POE perl-POE-Component-Client-DNS perl-TermReadKey perl-slurp perl-Time-Duration

freebsd:

ports dns/p5-POE-Component-Client-DNS devel/p5-Time-Duration devel/p5-File-Slurp devel/p5-Term-ReadKey

or via cpan:

cpan install Term::ReadKey POE::Component::Client::DNS File::Slurp Time::Duration

Installation

Simply copy nefarious2/tools/iauthd.pl somewhere. I suggest putting it in the same directory as your ircd.conf to make configuration easier: cp tools/iauthd.pl /home/yourircd/ircd/lib/

Configuration:

  • Config directives begin with #IAUTHD and are one per line
  • Because configuration begins with a #, it can piggy back on existing ircd.conf file. ircd will ignore it. Handy for those using linesync.
  • Syntax is: #IAUTHD <directive> <arguments>

Description of config directives:

POLICY:

see docs/readme.iauth section on Set Policy Options

DNSTIMEOUT:

seconds to time out for DNSBL lookups. Default is 5

DNSBL <key=value [key=value..]>

where keys are:

  • server - dnsbl server to look up, eg dnsbl.sorbs.net
  • bitmask - matches if response is true after being bitwise-and'ed with mask
  • index - matches if response is exactly index (comma separated values ok)
  • class - assigns the user to the named class
  • mark - marks the user with the given mark
  • block - all - blocks connection if matched anonymous - blocks connection unless LOC/SASL
  • whitelist- listed users wont be blocked by any rbl

DEBUG: - values greater than 0 turn iauth debugging on in the ircd

Example:

#IAUTH POLICY RTAWUwFr
#IAUTH CACHETIME 86400
#IAUTH BLOCKMSG Sorry! Your connection has been rejected because of your internet address's poor reputation.
#IAUTH DNSBL server=dnsbl.sorbs.net index=2,3,4,5,6,7,9 mark=sorbs block=anonymous
#IAUTH DNSBL server=dnsbl.dronebl.org index=2,3,5,6,7,8,9,10,13,14,15 mark=dronebl block=anonymous
#IAUTH DNSBL server=rbl.efnetrbl.org index=4 mark=tor
#IAUTH DNSBL server=rbl.efnetrbl.org index=1,2,3,5 mark=efnetrbl block=anonymous

ircd.conf:

IAuth {
    program = "/usr/bin/perl" "iauthd.pl" "-v" "-d" "-c" "ircd.conf";`
};

Debugging:

  • oper up first
  • set snomask: /quote mode yournick +s 262144