BNC kompilieren und einrichten

Von Robert

Ein Bouncer ist eine Applikation, die auf einem Shell Account als Hintergrundprozess läuft. Diese Applikation ermöglicht einem, sich über eine IP des jeweiligen Servers ins IRC verbinden zu lassen. Dabei ist die IP des Users dieser Applikation bekannt. Somit wird die IP des Users von der Aussenwelt (meist IRC) versteckt. Dies ermöglicht ihnen einen anonymen Status.

Diese steigende Nachfrage hat natürlich einen Grund; Indem Sie ihre eigentliche IP verstecken kann ein möglicher Angreifer höchstens unsere Server erreichen. Diese Person wird nicht mehr weiterkommen. Es kommen laufend neue - sowohl Windows als auch Unix/Linux- bugs, von denen Sie erst viel später erfahren. Durch verstecken ihrer IP werden Sie automatisch diesen Gefahren entgehen. Unsere Server werden diese mögliche Attacken in vorderster Front bereits abwähren. Es ist auch sehr beliebt die Leute zu Nuken bzw. zu Flooden. Auch diese Gefahren werden Sie sich sparen können.

Vor- und Nachteile der verschiedenen Bouncer:

bnc:
[list]
[*]vhost support
[*]multi user support
[*]bnc ist der einfachste Bouncer mit recht wenig Funktionen. Wenn man einfach nur mit Vhost chatten will ist er aber ausreichend.
[/list:u]
ezBounce:
[list]
[*]logging support
[*]multi user support
[*]vhost support
[*]permanent connection support
[*]ban list support
[*]dynamischer identd enthalten
[*]ezBounce hat schon deutlich mehr Funktionen als BNC und eigener identd, so dass jeder User eine eigene Ident bekommen kann.
[/list:u]
psyBNC:
[list]
[*](auto)-op/ban Features
[*]Ban-List Support
[*]Bouncer linking (Vhost sharing für die gelinkten Bouncer)
[*]verschiedenent language module + Translation Support
[*]encryption support
[*]permanent connection support
[*]auto-bot connection support
[*]message logging
[*]logging support
[*]multi user support (ca. 100 gleichzeitig)
[*]vhost support
[/list:u]

Wie bekommt man einen BNC?

Der BNC ist kostenlos. Er läuft unter der GNU General Public License (GPL).

Die Neuste Linux/Windows-Version ist hier erhältlich: http://www.planet-rcs.de , http://www.eggdrops.de


Wo kann ich einen BNC laufen lassen ?

1.) Man installiert es bei sich zu Hause am PC, am Besten ihr habt Linux, auf einem z.B. Router-PC. Sprich um den BNC im Channel zu behalten und dessen Funktion zu benutzten muss der PC immer im Internet sein. Aber in Zeiten von DSL und Flatrate sollte das, zumindest in Deutschland, nicht das Problem sein.

2.) Man hat einen eigenen Server bzw. eine eigene Shell. Am Idealsten hat man seinen eigenen Root-Server im Internet. Oder eine Shell, also einen Platz und prozessbeschrängten Account auf einem Root-Server. Ein eigener vHost tut es auch, er ist billiger als ein Root-Server und für IRC-Anwendungen wie Eggdrop und BNC reicht er allemale aus.

Ein Root-Server würde ca. 50€ im Monat kosten (mit angemessen Traffic). Da kann man aber dann auch mehr machen als nur den BNC oder Eggdrop laufen lassen, z.B. noch einen Game-Server.

Shell Accounts gibt’s aber ca 1 Euro pro Monat pro Prozess.(BNC "verbraucht" dann eben eine dieser "Prozess")


Wie installiere man einen BNC ?

bnc:

Eine Konsole öffnen, z.B. X-Term.

1.) Download:

wget http://www.eggdrops.de/download/bnc2.8.4.tar.gz

2.) Entpacken:

tar -xvzf bnc2.8.4.tar.gz
das BNC Archiv entpacken

3.) Kompilieren:

Ein C Compiler muss auf der Shell installiert sein (das ist bei Linux meistens gcc).

cd bnc2.8.4
./configure
make

ezBounce:

Eine Console öffnen, z.b. X-Term.

1.) Download:

wget http://www.eggdrops.de/download/ezbounce-1.02.tar.gz

2.) Entpacken:

tar -xvzf ezbounce-1.02.tar.gz
das BNC Archiv entpacken

3.) Kompilieren:

Ein C Compiler muss auf der Shell installiert sein (das ist bei Linux meistens gcc).

cd ezbounce-1.02
./configure
make

psyBNC:

Die Windows-Version ist da recht einfach, die ist schon "vorkompiliert", da muss man soweit ich weiß nur noch die psybnc.conf anpassen.

Die Linux-Version macht es eine schon schwieriger. Hier läd man sich die unkompilierten Source-Codes herrunter und muss sie selber compilieren. Aber das dürfte auch kein Problem darstellen.

Auf keinen Fall las Root einloggen und kompilieren, das ausführen des BNC als Root ist nicht empfehlenswert und beim Start bricht der BNC auch sofort ab.

Eine Konsole öffnen, z.B. X-Term.

1.) Download:

wget http://files.planet-rcs.de/article/b/bnc/psyBNC2.3.1.tar.gz

oder

lynx http://files.planet-rcs.de/article/b/bnc/psyBNC2.3.1.tar.gz

2.) MD5 Summe prüfen:

md5sum psyBNC2.3.1.tar.gz
fd519cc66b305e0bceacc03e7c4d2159 psyBNC2.3.1.tar.gz
solle als Ausgabe erscheinen

3.) Entpacken:

tar -xvzf psyBNC2.3.1.tar.gz
das BNC Archiv entpacken
4.) Kompilieren:

cd psybnc
make menuconfig

Wir wählen zunächst Compiling Options. Dort finden wir sämtliche Optionen, mit denen man einen Bouncer bestücken kann. Ein Patentrezept für die richtige "Einstellung" der Compile-Optionen gibt es leider niemals. Du solltest dir genau überlegen was du bei deinem Bouncer brauchst und was nicht. Besondere Aufmerksamkeit solltest du auf Sicherheit, Performance und so weiter legen. Bedenke wie vielen Benutzern du die Benutzung des BNC’s ermöglichen möchtest. Richte die entsprechende Compile-Option darauf aus.

+--------------------------- Compiling Options ---------------------------+
This is the compiling section of the psyBNC Configuration. Please
select an item and press enter to change settings.

+-------------------------------------------------------------------------+
[X] Support Encryption
Encryption Type: Blowfish
[X] Support Translation
[X] Support internal Network
[X] Support Traffic-Logging
[X] Support Linkage
[X] Support DCC Files
[X] Support DCC Chat
Mode: Multiuser
Maximum Users: 3
Maximum Connections: 10
[X] Support Scripting
[ ] Support oIdentd
[ ] Use asynchroneous resolving - EXPERIMENTAL -
[X] Support multiple IRC-Networks
[ ] Support Proxy Usage
[ ] Anonymous Bouncer Usage
[ ] None permanent IRC-Connections
Loglevel: Errors, Warnings and Infos
[ ] Use the 2.1.1 compatible Partychannel
Version Reply: None
SSL-Path: /usr/local/ssl
SSL-SecLevel: Check Certs and Keys (NOT IMPLEMENTED)
+-------------------------------------------------------------------------+

Oben im Screengrab findest du eine sinnvolle Konfiguration des Bouncers. Er ist, wie du siehst, für maximal 3 Benutzer ausgelegt, jene können maximal 10 (alle zusammen) Verbindungen ins IRC starten. Wir haben nun die benötigten Kompilierungsoptionen eingestellt.
Wir verlassen die grafische Oberfläche komplett mit Exit und nochmal Exit, wir befinden uns nun wieder auf der Shell und es erscheint ein "Now compile psyBNC using make, if not yet compiled, or if Options were changed. done." entgegen.

make

Da der Bouncer die Verschlüsselungstechnik SSL benutzt werden wir nach einiger Compile-Zeit nach gewissen Infos gefragt. Wir sollten die Information preisgeben, da sie für die Erstellung eines SSL-Zertifikates benötigt werden.
Wer jedoch gewisse Informationen nicht preisgeben möchte, kann anstatt der gefragten Info einfach einen Punkt "." eingeben, und die Sache mit ENTER bestätigen.
Es wird gefragt nach Landesnamen, Bundesstaat/-land oder Provinz, Name der Ortschaft oder Lokalität, Name der Firma, Abteilung der Firma und der allgemeine Name (es wird empfohlen dort den eigenen Domainnamen einzutragen).
So, nun sollte der Bouncer fertig compiliert sein.


Die psybnc.conf einstellen und einrichten ?

Im folgenden werde ich nun noch erklären, wie die Config bei einem psyBnc eingerichtet wird da es der am weitesten verbreitete Bouncer ist.
Die Programmierer von psyBNC‘s waren so klug und haben einen Befehl eingebaut, das uns das reine Schreiben der psybnc.conf erspart bleibt. Wir machen also folgendes, zurück ins config-Menü:

make menuconfig

Wir kommen wieder zurück in die Übersicht. Diesmal klicken wir auf Bouncer-Config -->:

Wir gehen direkt auf den Menupunkt Listening Ports und bestimmen dort den Anschluss ("Port") an deiner Shell, an dem der Bouncer später für dich und deine Mitbenutzer horchen wird. Ich empfehle dort einen anderen als den Standardwert von 31337 einzutragen, denn jener Port ist bekannt für psyBNCs und jemand könnte versuchen deinen Bouncer zu hacken, denn er weiß ja, dass dort ein BNC läuft. Nimm lieber etwas geistreiches wie 20023. Achtung, der Port muss größer als 1024 sein! Das ganze sollte dann also so aussehen:

Listening Port:
#1 :* 20023


Der Bereich "Links -->" vergessen wir erst mal. Damit kann man sich beschäftigen, wenn man sich etwas besser mit dem BNC auskennt.

Wir gehen direkt weiter nach Bouncername. Dort geben wir einen kurzen und prägnanten Namen für unseren BNC ein, wie z.B. "BNC", "Protect" oder "UserName", aber das bleibt euch überlassen.

Nun müsst ihr einen neuen Benutzer für den Bouncer festlegen, es ist noch keiner vorhanden, also legen wir einen mit, irgendwie logisch, einem "Druck" auf <New> an! Zuerst geben wir dem User einen Login. Dieser muss später als email/ident im IRC-Client angegeben werden. Darunter sagen wir dem Bouncer, wie der Standard-Spitzname (Nick) des Users sein soll. In die Username-Zeile tragen wir den Namen des Benutzers ein. Danach definieren wir das Password, welches zum Einloggen gebraucht wird. VHost lassen wir aus. Es folgt eine wichtige Option: Entweder wird der Benutzer des Bouncers ein Admin oder ein normaler User ohne Konfigurationsrechte. Wenn du einen Login für dich selbst erstellst solltest du "Admin" wählen (auswählen mit Enter), ansonsten bitte "User". Alle anderen Werte sollten ersteinmal unangetastet bleiben, nur die Option "Receive Systemmessages" kann für Admins noch interessant sein. Bei mir sähe eine Beispielkonfiguration in etwa so aus:

+-------------------------------- User #1 --------------------------------+
Choose the option to change and press ENTER.

+------------------------------------------------------------------------+
Login: tester
Nick: Hendrik
Username: Hendrik
Password: zaZAblarr4frwe4
VHost:
Rights: Admin
Relaying over Link #:
Using Proxy:
Proxy Port: None
Network User of User #: None
User marked as quitted: No
Auto-Accept DCC-Files: No
Receive Systemmessages: Yes
Network name of Network User:
Reset LastLog
Servers --->
+------------------------------------------------------------------------+

Nun müssen wir noch ein paar Server hinzu, wähle dazu "Servers" aus. Dort erstellen wir mit "New" eine neue Auswahl an Servern. Nun können wir im Format "irc.server.net 6667" (Also Servername, Leerzeichen, Port) neue Server hinzufügen. Natürlich werden hier nur Server des selben IRC-Netzes eingetragen, der Bouncer geht die Reihe nach durch und versucht funktionierende Server zu finden, wenn einer von ihnen mal nicht erreichbar ist! Weitere Netze erstellen wir später über den Bouncer im Betrieb..
So, damit ist auch die Konfiguration des Bouncer erledigt. Wir beenden den Dialog nun mit einem Druck auf die ESC-Taste. Danach kann, wer will, die Sprache ("language") auf "german" geändert werden! Ansonsten beenden wir menuconfig nun entgültig mit der Auswahl von < exit > solang, bis das Programm nicht mehr läuft, wir uns also wieder auf der Shell befinden!
Den Hinweis "Now compile psyBNC using make, if not yet compiled, or if Options were changed. done." ignorieren wir, schließlich haben wir an den Compiling-Options nichts mehr geändert, folglich brauchen wir auch nicht neu kompilieren. Im PsyBNC-Verzeichnis sollte jetzt eine Datei namens "psybnc.conf" erstellt worden sein, wir können sie uns mit "cat psybnc.conf" einmal ansehen:

PSYBNC.SYSTEM.PORT1=15158
PSYBNC.SYSTEM.HOST1=192.168.0.99
PSYBNC.HOSTALLOWS.ENTRY0=*;*
USER1.USER.LOGIN=RCS
USER1.USER.USER=RCS
USER1.USER.PASS==`5030u0j0x1D`W`F1r
USER1.USER.RIGHTS=1
USER1.USER.VLINK=0
USER1.USER.PPORT=0
USER1.USER.PARENT=0
USER1.USER.QUITTED=0
USER1.USER.DCCENABLED=1
USER1.USER.AUTOGETDCC=0
USER1.USER.AIDLE=0
USER1.USER.LEAVEQUIT=0
USER1.USER.AUTOREJOIN=1
USER1.USER.SYSMSG=1
USER1.USER.LASTLOG=0
USER1.USER.CERT=+
USER1.USER.AWAYNICK=[RCS]Test|Off
USER1.USER.AWAY=Bin halt Wech. CU
USER1.USER.LEAVEMSG=Bin halt wech CU.
USER1.USER.NICK=[RCS]Test
USER1.SERVERS.SERVER1=uk.quakenet.org
USER1.SERVERS.PORT1=6667
USER1.CHANNELS.ENTRY0=#planetrcs
USER1.CHANNELS.ENTRY1=#gaming.planetrcs
USER1.CHANNELS.ENTRY2=#private.channel
USER1.CHANNELS.KEY2=+5kjkl230

So ungefähr sollte sie aussehen.

Anmerkung: Es kann einigen Leuten immer mal wieder passieren, das sie ihr BNC-Passwort vergessen, hier ist folgendes zu tun:

Öffnet die Conf. und sucht nach der Zeile:

USER1.USER.PASS==`5030u0j0x1D`W`F1r <---- Gekryptetes Passwort

und ersetzt diese Zeile durch

USER1.USER.PASS=your_password_in_plaintext

Nun den BNC neu starten, und mit dem neugewählten Passwort einloggen.


Starten des BNCs

Wenn die Config soweit angepasst ist, können wir den Bouncer starten! Dies geschieht mit dem folgenden Befehl:

./psybnc

Somit ist der Bouncer gestartet und man kann mit Hilfe eines IRC Clients auf ihn connecten.

 


 

Vielleicht auch interessant:


Über den Autor

Robert programmiert Webanwendungen in ASP, kennt sich bestens im IRC und mit Eggdrops aus und schreibt auch darüber Artikel auf planet-rcs.de

Feedback