Advertisement
Guest User

Untitled

a guest
Apr 24th, 2017
1,979
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 24.79 KB | None | 0 0
  1. /*
  2. * Hybrid Open Proxy Monitor - HOPM sample configuration
  3. *
  4. * Copyright (c) 2014-2017 ircd-hybrid development team
  5. *
  6. * $Id$
  7. */
  8.  
  9. /*
  10. * Shell style (#), C++ style (//) and C style comments are supported.
  11. *
  12. * Files may be included by either:
  13. * .include "filename"
  14. * .include <filename>
  15. *
  16. * Times/durations are written as:
  17. * 12 hours 30 minutes 1 second
  18. *
  19. * Valid units of time:
  20. * year, month, week, day, hour, minute, second
  21. *
  22. * Valid units of size:
  23. * megabyte/mbyte/mb, kilobyte/kbyte/kb, byte
  24. *
  25. * Sizes and times may be singular or plural.
  26. */
  27.  
  28. options {
  29. /*
  30. * Full path and filename for storing the process ID of the running
  31. * HOPM.
  32. */
  33. pidfile = "var/run/hopm.pid";
  34.  
  35. /*
  36. * Maximum commands to queue. Set to 0 if you don't want HOPM
  37. * to process commands.
  38. */
  39. command_queue_size = 64;
  40.  
  41. /*
  42. * Interval to check command queue for timed out commands.
  43. */
  44. command_interval = 10 seconds;
  45.  
  46. /*
  47. * Timeout of commands.
  48. */
  49. command_timeout = 180 seconds;
  50.  
  51. /*
  52. * How long to store the IP address of hosts which are confirmed
  53. * (by previous scans) to be secure. New users from these
  54. * IP addresses will not be scanned again until this amount of time
  55. * has passed. IT IS STRONGLY RECOMMENDED THAT YOU DO NOT USE THIS
  56. * DIRECTIVE, but it is provided due to demand.
  57. *
  58. * The main reason for not using this feature is that anyone capable
  59. * of running a proxy can get abusers onto your network - all they
  60. * need do is shut the proxy down, connect themselves, restart the
  61. * proxy, and tell their friends to come flood.
  62. *
  63. * Keep this directive commented out to disable negative caching.
  64. */
  65. # negcache = 1 hour;
  66.  
  67. /*
  68. * How long between rebuilds of the negative cache. The negcache
  69. * is only rebuilt to free up memory used by entries that are too old.
  70. * You probably don't need to tweak this unless you have huge amounts
  71. * of people connecting (hundreds per minute). Default is 12 hours.
  72. */
  73. negcache_rebuild = 4 hours;
  74.  
  75. /*
  76. * Amount of file descriptors to allocate to asynchronous DNS. 64
  77. * should be plenty for almost anyone.
  78. */
  79. dns_fdlimit = 64;
  80.  
  81. /*
  82. * Amount of time the resolver waits until a response is received
  83. * from a name server.
  84. */
  85. dns_timeout = 5 seconds;
  86.  
  87. /*
  88. * Put the full path and filename of a logfile here if you wish to log
  89. * every scan done. Normally HOPM only logs successfully detected
  90. * proxies in the hopm.log, but you may get abuse reports to your ISP
  91. * about portscanning. Being able to show that it was HOPM that did
  92. * the scan in question can be useful. Leave commented for no
  93. * logging.
  94. */
  95. scanlog = "var/log/scan.log";
  96. };
  97.  
  98.  
  99. irc {
  100. /*
  101. * IP address to bind to for the IRC connection. You only need to
  102. * use this if you wish HOPM to use a particular interface
  103. * (virtual host, IP alias, ...) when connecting to the IRC server.
  104. * There is another "vhost" setting in the scan {} block below for
  105. * the actual portscans. Note that this directive expects an IP address,
  106. * not a hostname. Please leave this commented out if you do not
  107. * understand what it does, as most people don't need it.
  108. */
  109. # vhost = "0.0.0.0";
  110.  
  111. /*
  112. * Nickname for HOPM to use.
  113. */
  114. nick = "Hopm";
  115.  
  116. /*
  117. * Text to appear in the "realname" field of HOPM's /whois output.
  118. */
  119. realname = "Hybrid Open Proxy Monitor";
  120.  
  121. /*
  122. * If you don't have an identd running, what username to use.
  123. */
  124. username = "Hopm";
  125.  
  126. /*
  127. * Hostname (or IP address) of the IRC server which HOPM will monitor
  128. * connections on. IPv6 is now supported.
  129. */
  130. server = "107.170.24.97";
  131.  
  132. /*
  133. * Password used to connect to the IRC server (PASS)
  134. */
  135. # password = "secret";
  136.  
  137. /*
  138. * Port of the above server to connect to. This is what HOPM uses to
  139. * get onto IRC itself, it is nothing to do with what ports/protocols
  140. * are scanned, nor do you need to list every port your ircd listens
  141. * on.
  142. */
  143. port = 6667;
  144.  
  145. /*
  146. * Defines time in which bot will timeout if no data is received
  147. */
  148. readtimeout = 15 minutes;
  149.  
  150. /*
  151. * Interval in how often we try to reconnect to the IRC server
  152. */
  153. reconnectinterval = 30 seconds;
  154.  
  155. /*
  156. * Command to execute to identify to NickServ (if your network uses
  157. * it). This is the raw IRC command text, and the below example
  158. * corresponds to "/msg nickserv identify password" in a client. If
  159. * you don't understand, just edit "password" in the line below to be
  160. * your HOPM's nick password. Leave commented out if you don't need
  161. * to identify to NickServ.
  162. */
  163. nickserv = "NS IDENTIFY hopmbot";
  164.  
  165. /*
  166. * The username and password needed for HOPM to oper up.
  167. */
  168. oper = "user pass";
  169.  
  170. /*
  171. * Mode string that HOPM needs to set on itself as soon as it opers
  172. * up. This needs to include the mode for seeing connection notices,
  173. * otherwise HOPM won't scan anyone (that's usually umode +c).
  174. */
  175. mode = "+c";
  176.  
  177. /*
  178. * If this is set then HOPM will use it as an /away message as soon as
  179. * it connects.
  180. */
  181. away = "I'm a bot. Your messages will be ignored.";
  182.  
  183. /*
  184. * Info about channels you wish HOPM to join in order to accept
  185. * commands. HOPM will also print messages in these channels every
  186. * time it detects a proxy. Only IRC operators can command HOPM to do
  187. * anything, but some of the things HOPM reports to these channels
  188. * could be considered sensitive, so it's best not to put HOPM into
  189. * public channels.
  190. */
  191. channel {
  192. /*
  193. * Channel name. Local ("&") channels are supported if your ircd
  194. * supports them.
  195. */
  196. name = "#Hopm";
  197.  
  198. /*
  199. * If HOPM will need to use a key to enter this channel, this is
  200. * where you specify it.
  201. */
  202. # key = "somekey";
  203.  
  204. /*
  205. * If you use ChanServ then maybe you want to set the channel
  206. * invite-only and have each HOPM do "/msg ChanServ invite" to get
  207. * itself in. Leave commented if you don't, or if this makes no
  208. * sense to you.
  209. */
  210. # invite = "CS INVITE #hopm";
  211. };
  212.  
  213. /*
  214. * You can define a bunch of channels if you want:
  215. *
  216. * channel { name = "#other"; }; channel { name= "#channel"; }
  217. */
  218.  
  219. /*
  220. * connregex is a POSIX regular expression used to parse connection
  221. * notices from the ircd. The complexity of the expression should
  222. * be kept to a minimum.
  223. *
  224. * Items in order MUST be: nick user host IP
  225. *
  226. * HOPM will not work with ircds which do not send an IP address in the
  227. * connection notice.
  228. *
  229. * This is fairly complicated stuff, and the consequences of getting
  230. * it wrong are the HOPM does not scan anyone. Unless you know
  231. * absolutely what you are doing, please just uncomment the example
  232. * below that best matches the type of ircd you use.
  233. */
  234.  
  235. /* bahamut / charybdis / ircd-hybrid / ircd-ratbox / ircu / UnrealIRCd 3.2.x (in HCN mode) */
  236. # connregex = "\\*\\*\\* Notice -- Client connecting: ([^ ]+) \\(([^@]+)@([^\\)]+)\\) \\[([0-9\\.]+)\\].*";
  237.  
  238. /* ircd-hybrid with far connect notices (user mode +F) to scan clients on remote servers */
  239. # connregex = "\\*\\*\\* Notice -- Client connecting.*: ([^ ]+) \\(([^@]+)@([^\\)]+)\\) \\[([0-9\\.]+)\\].*";
  240.  
  241. /* UnrealIRCd 4.0.x */
  242. # connregex = "\\*\\*\\* Client connecting: ([^ ]+) \\(([^@]+)@([^\\)]+)\\) \\[([0-9\\.]+)\\].*";
  243.  
  244. /* InspIRCd */
  245. connregex = "\\*\\*\\* .*CONNECT: Client connecting.*: ([^ ]+)!([^@]+)@([^\\)]+) \\(([0-9\\.]+)\\) \\[.*\\]";
  246.  
  247. /* ngIRCd */
  248. # connregex = "Client connecting: ([^ ]+) \\(([^@]+)@([^\\)]+)\\) \\[([0-9\\.]+)\\].*";
  249.  
  250. /*
  251. * "kline" controls the command used when an open proxy is confirmed.
  252. * We suggest applying a temporary (no more than a few hours) KLINE on the host.
  253. *
  254. * <WARNING>
  255. * Make sure if you need to change this string you also change the
  256. * kline command for every DNSBL you enable below.
  257. *
  258. * Also note that some servers do not allow you to include ':' characters
  259. * inside the KLINE message (e.g. for a http:// address).
  260. *
  261. * Users rewriting this message into something that isn't even a valid
  262. * IRC command is the single most common cause of support requests and
  263. * therefore WE WILL NOT SUPPORT YOU UNLESS YOU USE ONE OF THE EXAMPLE
  264. * KLINE COMMANDS BELOW.
  265. * </WARNING>
  266. *
  267. * That said, should you wish to customise this text, several
  268. * printf-like placeholders are available:
  269. *
  270. * %n User's nick
  271. * %u User's username
  272. * %h User's irc hostname
  273. * %i User's IP address
  274. * %t Protocol type which has triggered a positive scan
  275. */
  276. kline = "KLINE 180 *@%h :Open proxy found on your host.";
  277.  
  278. /* A GLINE example for ircu */
  279. #kline = "GLINE +*@%i 3h :Open proxy or TOR node found on your host.";
  280.  
  281. /*
  282. * An AKILL example for services with OperServ. Your HOPM must have permission to
  283. * AKILL for this to work!
  284. */
  285. # kline = "OS AKILL ADD +3h *@%h Open proxy found on your host.";
  286.  
  287. /*
  288. * Text to send on connection, these can be stacked and will be sent in this order.
  289. *
  290. * !!! UNREAL USERS PLEASE NOTE !!!
  291. * Unreal users will need PROTOCTL HCN to force hybrid connect
  292. * notices.
  293. *
  294. * Yes Unreal users! That means you! That means you need the line
  295. * below! See that thing at the start of the line? That's what we
  296. * call a comment! Remove it to UNcomment the line.
  297. *
  298. * Note that this is no longer needed as of UnrealIRCd 4.0.0.
  299. */
  300. # perform = "PROTOCTL HCN";
  301.  
  302. /*
  303. * Text to send, via NOTICE, immediately when a new client connects. These can be
  304. * stacked and will be sent in this order.
  305. */
  306. notice = "You are now being scanned for open proxies and also TOR nodes. If you have nothing to hide, you have nothing to fear.\nVamos agora fazer um scan a proxies e TOR. Se nao tens nada a esconder, nada tens a temer.";
  307. };
  308.  
  309.  
  310. /*
  311. * OPM Block defines blacklists and information required to report new proxies
  312. * to a dns blacklist. DNS-based blacklists store IP addresses in a DNS zone
  313. * file. There are several blacklist that list IP addresses known to be open
  314. * proxies or other forms of IRC abuse. By checking against these blacklists,
  315. * HOPMs are able to ban known sources of abuse without completely scanning them.
  316. */
  317. opm {
  318. /*
  319. * Blacklist zones to check IPs against. If you would rather not
  320. * trust a remotely managed blacklist, you could set up your own, or
  321. * leave these commented out in which case every user will be
  322. * scanned. The use of at least one open proxy DNSBL is recommended
  323. * however.
  324. *
  325. * Please check the policies of each blacklist you use to check you
  326. * are comfortable with using them to block access to your server
  327. * (and that you are allowed to use them).
  328. */
  329.  
  330.  
  331. /* dnsbl.dronebl.org - http://dronebl.org */
  332. blacklist {
  333. /* The DNS name of the blacklist */
  334. name = "dnsbl.dronebl.org";
  335.  
  336. /*
  337. * There are only two values that are valid for this
  338. * "A record bitmask" and "A record reply"
  339. * These options affect how the values specified to reply
  340. * below will be interpreted, a bitmask is where the reply
  341. * values are 2^n and more than one is added up, a reply is
  342. * simply where the last octet of the IP address is that number.
  343. * If you are not sure then the values set for dnsbl.dronebl.org
  344. * will work without any changes.
  345. */
  346. type = "A record bitmask";
  347.  
  348. /*
  349. * Kline types not listed in the reply list below.
  350. *
  351. * For DNSBLs that are not IRC specific and you just wish to kline
  352. * certain types this can be enabled/disabled.
  353. */
  354. ban_unknown = no;
  355.  
  356. /*
  357. * The actual values returned by the dnsbl.dronebl.org blacklist as
  358. * documented at http://dronebl.org/docs/howtouse
  359. */
  360. reply {
  361. 2 = "Sample";
  362. 3 = "IRC spam drone (litmus/sdbot/fyle)";
  363. 5 = "Bottler";
  364. 6 = "Unknown worm or spambot";
  365. 7 = "DDoS drone";
  366. 8 = "Open SOCKS proxy";
  367. 9 = "Open HTTP proxy";
  368. 10 = "ProxyChain";
  369. 11 = "Web Page Proxy";
  370. 13 = "Automated dictionary attacks";
  371. 14 = "Open WINGATE proxy";
  372. 15 = "Compromised router / gateway";
  373. 16 = "Autorooting worms";
  374. 17 = "Automatically determined botnet IPs (experimental)";
  375. 18 = "DNS/MX type hostname detected on IRC";
  376. 255 = "Uncategorized threat class";
  377. };
  378.  
  379. /*
  380. * The kline message sent for this specific blacklist, remember to put
  381. * the removal method in this.
  382. */
  383. kline = "GLINE *@%i 1d :You have a host listed in the DroneBL. For more information, visit http://dronebl.org/lookup_branded?ip=%i&network=Network";
  384. };
  385.  
  386.  
  387. /* tor.dnsbl.sectoor.de - http://www.sectoor.de/tor.php */
  388. blacklist {
  389. name = "tor.dnsbl.sectoor.de";
  390. type = "A record bitmask";
  391. ban_unknown = no;
  392.  
  393. reply {
  394. 1 = "Tor exit server";
  395. };
  396.  
  397. kline = "GLINE *@%i 1d :Tor exit server detected. For more information, visit http://www.sectoor.de/tor.php?ip=%i";
  398. };
  399. blacklist {
  400. name = "tor.dan.me.uk";
  401. type = "A record bitmask";
  402. reply {
  403. 1 = "Tor exit server";
  404. 2 = "Sample";
  405. 3 = "IRC spam drone (litmus/sdbot/fyle)";
  406. 5 = "Bottler";
  407. 6 = "Unknown worm or spambot";
  408. 7 = "DDoS drone";
  409. 8 = "Open SOCKS proxy";
  410. 9 = "Open HTTP proxy";
  411. 10 = "ProxyChain";
  412. 11 = "Web Page Proxy";
  413. 13 = "Automated dictionary attacks";
  414. 14 = "Open WINGATE proxy";
  415. 15 = "Compromised router / gateway";
  416. 16 = "Autorooting worms";
  417. 17 = "Automatically determined botnet IPs (experimental)";
  418. 18 = "DNS/MX type hostname detected on IRC";
  419. 255 = "Uncategorized threat class";
  420. };
  421. kline = "GLINE *@%i 1d :Proxie or TOR (%t) found on your ip: %i";
  422. };
  423.  
  424. blacklist {
  425. name = "opm.tornevall.org";
  426. type = "A record bitmask";
  427. reply {
  428. 1 = "Tor exit server";
  429. 2 = "Sample";
  430. 3 = "IRC spam drone (litmus/sdbot/fyle)";
  431. 5 = "Bottler";
  432. 6 = "Unknown worm or spambot";
  433. 7 = "DDoS drone";
  434. 8 = "Open SOCKS proxy";
  435. 9 = "Open HTTP proxy";
  436. 10 = "ProxyChain";
  437. 11 = "Web Page Proxy";
  438. 13 = "Automated dictionary attacks";
  439. 14 = "Open WINGATE proxy";
  440. 15 = "Compromised router / gateway";
  441. 16 = "Autorooting worms";
  442. 17 = "Automatically determined botnet IPs (experimental)";
  443. 18 = "DNS/MX type hostname detected on IRC";
  444. 255 = "Uncategorized threat class";
  445. };
  446. kline = "GLINE *@%i 1d :Proxie or TOR (%t) found on your ip: %i";
  447. };
  448.  
  449. /* rbl.efnetrbl.org - http://rbl.efnetrbl.org/ */
  450. blacklist {
  451. name = "rbl.efnetrbl.org";
  452. type = "A record bitmask";
  453. ban_unknown = no;
  454.  
  455. reply {
  456. 1 = "Open proxy";
  457. 2 = "spamtrap666";
  458. 3 = "spamtrap50";
  459. 4 = "TOR";
  460. 5 = "Drones / Flooding";
  461. };
  462.  
  463. kline = "GLINE *@%i 1d :Proxie or TOR (%t) found on your ip: %i";
  464. };
  465.  
  466.  
  467.  
  468. /* tor.efnetrbl.org - http://rbl.efnetrbl.org/ */
  469. blacklist {
  470. name = "tor.efnet.org";
  471. type = "A record bitmask";
  472. ban_unknown = no;
  473.  
  474. reply {
  475. 1 = "TOR";
  476. };
  477.  
  478. kline = "GLINE *@%i 1d :TOR exit node found. Visit http://rbl.efnet.org/?i=%i for info.";
  479. };
  480.  
  481. /*
  482. * You can report the insecure proxies you find to a DNSBL also!
  483. * The remaining directives in this section are only needed if you
  484. * intend to do this. Reports are sent by email, one email per IP
  485. * address. The format does support multiple addresses in one email,
  486. * but we don't know of any servers that are detecting enough insecure
  487. * proxies for this to be really necessary.
  488. */
  489.  
  490. /*
  491. * Email address to send reports FROM. If you intend to send reports,
  492. * please pick an email address that we can actually send mail to
  493. * should we ever need to contact you.
  494. */
  495. # dnsbl_from = "mybopm@myserver.org";
  496.  
  497. /*
  498. * Email address to send reports TO.
  499. * For example DroneBL:
  500. */
  501. # dnsbl_to = "bopm-report@dronebl.org";
  502.  
  503. /*
  504. * Full path to your sendmail binary. Even if your system does not
  505. * use sendmail, it probably does have a binary called "sendmail"
  506. * present in /usr/sbin or /usr/lib. If you don't set this, no
  507. * proxies will be reported.
  508. */
  509. # sendmail = "/usr/sbin/sendmail";
  510. };
  511.  
  512.  
  513. /*
  514. * The short explanation:
  515. *
  516. * This is where you define what ports/protocols to check for. You can have
  517. * multiple scanner blocks and then choose which users will get scanned by
  518. * which scanners further down.
  519. *
  520. * The long explanation:
  521. *
  522. * Scanner defines a virtual scanner. For each user being scanned, a scanner
  523. * will use a file descriptor (and subsequent connection) for each protocol.
  524. * Once connecting it will negotiate the proxy to connect to
  525. * target_ip:target_port (target_ip MUST be an IP address).
  526. *
  527. * Once connected, any data passed through the proxy will be checked to see if
  528. * target_string is contained within that data. If it is the proxy is
  529. * considered open. If the connection is closed at any point before
  530. * target_string is matched, or if at least max_read bytes are read from the
  531. * connection, the negotiation is considered failed.
  532. */
  533. scanner {
  534. name = "default";
  535.  
  536. /*
  537. * HTTP CONNECT - very common proxy protocol supported by widely known
  538. * software such as Squid and Apache. The most common sort of
  539. * insecure proxy and found on a multitude of weird ports too. Offers
  540. * transparent two way TCP connections.
  541. */
  542. protocol = HTTP:80;
  543. protocol = HTTP:8080;
  544. protocol = HTTP:3128;
  545. protocol = HTTP:6588;
  546.  
  547. /*
  548. * The SSL/TLS variant of HTTP
  549. */
  550. protocol = HTTPS:443;
  551. protocol = HTTPS:8443;
  552.  
  553. /*
  554. * SOCKS4/5 - well known proxy protocols, probably the second most
  555. * common for insecure proxies, also offers transparent two way TCP
  556. * connections. Fortunately largely confined to port 1080.
  557. */
  558. protocol = SOCKS4:1080;
  559. protocol = SOCKS5:1080;
  560.  
  561. /*
  562. * Cisco routers with a default password (yes, it really does happen).
  563. * Also pretty much anything else that will let you telnet to anywhere
  564. * else on the Internet. Fortunately these are always on port 23.
  565. */
  566. protocol = ROUTER:23;
  567.  
  568. /*
  569. * WinGate is commercial windows proxy software which is now not so
  570. * common, but still to be found, and helpfully presents an interface
  571. * that can be used to telnet out, on port 23.
  572. */
  573. protocol = WINGATE:23;
  574.  
  575. /*
  576. * Dreambox DVB receivers with a default password allowing
  577. * full root access to telnet or install bouncers.
  578. */
  579. protocol = DREAMBOX:23;
  580.  
  581. /*
  582. * The HTTP POST protocol, often dismissed when writing the access
  583. * controls for proxies, but sadly can still be used to abused.
  584. * Offers only the opportunity to send a single block of data, but
  585. * enough of them at once can still make for a devastating flood.
  586. * Found on the same ports that HTTP CONNECT proxies inhabit.
  587. *
  588. * Note that if your ircd has "ping cookies" then clients from HTTP
  589. * POST proxies cannot actually ever get onto your network anyway. If
  590. * you leave the checks in then you'll still find some (because some
  591. * people IRC from boxes that run them), but if you use HOPM purely as
  592. * a protective measure and you have ping cookies, you need not scan
  593. * for HTTP POST.
  594. */
  595. protocol = HTTPPOST:80;
  596.  
  597. /*
  598. * The SSL/TLS variant of HTTPPOST
  599. */
  600. protocol = HTTPSPOST:443;
  601. protocol = HTTPSPOST:8443;
  602.  
  603. /*
  604. * IP address this scanner will bind to. Use this if you need your scans to
  605. * come FROM a particular interface on the machine you run HOPM from.
  606. * If you don't understand what this means, please leave this
  607. * commented out, as this is a major source of support queries!
  608. */
  609. # vhost = "91.92.109.32";
  610.  
  611. /*
  612. * Maximum file descriptors this scanner can use. Remember that there
  613. * will be one FD for each protocol listed above. As this example
  614. * scanner has 8 protocols, it requires 8 FDs per user. With a 512 FD
  615. * limit, this scanner can be used on 64 users _at the same time_.
  616. * That should be adequate for most servers.
  617. */
  618. fd = 512;
  619.  
  620. /*
  621. * Maximum data read from a proxy before considering it closed. Don't
  622. * set this too high, some people have fun setting up lots of ports
  623. * that send endless data to tie up your scanner. 4KB is plenty for
  624. * any known proxy.
  625. */
  626. max_read = 4 kbytes;
  627.  
  628. /*
  629. * Amount of time before a test is considered timed out.
  630. * Again, all but the poorest slowest proxies will be detected within
  631. * 30 seconds, and this helps keep resource usage low.
  632. */
  633. timeout = 30 seconds;
  634.  
  635. /*
  636. * Target IP to tell the proxy to connect to
  637. *
  638. * !!! THIS MUST BE CHANGED !!!
  639. *
  640. * You cannot instruct the proxy to connect to itself! The easiest
  641. * thing to do would be to set this to the IP address of your ircd
  642. * and then keep the default target_strings.
  643. *
  644. * Please use an IP address that is publically reachable from anywhere
  645. * on the Internet, because you have no way of knowing where the insecure
  646. * proxies will be located. Just because you and your HOPM can
  647. * connect to your ircd on some private IP address like 192.168.0.1,
  648. * does not mean that the insecure proxies out there on the Internet will be
  649. * able to. And if they never connect, you will never detect them.
  650. *
  651. * Remember to change this setting for every scanner you configure.
  652. */
  653. target_ip = "91.92.109.25";
  654.  
  655. /*
  656. * Target port to tell the proxy to connect to. This is usually
  657. * something like 6667. Basically any client-usable port.
  658. */
  659. target_port = 6667;
  660.  
  661. /*
  662. * Target string we check for in the data read back by the scanner.
  663. * This should be some string out of the data that your ircd usually
  664. * sends on connect. Multiple target strings are allowed.
  665. *
  666. * NOTE: Try to keep the number of target strings to a minimum. Two
  667. * should be fine. One for normal connections and one for throttled
  668. * connections. Comment out any others for efficiency.
  669. */
  670.  
  671. /*
  672. * Usually first line sent to client on connection to ircd.
  673. * If your ircd supports a more specific line (see below),
  674. * using it will reduce false positives.
  675. */
  676. target_string = ":irc.ptirc.org NOTICE * :*** Looking up your hostname";
  677.  
  678. /*
  679. * If you try to connect too fast, you'll be throttled by your own
  680. * ircd. Here's what a hybrid throttle message looks like:
  681. */
  682. target_string = "ERROR :Your host is trying to (re)connect too fast -- throttled.";
  683. };
  684.  
  685.  
  686. scanner {
  687. name = "extended";
  688.  
  689. protocol = HTTP:81;
  690. protocol = HTTP:8000;
  691. protocol = HTTP:8001;
  692. protocol = HTTP:8081;
  693.  
  694. protocol = HTTPPOST:81;
  695. protocol = HTTPPOST:6588;
  696. protocol = HTTPPOST:4480;
  697. protocol = HTTPPOST:8000;
  698. protocol = HTTPPOST:8001;
  699. protocol = HTTPPOST:8080;
  700. protocol = HTTPPOST:8081;
  701.  
  702. /*
  703. * IRCnet have seen many socks5 on these ports, more than on the
  704. * standard ports even.
  705. */
  706. protocol = SOCKS4:4914;
  707. protocol = SOCKS4:6826;
  708. protocol = SOCKS4:7198;
  709. protocol = SOCKS4:7366;
  710. protocol = SOCKS4:9036;
  711.  
  712. protocol = SOCKS5:4438;
  713. protocol = SOCKS5:5104;
  714. protocol = SOCKS5:5113;
  715. protocol = SOCKS5:5262;
  716. protocol = SOCKS5:5634;
  717. protocol = SOCKS5:6552;
  718. protocol = SOCKS5:6561;
  719. protocol = SOCKS5:7464;
  720. protocol = SOCKS5:7810;
  721. protocol = SOCKS5:8130;
  722. protocol = SOCKS5:8148;
  723. protocol = SOCKS5:8520;
  724. protocol = SOCKS5:8814;
  725. protocol = SOCKS5:9100;
  726. protocol = SOCKS5:9186;
  727. protocol = SOCKS5:9447;
  728. protocol = SOCKS5:9578;
  729. protocol = SOCKS5:10000;
  730. protocol = SOCKS5:64101;
  731.  
  732. /*
  733. * These came courtsey of Keith Dunnett from a bunch of public open
  734. * proxy lists.
  735. */
  736. protocol = SOCKS4:29992;
  737. protocol = SOCKS4:38884;
  738. protocol = SOCKS4:18844;
  739. protocol = SOCKS4:17771;
  740. protocol = SOCKS4:31121;
  741.  
  742. fd = 400;
  743.  
  744. /*
  745. * If required you can add settings such as target_ip here
  746. * they will override the defaults set in the first scanner
  747. * for this and subsequent scanners defined in the config file
  748. * This affects the following options:
  749. * fd, vhost, target_ip, target_port, target_string, timeout and
  750. * max_read.
  751. */
  752. };
  753.  
  754.  
  755. /*
  756. * User blocks define what scanners will be used to scan which hostmasks.
  757. * When a user connects they will be scanned on every scanner {} (above)
  758. * that matches their host.
  759. */
  760. user {
  761. /*
  762. * Users matching this host mask will be scanned with all the
  763. * protocols in the scanner named.
  764. */
  765. mask = "*!*@*";
  766. scanner = "default";
  767. };
  768.  
  769. user {
  770. /*
  771. * Connections without ident will match on a vast number of connections
  772. * very few proxies run ident though
  773. */
  774. mask = "*!*@*";
  775. mask = "*!squid@*";
  776. mask = "*!nobody@*";
  777. mask = "*!www-data@*";
  778. mask = "*!cache@*";
  779. mask = "*!CacheFlowS@*";
  780. mask = "*!*@*www*";
  781. mask = "*!*@*proxy*";
  782. mask = "*!*@*cache*";
  783.  
  784. scanner = "extended";
  785. };
  786.  
  787.  
  788. /*
  789. * Exempt hosts matching certain strings from any form of scanning or dnsbl.
  790. * HOPM will check each string against both the hostname and the IP address of
  791. * the user.
  792. *
  793. * There are very few valid reasons to actually use "exempt". HOPM should
  794. * never get false positives, and we would like to know very much if it does.
  795. * One possible scenario is that the machine HOPM runs from is specifically
  796. * authorized to use certain hosts as proxies, and users from those hosts use
  797. * your network. In this case, without exempt, HOPM will scan these hosts,
  798. * find itself able to use them as proxies, and ban them.
  799. */
  800. exempt {
  801. mask = "*!*@127.0.0.1";
  802. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement