Von Robert
Linken heisst nichts anderes als verbinden. Wenn man also zwei oder mehrere Bots hat, dann sollte man sie linken um sie in einem Eggdrop-Netzwerk zusammenzufügen.
Das Linken hat folgende Vorteile:
.+bot bot2 host.vom.bot2.de:3333 *!*bot2@host.vom.bot2.de
.+bot bot1 host.vom.bot1.de:3333 *!*bot1@host.vom.bot1.de
.+bot <Handle> [StatischerHost:[TelnetPort]] [Hostmask]
.chattrein. Die Bots sind aber noch nicht gelinkt. Man muss noch in bot2 den Befehl
.link bot1eingeben. Erst dann verbindet sich bot2 zu bot1. Bei Problemen versuchs mal umgekehrt (bei bot1: .link bot2). Anhand der Meldung erkennst du ob sie richtig gelinkt wurden. Wenns nicht geht, dann hast du wahrscheinlich etwas falsches eingetippt, oder beide Bots sind im LAN.
.botattr bot1 +h
.botattr bot2 +gs
.botattr bot1 +ghp
.link bot1eingeben. Erst dann verbindet sich bot2 zu bot1.
Eggdrop hat verwundbare Stellen, die ausgenutzt werden können wenn der Bot nicht richtig gesichert wird.
Deaktiviere "learn-users":
Benutzern zu erlauben sich selbst in den Bot einzutragen mag bequem sein aber es ist sehr unsicher (besonders wenn der User Partyline Zugang bekommt). Außerdem ist es möglich dass jemand den Bot flooded und danach 1000 neue User eingetragen sind. Wenn man diese Möglichkeit wirklich braucht sollte man den Befehl zu etwas anderem als dem normalen "hello" ändern.
Wähle Owner vorsichtig:
Sei sehr vorsichtig, wenn du global owner (+n Flag) an andere Leute vergibst. Nur Leute die man schon lange kennt sollten global owner bekommen. Ein owner kann fast alles machen, besonders der .tcl Befehl ist gefährlich da darüber auch Befehle auf der Shell ausgeführt werden können.
Passwort Sicherheit:
Wähle kein einfach zu eratendes Password. Es sollte eine Kombination aus mehreren Wörtern sein, zufällig gewählte Buchstaben und Zahlen enthalten. Außerdem muss man aufpassen, dass man nicht aus versehen das / bei /msg <bot> op <pass> vergisst da sonst das schönste Password nichts nutzt.
Ändere oder schalte die ident und addhost Befehle ab:
Es ist gut andere Wörtet als "ident" und "addhost" für diese Befehle zu benutzen. Dadurch wird es schwerer für jemanden der irgendwie an ein Password gekommen ist den Bot zu mißbrauchen. Noch sicherer ist es diese Befehle komplett abzuschalten, das kann aber sehr störend sein.
Benutze genaue Hostmasks:
Wenn die Hostmask z.B. Lamont@bnc.rcs4u.de ist, wird Eggdrop die Maske *!lamont@*.rcs4u.de eintragen. Wenn man ein Master oder Owner ist ist es wichtig die Hostmask so genau wie möglich einzutragen. Bei den Einträgen der Hostmask liegt meiner Meinung nach auch die Schwäche des Eggdrop. Ändert von Hand die Hostmask in dem Userfile in eine unverwechselbare, welche nur ihr haben könnt.
Aktiviere protect-telnet:
Normal kann jeder zu dem bot via Telnet verbinden und versuchen ein Password zu erraten. Wenn protect-telnet aktiviert ist dürfen sich nur Hostmasks, die im Bot eingetragen sind per Telnet einloggen. Das Format ist telnet!*@hostname.com.
Der erste User (der owner), der sich in den Bot einträgt bekommt die Hostmask telnet!*@*, diese Hostmask sollte man entfernen da protect-telnet sonst nichts bringt.
Natürlich ist das Eintragen einer sinnvollen Hostmask hier sehr schwer, da man zu Hause, dynamisch vergebene IP‘s besitzt, und so jedesmal die Mask ändern müsste. Meiner Meinung nach sollte die Telnet Unterstützung ganz deaktiviert werden um ein höchstes Maß an Sicherheit zu garantieren.
Benutze einen guten Schutz vor floods:
Manche Leute denke, dass Eggdrop gegen alles geschützt ist aber das stimmt natürlich nicht. Wenn man die Flood Optionen zu großzügig einstellt ist er gegen ctcp Floods sehr verwundbar. Frühere Versionen hatten Probleme mit falschen Usernamen und wenn man kick-fun oder kick-bogus aktiviert kann es zu großen Problemen führen. Eggdrop 1.3.26 und neuere Versionen haben die ctcp-mode Option über die man einstellen kann auf welche ctcp Anfragen der Bot antworten soll, die global-flood-ctcp Option sollte auch geprüft werden.
Für einen besseren Flood-Schutz sollte man ein anti Flood und ein Chanlimit.tcl installieren.
Denial of Service Angriffe:
Denial of Service Angriffe sind direkt gegen den Shell Server gerichtet auf dem der Bot läuft. Diese Attacken verlangsamen meistens die Internet Verbindung des Servers, so dass der Bot nicht mehr im IRC bleibt. Leider kann man gegen solche Angriffe wenig unternehmen, da es ganz von dem Server abhängt ob er den Angriff aushällt. Eine der wenigen Möglichkeiten sind Firewalls aber die helfen auch nicht gegen sehr schwere Floods, deswegen haben große Channels Bots von vielen verschiedenen Servern zu laufen, welche untereinander im sogenannten Botnet verbunden sind und so noch unabhängig arbeiten können und immer ins IRC connected sind.
Shell Sicherheit:
Da regelmäßig Fehler in Programmen für Unix/Linux oder direkt im Kernel gefunden werden, gibt es immer ein Risiko, dass ein Server gehackt wird. Wenn das passiert kann der Angreifer owner auf einem Bot dieses Servers bekommen und so Channels besetzen.
Leider gibt es auch hier nicht viel was man unternehmen kann, man kann sich aber einen Shell Provider suchen der es mit der Sicherheit seiner Shell Server genau nimmt und so das Risiko verringern.
Private Server sind oft sicherer da sie unbekannter sind und weniger Leute Accounts auf ihnen haben.