<title>OPSB Manual</title><linkrel="stylesheet"href="html.css"type="text/css"><metaname="generator"content="DocBook XSL Stylesheets V1.60.1"></head><bodybgcolor="white"text="black"link="#0000FF"vlink="#840084"alink="#0000FF"><divclass="article"lang="en"><divclass="titlepage"><div><div><h2class="title"><aname="d0e1"></a>OPSB Manual</h2></div></div><div></div><hr></div><divclass="toc"><dl><dt>1. <ahref="#d0e46">Prerequisites and Installation.</a></dt><dd><dl><dt>1.1. <ahref="#d0e78">Compiling and Installation</a></dt></dl></dd><dt>2. <ahref="#d0e125">Basic Configuration</a></dt><dd><dl><dt>2.1. <ahref="#d0e142">Exclusion Lists</a></dt><dt>2.2. <ahref="#d0e195">TARGET IP and TARGET PORT</a></dt><dt>2.3. <ahref="#d0e230">BanTime</a></dt></dl></dd><dt>3. <ahref="#d0e242">Detailed Configuration</a></dt><dd><dl><dt>3.1. <ahref="#d0e290">CACHETIME Setting</a></dt><dt>3.2. <ahref="#d0e299">DISABLESCAN Setting</a></dt><dt>3.3. <ahref="#d0e308">DOBAN Setting</a></dt><dt>3.4. <ahref="#d0e317">OPMDOMAIN Setting</a></dt><dt>3.5. <ahref="#d0e326">MAXBYTES Setting</a></dt><dt>3.6. <ahref="#d0e335">TIMEOUT</a></dt><dt>3.7. <ahref="#d0e344">OPENSTRING</a></dt><dt>3.8. <ahref="#d0e353">SPLITTIME</a></dt><dt>3.9. <ahref="#d0e362">SCANMSG Setting</a></dt><dt>3.10. <ahref="#d0e371">PORTS Setting</a></dt><dd><dl><dt>3.10.1. <ahref="#d0e376">Listing Ports/Protocols</a></dt><dt>3.10.2. <ahref="#d0e387">Adding Ports</a></dt><dt>3.10.3. <ahref="#d0e414">Deleting Ports</a></dt></dl></dd></dl></dd><dt>4. <ahref="#d0e425">Operational Commands</a></dt><dd><dl><dt>4.1. <ahref="#d0e450">LOOKUP Command</a></dt><dt>4.2. <ahref="#d0e473">INFO Command</a></dt><dt>4.3. <ahref="#d0e482">CHECK Command</a></dt><dt>4.4. <ahref="#d0e495">STATUS Command</a></dt></dl></dd></dl></div><p>Welcome to the Open Proxy Scanning Bot (OPSB) Manual. This document will aid you in setting up and running OPSB on your IRC network.</p><p>OPSB is a Proxy Scanning Service that scans connecting clients for Open Proxies. These Open Proxies are often used by malicious users and trojans to connect to your network and attack the network, users, or channels that you host. It bases its scanning engine on the BOPM proxy scanning library available at http://www.blitzed.org, but unlike the BOPM software, it has native support to scan all clients network wide, rather than via individual servers. This means that you only need one OPSB service running on your network to protect your entire IRC network.</p><p>Additionally, OPSB makes use of Open Proxy lists. These lists often contain IP addresses of verified Open Proxies, and OPSB can ban these users without even scanning. By default, OPSB uses the blitzed open proxy list (More details available at http://opm.blitzed.org)</p><p>OPSB is flexible in that it has many advanced configuration options available to IRC administrators, including the ability to easily modify the protocols and ports to scan of connecting users, as well as exclude certian users or servers from scanning. This allows you maxium flexibility without the overhead of running multiple copies of proxy scanning software. In addition, it has the ability to Queue up scans, so during periods of peak usage, OPSB will not consume all bandwidth or file descriptors, but still scan users in a timely manor.</p><p>Proxy Scanning is only one defence against Trojans and Malicious users, and can not detect all types of open Proxies. We therefore recomend that the IRC administrators run other software such as SecureServ, and familiarize themselves with the OperServ functionality found in most traditional IRC services packages.</p><p>By Default, OPSB scans the following protocols and ports (But this can be easily customized)</p><divclass="itemizedlist"><ultype="disc"><li><p>HTTP Proxies on Port 80, 3128, 8000, 8080</p></li><li><p>HTTP Post Proxies on Port 80, 3128, 8000, 8080</p></li><li><p>Wingate Servers on Port 23</p></li><li><p>Insecure Cisco Routers on port 23</p></li><li><p>SOCKS4 Servers on 1080</p></li><li><p>SOCKS5 Servers on 1080</p></li></ul
</pre><p>If the configuration did not produce a error, you may then move onto Compiling OPSB. Compiling is simply just issuing the "make" command (or "gmake" if you are running BSD):</p><preclass="screen">[Fish@fish-dt]$ make
[Fish@fish-dt]$</pre><p>Again, check for Error messages. As long as there are not error messages, "make install" will install OPSB, this README file, and any auxiluary files needed into your NeoStats directory:</p><preclass="screen">[Fish@fish-dt]$ make install
[1006|/home/fish/opsb]</pre><p>If you recieve *ANY* errors at all during the this process, please post them on our Support boards, at http//www.neostats.net/boards/</p><p>Once Installation is complete, you can either configure NeoStats to load OPSB when it starts, or load OPSB via IRC.</p><p>To Configure NeoStats to automatically load OPSB when it boots, add the following line to your "neostats.cfg" file in the NeoStats directory:</p><p><bclass="command">LOAD_MODULE OPSB</b></p><p>To load OPSB via IRC, you must make sure you have the appropriate permissions and issue the following command:</p><p><bclass="command">/msg neostats load OPSB</b></p><p>Thats it. OPSB is now loaded and ready for use (in fact, it will already be running now, but read on for futher information.</p></div></div><divclass="sect1"lang="en"><divclass="titlepage"><div><div><h2class="title"style="clear: both"><aname="d0e125"></a>2. Basic Configuration</h2></div></div><div></div></div><p>OPSB is completly configured online via IRC. When you first start up OPSB, it attempts some "Sane" defaults for you to get started with, but you should always review these settings as soon as you install. Additionally, while its in this "Default" state, it will warn you every so often via a global message as well as messages to the services channel that it is still "unconfigured". Some of the settings that you may want to review right away are:</p><divclass="itemizedlist"><ultype="disc"><li><p>Exclusion Lists - You should setup a Exclude list for your IRC Services server (NickServ etc)</p></li><li><p>Target IP address and Ports that OPSB tries to get the proxies to connect to.</p></li><li><p>Default Ban Time when OPSB finds a open Proxy.</p></li></ul></div><p>These are outlined below:</p><divclass="sect2"lang="en"><divclass="titlepage"><div><div><h3class="title"><aname="d0e142"></a>2.1. Exclusion Lists</h3></div></div><div></div></div><p>Exclusion lists allow you to specify certian Hostmasks or Servers that should be excluded from monitoring by OPSB. This exclusion list would allow a administrator to say, allow users on that are matched against a open proxy, when the administrator has verified that the trojan does not in fact exist on the users host.</p><divclass="caution"style="margin-left: 0.5in; margin-right: 0.5in;"><h3class="title">Caution</h3><p>Exclusions should be setup for your Services Server, so that OPSB does not try to scan ChanServ, or NickServ, or any of the bots relating to Nickname protection.</p></div><p><spanclass="bold"><b>Adding a Entry</b></span></p><p>To add a entry to the Exclusion list, use the following format:</p><preclass="screen">/msg OPSB exclude add <1/0><type><reason></pre><p>Where:</p><p><host> = The HostName/Server or Channel name. WildCards ? and * are permitted.</p><p><type> = The type of exclusion. 0 is for HostNames, 1 is for Servers</p><p><reason> = a short description of the exclusion, for operator reference only.</p><p>The output is as follows:</p><preclass="screen">>OPSB< exclude add services.irc-chat.net 1 Blah is my reason
-OPSB- Added services.irc-chat.net (Server) exception to list</pre><p><spanclass="bold"><b>Listing an Entry</b></span></p><p>To list the Exclusions simple type:</p><preclass="screen">/msg OPSB exclude list</pre><p>And all the current exclusions are listed. Additionaly, a Position number is provided for use with the delete command. The output is as follows:</p><preclass="screen">>OPSB< exclude list
-OPSB- Exception List:
-OPSB- 1) *.blah.com (Server) Added by Fish for Blah is my reason
-OPSB- 2) is.blah.com (HostName) Added by Fish for can by high
-OPSB- End of List.</pre><p><spanclass="bold"><b>Deleting an Entry</b></span></p><p>To delete a entry, you should first lookup the Position of the entry that you wish to delete. The format of the command is as follows:</p><preclass="screen">/msg OPSB exclude del <num></pre><p>Where:</p><p><num> is the position of the entry you wish to delete in the list</p><p>The output of the command is as follows:</p><preclass="screen">>OPSB< exclude del 1
-OPSB- Deleted services.irc-chat.net server out of exception list</pre></div><divclass="sect2"lang="en"><divclass="titlepage"><div><div><h3class="title"><aname="d0e195"></a>2.2. TARGET IP and TARGET PORT</h3></div></div><div></div></div><p>By default, OPSB sets up each proxy scan to attempt to connect back to the IP address and port of the server that NeoStats connects to. This may not always be what you wish, as it can help a attacker map our how your network is structured. Ideally, you should pick the IP address of a IRC server you host that is stable and on a fast connection, and enter its IP address and port numbers into OPSB.</p><p><spanclass="bold"><b>Changing the TargetIP</b></span></p><p>To add a entry to the Helper list, use the following format:</p><preclass="screen">/msg OPSB set targetip <newipaddress></pre><p>Where:</p><p><newipaddress> = The ip address to attempt to get proxies to connect to</p><p>The output is as follows:</p><preclass="screen"> -> *opsb* set targetip 203.208.228.144
=opsb= Target IP set to 203.208.228.144</pre><p><spanclass="bold"><b>Changing the Target Port</b></span></p><p>To list the helpers simple type:</p><preclass="screen">/msg OPSB set targetport <newport></pre><p>Where:</p><p><newport> = the new port to attempt to get proxies to connect to</p><p>The output is as follows:</p><preclass="screen"> -> *opsb* set targetport 6667
=opsb= Target PORT set to 6667</pre></div><divclass="sect2"lang="en"><divclass="titlepage"><div><div><h3class="title"><aname="d0e230"></a>2.3. BanTime</h3></div></div><div></div></div><p>OPSB by default bans the IP/Hostname of a Open Proxy for 1 day (86400 seconds). Some networks may wish to increase or decrease this time value.</p><p><spanclass="bold"><b>Changing the Ban Time</b></span></p><p>To change the bantime, type:</p><preclass="screen"> -> *opsb* set bantime 86400
=opsb= Ban time changed to 86400</pre></div></div><divclass="sect1"lang="en"><divclass="titlepage"><div><div><h2class="title"style="clear: both"><aname="d0e242"></a>3. Detailed Configuration</h2></div></div><div></div></div><p>OPSB attempts to be as configurable as possible in order to cater for each individual networks requirements. This in turn though makes the configuration very complex. There are many many settings with OPSB that affect how it operates, how it responds and even, how affects the performance of NeoStats Overall. Out of the box, OPSB provides sensible defaults for these settings, but you may wish to read this section for details on exactly what each option does, and its affect on how OPSB operates.</p><p>The following list summaries the available Options you can set in OPSB</p><divclass="itemizedlist"><ultype="disc"><li><p>CACHETIME</p></li><li><p>DISABLESCAN</p></li><li><p>DOBAN</p></li><li><p>OPMDOMAIN</p></li><li><p>MAXBYTES</p></li><li><p>TIMEOUT</p></li><li><p>OPENSTRING</p></li><li><p>SPLITTIME</p></li><li><p>SCANMSG</p></li><li><p>PORTS</p></li></ul></div><p>To change any of these settings, you use the Set Interface in OPSB. Eg:</p><preclass="screen">/msg OPSB set <option><params></pre><p>To view the current settings, issue the following command:</p><preclass="screen">/msg OPSB set list</pre><p>The following Sections describes the different options, their params, and the effect on OPSB in detail.</p><divclass="sect2"lang="en"><divclass="titlepage"><div><div><h3class="title"><aname="d0e290"></a>3.1. CACHETIME Setting</h3></div></div><div></div></div><p>In order to improve performance, OPSB caches the results of scans it has performed so if a user disconnects and reconnects, they are not scanned again, and thus this saves bandwidth and improves the performance of OPSB. By default, OPSB saves previous scans for 1 hour. Smaller IRC networks may wish to increase this value, while larger IRC networks that are concerned about performance or memory usage of OPSB may with to leave this setting as it is. Setting the cache time to 0 disables the use of caching, and forces OPSB to scan every user connecting every time.</p><p>To Change the setting, issue the following Command:</p><preclass="screen">/msg OPSB set CACHETIME <seconds></pre></div><divclass="sect2"lang="en"><divclass="titlepage"><div><div><h3class="title"><aname="d0e299"></a>3.2. DISABLESCAN Setting</h3></div></div><div></div></div><p>Sometimes a IRC administrator may wish to only make use of the Open Proxy list lookup, and not actually perform a scan on users. DISABLESCAN forces OPSB to only perform a lookup of the IP address in the configured OPMDOMAIN.</p><p>If you wish to turn off Proxy checks, issue the following command</p><preclass="screen">/msg OPSB set DISABLESCAN <ON/OFF></pre></div><divclass="sect2"lang="en"><divclass="titlepage"><div><div><h3class="title"><aname="d0e308"></a>3.3. DOBAN Setting</h3></div></div><div></div></div><p>Often, when setting up OPSB for the first time, or making changes to the ports that are to be scanning, you may wish to test OPSB without it actually performing a AKILL. Turning DOBAN off disables the placement of a AKILL on open Proxy hosts.</p><p>To Change the setting, issue the following Command:</p><preclass="screen">/msg OPSB set DOBAN <ON/OFF></pre></div><divclass="sect2"lang="en"><divclass="titlepage"><div><div><h3class="title"><aname="d0e317"></a>3.4. OPMDOMAIN Setting</h3></div></div><div></div></div><p>This setting changes with domain OPSB should consult for a positive match on a particular IP address. By Default, OPSB checks opm.blizted.org. Another list may be substituted instead of the default on. At this time, we have not tested any other open proxy list, although most lists should work with no problems. Please report success/failure to our boards</p><p>To Change this Setting, issue the following Command:</p><preclass="screen">/msg OPSB set OPMDOMAIN <newdomain></pre></div><divclass="sect2"lang="en
-opsb- Port List:
-opsb- 1) HTTP Port: 80
-opsb- 2) HTTP Port: 8080
-opsb- 3) HTTP Port: 8000
-opsb- 4) HTTP Port: 3128
-opsb- 5) SOCKS4 Port: 1080
-opsb- 6) SOCKS5 Port: 1080
-opsb- 7) WINGATE Port: 23
-opsb- 8) ROUTER Port: 23
-opsb- 9) HTTPPOST Port: 80
-opsb- 10) HTTPPOST Port: 8080
-opsb- 11) HTTPPOST Port: 8000
-opsb- 12) HTTPPOST Port: 3128
-opsb- End of List.</pre></div><divclass="sect3"lang="en"><divclass="titlepage"><div><div><h4class="title"><aname="d0e387"></a>3.10.2. Adding Ports</h4></div></div><div></div></div><p>To add a additional port to scan with a particular protocol, use the following command:</p><preclass="screen">/msg opsb ports add <type><port></pre><p>Where:</p><p><type> is the type of Protocol to use. Either:</p><p>HTTP</p><p>HTTPPOST</p><p>SOCKS4</p><p>SOCKS5</p><p>WINGATE</p><p>ROUTER</p><p><port> is any valid port number between 1 and 65535</p><p>The change is imediate, and new users will have these ports scanned when they connect. </p></div><divclass="sect3"lang="en"><divclass="titlepage"><div><div><h4class="title"><aname="d0e414"></a>3.10.3. Deleting Ports</h4></div></div><div></div></div><p>If you wish to delete a port to be scanned, issue the following command:</p><preclass="screen">/msg opsb ports del <id></pre><p>Where <id> is the ID number of the port/Protocol you wish to delete. ID can be obtained from a port listing command described above. </p><p>OPSB requires a restart when deleting a port, so you should either restart NeoStats, or Reload the OPSB module. </p></div></div></div><divclass="sect1"lang="en"><divclass="titlepage"><div><div><h2class="title"style="clear: both"><aname="d0e425"></a>4. Operational Commands</h2></div></div><div></div></div><p>OPSB has a number of commands that you can issue it in order to perform checks or operations on your IRC network. These commands aid Administrators in keeping their network secure, and keeping OPSB upto date.</p><p>The following list summerizes these commands:</p><divclass="itemizedlist"><ultype="disc"><li><p>LOOKUP</p></li><li><p>INFO</p></li><li><p>CHECK</p></li><li><p>STATUS</p></li><li><p>REMOVE</p></li></ul></div><p>The following Sections Describe these commands in detail</p><divclass="sect2"lang="en"><divclass="titlepage"><div><div><h3class="title"><aname="d0e450"></a>4.1. LOOKUP Command</h3></div></div><div></div></div><p>The lookup comand can perform DNS lookups for you. You can specify what information you wish to retrive. This command is open to all users by default.</p><p>The format of the command is as follows:</p><preclass="screen">/msg OPSB lookup <ip|hostname><flag></pre><p>Where:</p><p><ip|hostname> is the item you wish to lookup.</p><p><flag> is optional, and specified what type of data you wish to lookup. Available options include:</p><p>txt - Lookup Text Records rp - Lookup the Responsible Person for this record ns - Lookup the Name Servers for this record soa - Lookup the SOA for this Record</p><p>If no flag is given, we attempt to lookup the A record.</p><p>The output of the command is as follows:</p><preclass="screen"> -> *opsb* lookup irc.irc-chat.net
=opsb= irc.irc-chat.net resolves to 66.227.101.55</pre></div><divclass="sect2"lang="en"><divclass="titlepage"><div><div><h3class="title"><aname="d0e473"></a>4.2. INFO Command</h3></div></div><div></div></div><p>This command provides users with information about what functions OPSB performs. Its intended to just provide directions to users for more information</p><p>The format of the command is as follows:</p><preclass="screen">/msg OPSB info</pre></div><divclass="sect2"lang="en"><divclass="titlepage"><div><div><h3class="title"><aname="d0e482"></a>4.3. CHECK Command</h3></div></div><div></div></div><p>This command forces OPSB to perform a full scan on the specified nickname, ip adress or hostname.</p><p>The format of the command is as follows:</p><preclass="screen">/msg OPSB check <nick|host></pre><p>The output is as follows:</p><preclass="screen">=opsb= Checking fish for open Proxies
=opsb= XXXX.singnet.com.sg does not appear in DNS black list</pre></div><divclass="sect2"lang="en"><divclass="titlepage"><div><div><h3class="title"><aname="d0e495"></a>4.4. STATUS Command</h3></div></div><div></div></div><p>This command gives the Administrator statistics on the how OPSB is performing, how many checks it has conducted, and other information relating to the performance of OPSB.</p><p>The format of the command is as follows:</p><preclass="screen"> -> *opsb* status